diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..eb655f6 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,46 @@ +plugins { + id("elex-springboot") + id("org.springframework.boot") version "2.4.2" + id("io.spring.dependency-management") version "1.0.11.RELEASE" + id("org.asciidoctor.convert") version "1.5.8" +} + +group = "com.elex-project" +version = "0.0.1-SNAPSHOT" +description = "" + +ext { + set("snippetsDir", file("build/generated-snippets")) +} +springBoot{ + buildInfo() +} + +tasks.test { + outputs.dir(ext.get("snippetsDir")!!) +} +tasks.asciidoctor { + inputs.dir(ext.get("snippetsDir")!!) + setDependsOn(mutableListOf("test")) +} + +dependencies { + //implementation("org.springframework.boot:spring-boot-starter-data-jpa") + implementation("org.springframework.boot:spring-boot-starter-mustache") + //implementation("org.springframework.boot:spring-boot-starter-security") + implementation("org.springframework.boot:spring-boot-starter-web") + + //implementation ("com.fasterxml.jackson.dataformat:jackson-dataformat-xml") + //implementation ("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") + + compileOnly("org.projectlombok:lombok") + developmentOnly("org.springframework.boot:spring-boot-devtools") + //runtimeOnly("org.mariadb.jdbc:mariadb-java-client") + + annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") + annotationProcessor("org.projectlombok:lombok") + + testImplementation("org.springframework.boot:spring-boot-starter-test") + testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc") + //testImplementation("org.springframework.security:spring-security-test") +} diff --git a/src/main/java/com/elex_project/freesia/Application.java b/app/src/main/java/com/elex_project/freesia/Application.java similarity index 100% rename from src/main/java/com/elex_project/freesia/Application.java rename to app/src/main/java/com/elex_project/freesia/Application.java diff --git a/src/main/java/com/elex_project/freesia/Config.java b/app/src/main/java/com/elex_project/freesia/Config.java similarity index 100% rename from src/main/java/com/elex_project/freesia/Config.java rename to app/src/main/java/com/elex_project/freesia/Config.java diff --git a/src/main/java/com/elex_project/freesia/controller/Home.java b/app/src/main/java/com/elex_project/freesia/controller/Home.java similarity index 100% rename from src/main/java/com/elex_project/freesia/controller/Home.java rename to app/src/main/java/com/elex_project/freesia/controller/Home.java diff --git a/src/main/java/com/elex_project/freesia/controller/package-info.java b/app/src/main/java/com/elex_project/freesia/controller/package-info.java similarity index 100% rename from src/main/java/com/elex_project/freesia/controller/package-info.java rename to app/src/main/java/com/elex_project/freesia/controller/package-info.java diff --git a/src/main/java/com/elex_project/freesia/model/package-info.java b/app/src/main/java/com/elex_project/freesia/model/package-info.java similarity index 100% rename from src/main/java/com/elex_project/freesia/model/package-info.java rename to app/src/main/java/com/elex_project/freesia/model/package-info.java diff --git a/src/main/java/com/elex_project/freesia/package-info.java b/app/src/main/java/com/elex_project/freesia/package-info.java similarity index 100% rename from src/main/java/com/elex_project/freesia/package-info.java rename to app/src/main/java/com/elex_project/freesia/package-info.java diff --git a/src/main/java/com/elex_project/freesia/view/package-info.java b/app/src/main/java/com/elex_project/freesia/view/package-info.java similarity index 100% rename from src/main/java/com/elex_project/freesia/view/package-info.java rename to app/src/main/java/com/elex_project/freesia/view/package-info.java diff --git a/src/main/resources/application.yaml b/app/src/main/resources/application.yaml similarity index 100% rename from src/main/resources/application.yaml rename to app/src/main/resources/application.yaml diff --git a/src/main/resources/banner.txt b/app/src/main/resources/banner.txt similarity index 100% rename from src/main/resources/banner.txt rename to app/src/main/resources/banner.txt diff --git a/src/main/resources/logback-spring.xml b/app/src/main/resources/logback-spring.xml similarity index 100% rename from src/main/resources/logback-spring.xml rename to app/src/main/resources/logback-spring.xml diff --git a/src/main/resources/templates/fragments/a.mustache b/app/src/main/resources/templates/fragments/a.mustache similarity index 100% rename from src/main/resources/templates/fragments/a.mustache rename to app/src/main/resources/templates/fragments/a.mustache diff --git a/src/main/resources/templates/home.mustache b/app/src/main/resources/templates/home.mustache similarity index 100% rename from src/main/resources/templates/home.mustache rename to app/src/main/resources/templates/home.mustache diff --git a/src/test/java/com/elex_project/freesia/ApplicationTest.java b/app/src/test/java/com/elex_project/freesia/ApplicationTest.java similarity index 100% rename from src/test/java/com/elex_project/freesia/ApplicationTest.java rename to app/src/test/java/com/elex_project/freesia/ApplicationTest.java diff --git a/build.gradle.kts b/build.gradle.kts index 44c2343..753152d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,98 +1,4 @@ plugins { - id("org.springframework.boot") version "2.4.2" - id("io.spring.dependency-management") version "1.0.11.RELEASE" - id("org.asciidoctor.convert") version "1.5.8" - java id("com.github.ben-manes.versions") version "0.36.0" -} - -group = "com.elex-project" -version = "0.0.1-SNAPSHOT" -description = "" - -java { - withSourcesJar() - withJavadocJar() - sourceCompatibility = org.gradle.api.JavaVersion.VERSION_11 - targetCompatibility = org.gradle.api.JavaVersion.VERSION_11 -} - -configurations { - compileOnly { - extendsFrom(annotationProcessor.get()) - } - testCompileOnly { - extendsFrom(testAnnotationProcessor.get()) - } -} -repositories { - maven { - url = uri("https://repository.elex-project.com/repository/maven") - } -} -tasks.jar { - manifest { - attributes( - mapOf( - "Implementation-Title" to project.name, - "Implementation-Version" to project.version, - "Implementation-Vendor" to "ELEX co.,pte.", - "Automatic-Module-Name" to "com.elex_project.freesia" - ) - ) - } -} -ext { - set("snippetsDir", file("build/generated-snippets")) -} -springBoot{ - buildInfo() -} -tasks.compileJava { - options.encoding = "UTF-8" -} - -tasks.compileTestJava { - options.encoding = "UTF-8" -} - -tasks.test { - useJUnitPlatform() - outputs.dir(ext.get("snippetsDir")!!) -} -tasks.asciidoctor { - inputs.dir(ext.get("snippetsDir")!!) - setDependsOn(mutableListOf("test")) -} -tasks.javadoc { - if (JavaVersion.current().isJava9Compatible) { - (options as StandardJavadocDocletOptions).addBooleanOption("html5", true) - } - (options as StandardJavadocDocletOptions).encoding = "UTF-8" - (options as StandardJavadocDocletOptions).charSet = "UTF-8" - (options as StandardJavadocDocletOptions).docEncoding = "UTF-8" } -dependencies { - implementation("org.slf4j:slf4j-api:1.7.30") - implementation("org.jetbrains:annotations:20.1.0") - - //implementation("org.springframework.boot:spring-boot-starter-data-jpa") - implementation("org.springframework.boot:spring-boot-starter-mustache") - //implementation("org.springframework.boot:spring-boot-starter-security") - implementation("org.springframework.boot:spring-boot-starter-web") - - //implementation ("com.fasterxml.jackson.dataformat:jackson-dataformat-xml") - //implementation ("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") - - compileOnly("org.projectlombok:lombok") - developmentOnly("org.springframework.boot:spring-boot-devtools") - //runtimeOnly("org.mariadb.jdbc:mariadb-java-client") - - annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") - annotationProcessor("org.projectlombok:lombok") - - testImplementation("org.springframework.boot:spring-boot-starter-test") - testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc") - //testImplementation("org.springframework.security:spring-security-test") -} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000..70b2036 --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,13 @@ +/* + * Project Freesia + * + * Copyright (c) 2021. Elex. All Rights Reserved. + * https://www.elex-project.com/ + */ + +plugins{ + `kotlin-dsl` +} +repositories { + gradlePluginPortal() +} diff --git a/buildSrc/src/main/kotlin/elex-base.gradle.kts b/buildSrc/src/main/kotlin/elex-base.gradle.kts new file mode 100644 index 0000000..3d1ccc9 --- /dev/null +++ b/buildSrc/src/main/kotlin/elex-base.gradle.kts @@ -0,0 +1,67 @@ +import org.gradle.kotlin.dsl.repositories + +/* + * Project Freesia + * + * Copyright (c) 2021. Elex. All Rights Reserved. + * https://www.elex-project.com/ + */ + +plugins{ + java +} +java { + withSourcesJar() + withJavadocJar() + sourceCompatibility = org.gradle.api.JavaVersion.VERSION_11 + targetCompatibility = org.gradle.api.JavaVersion.VERSION_11 +} + +configurations { + compileOnly { + extendsFrom(annotationProcessor.get()) + } + testCompileOnly { + extendsFrom(testAnnotationProcessor.get()) + } +} +repositories { + maven { + url = uri("https://repository.elex-project.com/repository/maven") + } +} +tasks.jar { + manifest { + attributes( + mapOf( + "Implementation-Title" to project.name, + "Implementation-Version" to project.version, + "Implementation-Vendor" to "ELEX co.,pte.", + "Automatic-Module-Name" to "com.elex_project.freesia" + ) + ) + } +} +tasks.compileJava { + options.encoding = "UTF-8" +} + +tasks.compileTestJava { + options.encoding = "UTF-8" +} +tasks.test { + useJUnitPlatform() +} +tasks.javadoc { + if (JavaVersion.current().isJava9Compatible) { + (options as StandardJavadocDocletOptions).addBooleanOption("html5", true) + } + (options as StandardJavadocDocletOptions).encoding = "UTF-8" + (options as StandardJavadocDocletOptions).charSet = "UTF-8" + (options as StandardJavadocDocletOptions).docEncoding = "UTF-8" + +} +dependencies { + implementation("org.slf4j:slf4j-api:1.7.30") + implementation("org.jetbrains:annotations:20.1.0") +} diff --git a/buildSrc/src/main/kotlin/elex-springboot.gradle.kts b/buildSrc/src/main/kotlin/elex-springboot.gradle.kts new file mode 100644 index 0000000..2282efd --- /dev/null +++ b/buildSrc/src/main/kotlin/elex-springboot.gradle.kts @@ -0,0 +1,4 @@ +plugins{ + id("elex-base") + +} diff --git a/settings.gradle.kts b/settings.gradle.kts index ce8e05f..1cf873d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1,2 @@ rootProject.name = "freesia" +include("app")