From 0bc04eb7ace6ebddb09348673fd9ee056f3072a8 Mon Sep 17 00:00:00 2001 From: Jiwondev Date: Thu, 4 Jan 2024 00:23:18 +0900 Subject: [PATCH 1/9] =?UTF-8?q?build/#131:=20=EC=B5=9C=EC=83=81=EC=9C=84?= =?UTF-8?q?=20build.gradle=20=EC=9D=84=20kts=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?,=20=EC=82=AC=EC=9A=A9=ED=95=98=EC=A7=80=20=EC=95=8A=EB=8A=94?= =?UTF-8?q?=20purchase=20=EB=AA=A8=EB=93=88=20=EC=A0=9C=EA=B1=B0,?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Readme.md | 1 - account-api/account-application/build.gradle | 3 - account-api/account-domain/build.gradle | 10 +- .../account-infrastructure/build.gradle | 10 +- account-api/account-presentation/build.gradle | 3 - app/build.gradle | 14 -- build.gradle | 49 ---- build.gradle.kts | 216 ++++++++++++++++++ buildSrc/main/kotlin/Version.kt | 1 + common/build.gradle | 6 +- .../notification-application/build.gradle | 3 - .../notification-domain/build.gradle | 10 +- .../notification-infrastructure/build.gradle | 4 - .../notification-presentation/build.gradle | 4 - order-api/order-application/build.gradle | 4 - order-api/order-domain/build.gradle | 10 +- order-api/order-infrastructure/build.gradle | 3 - order-api/order-presentation/build.gradle | 4 - payment-api/payment-application/build.gradle | 3 - payment-api/payment-domain/build.gradle | 10 +- .../payment-infrastructure/build.gradle | 3 - payment-api/payment-presentation/build.gradle | 4 - product-api/product-application/build.gradle | 3 - product-api/product-domain/build.gradle | 10 +- .../product-infrastructure/build.gradle | 3 - product-api/product-presentation/build.gradle | 4 - .../purchase-application/build.gradle | 0 purchase-api/purchase-domain/build.gradle | 0 .../purchase-infrastructure/build.gradle | 0 .../movieon/purchase/infrastructure/empty.txt | 0 .../purchase-presentation/build.gradle | 0 .../movieon/purchase/presentation/empty.txt | 0 query-api/build.gradle | 4 - settings.gradle | 7 - 34 files changed, 248 insertions(+), 158 deletions(-) delete mode 100644 build.gradle create mode 100644 build.gradle.kts create mode 100644 buildSrc/main/kotlin/Version.kt delete mode 100644 purchase-api/purchase-application/build.gradle delete mode 100644 purchase-api/purchase-domain/build.gradle delete mode 100644 purchase-api/purchase-infrastructure/build.gradle delete mode 100644 purchase-api/purchase-infrastructure/src/main/java/kr/flab/movieon/purchase/infrastructure/empty.txt delete mode 100644 purchase-api/purchase-presentation/build.gradle delete mode 100644 purchase-api/purchase-presentation/src/main/java/kr/flab/movieon/purchase/presentation/empty.txt diff --git a/Readme.md b/Readme.md index 59a88ba2..f74bb42f 100644 --- a/Readme.md +++ b/Readme.md @@ -45,7 +45,6 @@ Modular Monolithic 아키텍처이므로, 다음과 같은 모듈들로 구성 | Payment-Api | 주문한 상품에 대한 결제 처리 및 취소를 담당하는 모듈입니다. | | Product-Api | 상품을 관리하고 사용자에게 노출하는 기능을 담당하는 모듈입니다. | | Point-Api | (추가예정) | -| Purchase-Api | (대체예정) | 각 도메인 모듈은 하위에 아래와 같이 Layered Architecture 형식의 Build Artifacts로 분리되어 구성됩니다. diff --git a/account-api/account-application/build.gradle b/account-api/account-application/build.gradle index d18e3d24..93b001a5 100644 --- a/account-api/account-application/build.gradle +++ b/account-api/account-application/build.gradle @@ -9,6 +9,3 @@ dependencies { implementation "org.springframework.boot:spring-boot-starter-data-jpa" } -tasks.getByName('bootJar') { - enabled = false -} diff --git a/account-api/account-domain/build.gradle b/account-api/account-domain/build.gradle index 05e7f297..82ab8ed3 100644 --- a/account-api/account-domain/build.gradle +++ b/account-api/account-domain/build.gradle @@ -1,8 +1,8 @@ dependencies { implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:2.2.3" - implementation "org.hibernate:hibernate-core:6.2.6.Final" - testImplementation "org.assertj:assertj-core:${ASSERTJ_VERSION}" - testImplementation "org.junit.jupiter:junit-jupiter-api:${JUNIT_JUPITER_VERSION}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${JUNIT_JUPITER_VERSION}" + implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" + implementation "org.hibernate:hibernate-core:6.3.2.Final" + testImplementation "org.assertj:assertj-core" + testImplementation "org.junit.jupiter:junit-jupiter-api" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" } diff --git a/account-api/account-infrastructure/build.gradle b/account-api/account-infrastructure/build.gradle index f657ee40..dd01791e 100644 --- a/account-api/account-infrastructure/build.gradle +++ b/account-api/account-infrastructure/build.gradle @@ -6,16 +6,12 @@ plugins { dependencies { implementation project(":account-api:account-domain") implementation project(":common") - implementation "io.jsonwebtoken:jjwt-api:${JJWT_VERSION}" - implementation "io.jsonwebtoken:jjwt-impl:${JJWT_VERSION}" - implementation "io.jsonwebtoken:jjwt-jackson:${JJWT_VERSION}" + implementation "io.jsonwebtoken:jjwt-api:0.12.3" + implementation "io.jsonwebtoken:jjwt-impl:0.12.3" + implementation "io.jsonwebtoken:jjwt-jackson:0.12.3" implementation "org.springframework.boot:spring-boot-starter-web" implementation "org.springframework.boot:spring-boot-starter-data-jpa" implementation "org.springframework.boot:spring-boot-starter-security" testImplementation "org.springframework.boot:spring-boot-starter-test" annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" } - -tasks.getByName('bootJar') { - enabled = false -} diff --git a/account-api/account-presentation/build.gradle b/account-api/account-presentation/build.gradle index 4d4113d9..b663d749 100644 --- a/account-api/account-presentation/build.gradle +++ b/account-api/account-presentation/build.gradle @@ -14,6 +14,3 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-test" } -tasks.getByName('bootJar') { - enabled = false -} diff --git a/app/build.gradle b/app/build.gradle index 2fd4a096..b92100df 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -49,17 +49,3 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-test" } -tasks.getByName('bootJar') { - enabled = true -} - -tasks.getByName('jar') { - enabled = false -} - -tasks.register('integrationTest', Test) { - group = 'verification' - useJUnitPlatform { - includeTags('integration') - } -} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 487c2d5e..00000000 --- a/build.gradle +++ /dev/null @@ -1,49 +0,0 @@ -apply from: "$project.rootDir/gradle/scripts/test-aggregator.gradle" - -allprojects { - repositories { - mavenCentral() - } -} - -subprojects { - apply plugin: "java" - apply plugin: "java-library" - apply plugin: "checkstyle" - - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - - ext { - HIBERNATE_VERSION = "5.6.10.Final" - JUNIT_JUPITER_VERSION = "5.8.2" - JJWT_VERSION = "0.11.5" - ASSERTJ_VERSION = "3.22.0" - } - - group = projectGroups - version = applicationVersion - - dependencies { - implementation "org.slf4j:slf4j-api:2.0.7" - } - - tasks.getByName("jar") { - enabled = true - } - - tasks.named("test") { - useJUnitPlatform { - excludeTags('integration') - } - } - - checkstyle { - configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml") - configProperties = ["suppressionFile": "${project.rootDir}/config/checkstyle/checkstyle/checkstyle-suppressions.xml"] - toolVersion = "8.40" - ignoreFailures = false - maxErrors = 0 - maxWarnings = 0 - } -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000..07bcd249 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,216 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.springframework.boot.gradle.dsl.SpringBootExtension + +buildscript { + repositories { + maven("https://plugins.gradle.org/m2/") + mavenCentral() + } + + dependencies { + classpath("org.yaml:snakeyaml:1.28") + classpath("org.jetbrains.kotlin:kotlin-allopen:1.8.20") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0-RC2") + } +} + +plugins { + id("org.springframework.boot") version "3.1.2" + id("io.spring.dependency-management") version "1.1.2" + id("org.jetbrains.kotlin.plugin.allopen") version "1.8.20" + id("org.jetbrains.kotlin.plugin.noarg") version "1.8.20" + jacoco + idea + + kotlin("jvm") version "1.8.20" + kotlin("plugin.spring") version "1.8.20" + kotlin("plugin.jpa") version "1.8.20" + kotlin("kapt") version "1.8.20" +} + +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 +} + +configurations { + compileOnly { + extendsFrom(configurations.annotationProcessor.get()) + } +} + +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +allprojects { + repositories { + maven("https://plugins.gradle.org/m2/") + mavenCentral() + } +} + +subprojects { + pluginManager.withPlugin("org.springframework.boot") { + configure { + mainClass.set("kr.flab.movieon.MovieOnApplication") + } + } + + apply { + plugin("kotlin") + plugin("io.spring.dependency-management") + plugin("org.springframework.boot") + plugin("kotlin-spring") // instead of "kotlin-allopen" + plugin("kotlin-jpa") + plugin("kotlin-kapt") + plugin("kotlin-noarg") + plugin("jacoco") + plugin("idea") + } + + noArg { + annotation("com.kidsworld.core.annotation.NoArgsConstructor") + } + + dependencies { + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + implementation("org.springframework.boot:spring-boot-starter-actuator") + + implementation("com.fasterxml.jackson.module:jackson-module-kotlin") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + implementation("au.com.console:kassava:2.0.0") + implementation("net.logstash.logback:logstash-logback-encoder:7.2") + + testImplementation("org.springframework.boot:spring-boot-starter-test") + testImplementation("io.kotest:kotest-runner-junit5:5.5.4") + testImplementation("io.kotest:kotest-assertions-core:5.5.4") + testImplementation("io.kotest.extensions:kotest-extensions-spring:1.1.2") + testImplementation("io.mockk:mockk:1.12.0") + } + + tasks.withType { + kotlinOptions { + freeCompilerArgs = listOf("-Xjsr305=strict") + jvmTarget = "17" + } + } + + sourceSets { + create("intTest") { + compileClasspath += sourceSets.main.get().output + sourceSets.test.get().output + runtimeClasspath += sourceSets.main.get().output + sourceSets.test.get().output + + resources.srcDir(file("src/intTest/resources")) + } + } + + tasks.withType { + // 동일한 파일(main/resources/application.yaml, intTest/resources/application.yaml)이 있어서, 리소스 복사할 때 충돌 회피 + duplicatesStrategy = org.gradle.api.file.DuplicatesStrategy.INCLUDE + } + + val intTestImplementation: Configuration by configurations.getting { + extendsFrom(configurations.implementation.get(), configurations.testImplementation.get()) + } + + configurations["intTestImplementation"].extendsFrom(configurations.testImplementation.get()) + + tasks.withType { + useJUnitPlatform() + } + + tasks.test { + extensions.configure(JacocoTaskExtension::class) { + setDestinationFile(file("$buildDir/jacoco/jacoco.exec")) + } + + reports { + html.required.set(true) + junitXml.required.set(true) + } + + finalizedBy("integrationTest") + } + + val integrationTest = task("integrationTest") { + description = "Runs integration tests." + group = "verification" + + testClassesDirs = sourceSets["intTest"].output.classesDirs + classpath = sourceSets["intTest"].runtimeClasspath + + maxParallelForks = 1 + + reports { + html.required.set(true) + junitXml.required.set(true) + } + + extensions.configure(JacocoTaskExtension::class) { + setDestinationFile(file("$buildDir/jacoco/jacoco-integration.exec")) + } + + shouldRunAfter("test") + finalizedBy("jacocoTestReport") + } + + tasks.jacocoTestReport { + reports { + xml.required.set(true) + xml.outputLocation.set(file("$buildDir/reports/tests/jacoco.xml")) + } + + shouldRunAfter("integrationTest") + } + + configure { + toolVersion = "0.8.7" + } + + tasks.withType { + violationRules { + rule { + element = "BUNDLE" + + limit { + counter = "BRANCH" + value = "COVEREDRATIO" + minimum = "0.0".toBigDecimal() + } + } + } + } +} + +jacoco { + toolVersion = "0.8.7" +} + +task("jacocoRootReport") { + dependsOn(subprojects.map { it.tasks.withType() }) + sourceDirectories.setFrom( + subprojects.map { + it.tasks.findByName("jacocoTestReport")!!.property("sourceDirectories") + }, + ) + classDirectories.setFrom(subprojects.map { it.tasks.findByName("jacocoTestReport")!!.property("classDirectories") }) + executionData.setFrom( + project.fileTree(".") { + include("**/build/jacoco/**.exec") + }, + ) + onlyIf { + true + } + reports { + xml.required.set(true) + html.required.set(true) + } +} diff --git a/buildSrc/main/kotlin/Version.kt b/buildSrc/main/kotlin/Version.kt new file mode 100644 index 00000000..3cd3f030 --- /dev/null +++ b/buildSrc/main/kotlin/Version.kt @@ -0,0 +1 @@ +object Version diff --git a/common/build.gradle b/common/build.gradle index 248482a8..10da2f5a 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,4 +1,4 @@ dependencies { - testImplementation "org.junit.jupiter:junit-jupiter-api:${JUNIT_JUPITER_VERSION}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${JUNIT_JUPITER_VERSION}" -} \ No newline at end of file + testImplementation "org.junit.jupiter:junit-jupiter-api" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" +} diff --git a/notification-api/notification-application/build.gradle b/notification-api/notification-application/build.gradle index ca1c4211..fba51dbb 100644 --- a/notification-api/notification-application/build.gradle +++ b/notification-api/notification-application/build.gradle @@ -11,6 +11,3 @@ dependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test' } -tasks.getByName('bootJar') { - enabled = false -} diff --git a/notification-api/notification-domain/build.gradle b/notification-api/notification-domain/build.gradle index 05e7f297..82ab8ed3 100644 --- a/notification-api/notification-domain/build.gradle +++ b/notification-api/notification-domain/build.gradle @@ -1,8 +1,8 @@ dependencies { implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:2.2.3" - implementation "org.hibernate:hibernate-core:6.2.6.Final" - testImplementation "org.assertj:assertj-core:${ASSERTJ_VERSION}" - testImplementation "org.junit.jupiter:junit-jupiter-api:${JUNIT_JUPITER_VERSION}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${JUNIT_JUPITER_VERSION}" + implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" + implementation "org.hibernate:hibernate-core:6.3.2.Final" + testImplementation "org.assertj:assertj-core" + testImplementation "org.junit.jupiter:junit-jupiter-api" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" } diff --git a/notification-api/notification-infrastructure/build.gradle b/notification-api/notification-infrastructure/build.gradle index 7d5ab8e4..ef090556 100644 --- a/notification-api/notification-infrastructure/build.gradle +++ b/notification-api/notification-infrastructure/build.gradle @@ -15,7 +15,3 @@ dependencies { implementation "org.springframework.boot:spring-boot-starter-thymeleaf" testImplementation "org.springframework.boot:spring-boot-starter-test" } - -tasks.getByName('bootJar') { - enabled = false -} diff --git a/notification-api/notification-presentation/build.gradle b/notification-api/notification-presentation/build.gradle index 546a4ed1..54e3ccc2 100644 --- a/notification-api/notification-presentation/build.gradle +++ b/notification-api/notification-presentation/build.gradle @@ -13,7 +13,3 @@ dependencies { testImplementation "org.springframework.security:spring-security-test" testImplementation "org.springframework.boot:spring-boot-starter-test" } - -tasks.getByName('bootJar') { - enabled = false -} diff --git a/order-api/order-application/build.gradle b/order-api/order-application/build.gradle index f152e500..c2456b5f 100644 --- a/order-api/order-application/build.gradle +++ b/order-api/order-application/build.gradle @@ -11,7 +11,3 @@ dependencies { implementation "org.springframework.boot:spring-boot-starter-data-jpa" testImplementation "org.springframework.boot:spring-boot-starter-test" } - -tasks.getByName('bootJar') { - enabled = false -} diff --git a/order-api/order-domain/build.gradle b/order-api/order-domain/build.gradle index 05e7f297..82ab8ed3 100644 --- a/order-api/order-domain/build.gradle +++ b/order-api/order-domain/build.gradle @@ -1,8 +1,8 @@ dependencies { implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:2.2.3" - implementation "org.hibernate:hibernate-core:6.2.6.Final" - testImplementation "org.assertj:assertj-core:${ASSERTJ_VERSION}" - testImplementation "org.junit.jupiter:junit-jupiter-api:${JUNIT_JUPITER_VERSION}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${JUNIT_JUPITER_VERSION}" + implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" + implementation "org.hibernate:hibernate-core:6.3.2.Final" + testImplementation "org.assertj:assertj-core" + testImplementation "org.junit.jupiter:junit-jupiter-api" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" } diff --git a/order-api/order-infrastructure/build.gradle b/order-api/order-infrastructure/build.gradle index 1cdd25b0..37d3c473 100644 --- a/order-api/order-infrastructure/build.gradle +++ b/order-api/order-infrastructure/build.gradle @@ -12,6 +12,3 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-test" } -tasks.getByName('bootJar') { - enabled = false -} diff --git a/order-api/order-presentation/build.gradle b/order-api/order-presentation/build.gradle index 59285f1e..4b652efd 100644 --- a/order-api/order-presentation/build.gradle +++ b/order-api/order-presentation/build.gradle @@ -13,7 +13,3 @@ dependencies { testImplementation "org.springframework.security:spring-security-test" testImplementation "org.springframework.boot:spring-boot-starter-test" } - -tasks.getByName('bootJar') { - enabled = false -} diff --git a/payment-api/payment-application/build.gradle b/payment-api/payment-application/build.gradle index 5473ed37..9e4f8b83 100644 --- a/payment-api/payment-application/build.gradle +++ b/payment-api/payment-application/build.gradle @@ -11,6 +11,3 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-test" } -tasks.getByName('bootJar') { - enabled = false -} diff --git a/payment-api/payment-domain/build.gradle b/payment-api/payment-domain/build.gradle index 05e7f297..2c972826 100644 --- a/payment-api/payment-domain/build.gradle +++ b/payment-api/payment-domain/build.gradle @@ -1,8 +1,8 @@ dependencies { implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:2.2.3" - implementation "org.hibernate:hibernate-core:6.2.6.Final" - testImplementation "org.assertj:assertj-core:${ASSERTJ_VERSION}" - testImplementation "org.junit.jupiter:junit-jupiter-api:${JUNIT_JUPITER_VERSION}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${JUNIT_JUPITER_VERSION}" + implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" + implementation "org.hibernate:hibernate-core:6.3.2.Final" + testImplementation "org.assertj:assertj-core:" + testImplementation "org.junit.jupiter:junit-jupiter-api" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" } diff --git a/payment-api/payment-infrastructure/build.gradle b/payment-api/payment-infrastructure/build.gradle index 91f32476..71f4168b 100644 --- a/payment-api/payment-infrastructure/build.gradle +++ b/payment-api/payment-infrastructure/build.gradle @@ -19,6 +19,3 @@ dependencies { annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" } -tasks.getByName('bootJar') { - enabled = false -} diff --git a/payment-api/payment-presentation/build.gradle b/payment-api/payment-presentation/build.gradle index 462b3724..dcb1a1db 100644 --- a/payment-api/payment-presentation/build.gradle +++ b/payment-api/payment-presentation/build.gradle @@ -13,7 +13,3 @@ dependencies { testImplementation "org.springframework.security:spring-security-test" testImplementation "org.springframework.boot:spring-boot-starter-test" } - -tasks.getByName('bootJar') { - enabled = false -} diff --git a/product-api/product-application/build.gradle b/product-api/product-application/build.gradle index 1dfb234f..7af7d30f 100644 --- a/product-api/product-application/build.gradle +++ b/product-api/product-application/build.gradle @@ -13,6 +13,3 @@ dependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test' } -tasks.getByName('bootJar') { - enabled = false -} diff --git a/product-api/product-domain/build.gradle b/product-api/product-domain/build.gradle index 05e7f297..82ab8ed3 100644 --- a/product-api/product-domain/build.gradle +++ b/product-api/product-domain/build.gradle @@ -1,8 +1,8 @@ dependencies { implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:2.2.3" - implementation "org.hibernate:hibernate-core:6.2.6.Final" - testImplementation "org.assertj:assertj-core:${ASSERTJ_VERSION}" - testImplementation "org.junit.jupiter:junit-jupiter-api:${JUNIT_JUPITER_VERSION}" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${JUNIT_JUPITER_VERSION}" + implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" + implementation "org.hibernate:hibernate-core:6.3.2.Final" + testImplementation "org.assertj:assertj-core" + testImplementation "org.junit.jupiter:junit-jupiter-api" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" } diff --git a/product-api/product-infrastructure/build.gradle b/product-api/product-infrastructure/build.gradle index c4600485..59a70037 100644 --- a/product-api/product-infrastructure/build.gradle +++ b/product-api/product-infrastructure/build.gradle @@ -12,6 +12,3 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-test" } -tasks.getByName('bootJar') { - enabled = false -} diff --git a/product-api/product-presentation/build.gradle b/product-api/product-presentation/build.gradle index 9f396380..00aae99a 100644 --- a/product-api/product-presentation/build.gradle +++ b/product-api/product-presentation/build.gradle @@ -14,7 +14,3 @@ dependencies { testImplementation "org.springframework.security:spring-security-test" testImplementation "org.springframework.boot:spring-boot-starter-test" } - -tasks.getByName('bootJar') { - enabled = false -} diff --git a/purchase-api/purchase-application/build.gradle b/purchase-api/purchase-application/build.gradle deleted file mode 100644 index e69de29b..00000000 diff --git a/purchase-api/purchase-domain/build.gradle b/purchase-api/purchase-domain/build.gradle deleted file mode 100644 index e69de29b..00000000 diff --git a/purchase-api/purchase-infrastructure/build.gradle b/purchase-api/purchase-infrastructure/build.gradle deleted file mode 100644 index e69de29b..00000000 diff --git a/purchase-api/purchase-infrastructure/src/main/java/kr/flab/movieon/purchase/infrastructure/empty.txt b/purchase-api/purchase-infrastructure/src/main/java/kr/flab/movieon/purchase/infrastructure/empty.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/purchase-api/purchase-presentation/build.gradle b/purchase-api/purchase-presentation/build.gradle deleted file mode 100644 index e69de29b..00000000 diff --git a/purchase-api/purchase-presentation/src/main/java/kr/flab/movieon/purchase/presentation/empty.txt b/purchase-api/purchase-presentation/src/main/java/kr/flab/movieon/purchase/presentation/empty.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/query-api/build.gradle b/query-api/build.gradle index 0d9985be..6548bdc0 100644 --- a/query-api/build.gradle +++ b/query-api/build.gradle @@ -12,7 +12,3 @@ dependencies { implementation "org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.2" testImplementation "org.springframework.boot:spring-boot-starter-test" } - -tasks.getByName('bootJar') { - enabled = false -} diff --git a/settings.gradle b/settings.gradle index f76cf381..20fe5af4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,13 +1,6 @@ rootProject.name = 'MovieOn' include 'app' include 'common' -include ( - 'purchase-api', - 'purchase-api:purchase-presentation', - 'purchase-api:purchase-application', - 'purchase-api:purchase-domain', - 'purchase-api:purchase-infrastructure', -) include ( 'product-api', 'product-api:product-presentation', From 4ef469ac546e56719986214060b4d9ac0ecb1ed0 Mon Sep 17 00:00:00 2001 From: Jiwondev Date: Thu, 4 Jan 2024 00:23:41 +0900 Subject: [PATCH 2/9] =?UTF-8?q?fix/#131:=20deprecated=20jwt=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jwt/impl/JwtTokenParser.java | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/account-api/account-infrastructure/src/main/java/kr/flab/movieon/account/infrastructure/jwt/impl/JwtTokenParser.java b/account-api/account-infrastructure/src/main/java/kr/flab/movieon/account/infrastructure/jwt/impl/JwtTokenParser.java index 7d494ecf..41bbe214 100644 --- a/account-api/account-infrastructure/src/main/java/kr/flab/movieon/account/infrastructure/jwt/impl/JwtTokenParser.java +++ b/account-api/account-infrastructure/src/main/java/kr/flab/movieon/account/infrastructure/jwt/impl/JwtTokenParser.java @@ -1,15 +1,7 @@ package kr.flab.movieon.account.infrastructure.jwt.impl; -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.ExpiredJwtException; -import io.jsonwebtoken.Jws; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.MalformedJwtException; -import io.jsonwebtoken.UnsupportedJwtException; +import io.jsonwebtoken.*; import io.jsonwebtoken.security.Keys; -import java.nio.charset.StandardCharsets; -import java.security.Key; -import java.util.List; import kr.flab.movieon.account.infrastructure.jwt.AlreadyTokenExpiredException; import kr.flab.movieon.account.infrastructure.jwt.RawToken; import kr.flab.movieon.account.infrastructure.jwt.TokenParser; @@ -18,6 +10,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.crypto.SecretKey; +import java.nio.charset.StandardCharsets; +import java.util.List; + public final class JwtTokenParser implements TokenParser { private final Logger log = LoggerFactory.getLogger(JwtTokenParser.class); @@ -31,17 +27,18 @@ public JwtTokenParser(TokenProperties tokenProperties) { @Override public RawToken parse(String token) { try { - Jws jwt = Jwts.parserBuilder() - .setSigningKey(getKey(tokenProperties.getBase64TokenSigningKey())) - .build() - .parseClaimsJws(token); + Jws jwt = Jwts.parser() + .verifyWith(getKey(tokenProperties.getBase64TokenSigningKey())) + .build() + .parseSignedClaims(token); + String jti = (String) jwt.getBody().get("jti"); if (jti == null) { - return new RawToken((String) jwt.getBody().get("email"), - (List) jwt.getBody().get("scopes")); + return new RawToken((String) jwt.getPayload().get("email"), + (List) jwt.getPayload().get("scopes")); } return new RawToken((String) jwt.getBody().get("email"), jti, - (List) jwt.getBody().get("scopes")); + (List) jwt.getPayload().get("scopes")); } catch (UnsupportedJwtException | MalformedJwtException | IllegalArgumentException ex) { log.error("Invalid JWT Token", ex); throw new InvalidTokenException(); @@ -51,7 +48,7 @@ public RawToken parse(String token) { } } - private Key getKey(String signKey) { + private SecretKey getKey(String signKey) { return Keys.hmacShaKeyFor(signKey.getBytes(StandardCharsets.UTF_8)); } } From acb5bc5528e3c6d65da6bb94a4501764afc00b1e Mon Sep 17 00:00:00 2001 From: Jiwondev Date: Thu, 4 Jan 2024 00:24:23 +0900 Subject: [PATCH 3/9] =?UTF-8?q?fix/#131:=20local=20embeddedRedis=EA=B0=80?= =?UTF-8?q?=20=EC=8B=A4=ED=96=89=EB=90=98=EC=A7=80=20=EC=95=8A=EB=8D=94?= =?UTF-8?q?=EB=9D=BC=EB=8F=84=20=EB=B9=8C=EB=93=9C=EA=B0=80=20=EC=84=B1?= =?UTF-8?q?=EA=B3=B5=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supports/EmbeddedRedisConfiguration.java | 30 +++++++--- .../kr/flab/movieon/supports/ProcessUtil.java | 58 +++++++++++++++++++ 2 files changed, 81 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/kr/flab/movieon/supports/ProcessUtil.java diff --git a/app/src/main/java/kr/flab/movieon/supports/EmbeddedRedisConfiguration.java b/app/src/main/java/kr/flab/movieon/supports/EmbeddedRedisConfiguration.java index d2f0b6b6..3d9216fc 100644 --- a/app/src/main/java/kr/flab/movieon/supports/EmbeddedRedisConfiguration.java +++ b/app/src/main/java/kr/flab/movieon/supports/EmbeddedRedisConfiguration.java @@ -2,31 +2,47 @@ import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; -import java.io.IOException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import redis.embedded.RedisServer; +import java.io.IOException; + @Profile({"test", "local"}) @Configuration public class EmbeddedRedisConfiguration { + private static final Logger log = LoggerFactory.getLogger(EmbeddedRedisConfiguration.class); + @Value("${spring.redis.port}") private int redisPort; private RedisServer redisServer; @PostConstruct - public void redisServer() throws IOException { - redisServer = RedisServer.builder() - .port(redisPort) - .build(); - redisServer.start(); + public void start() throws IOException { + if (ProcessUtil.isRunningPort(redisPort)) { + log.warn("Local embedded redis port is already used. Redis server did not start (port: {})", redisPort); + return; + } + + try { + redisServer = RedisServer.builder() + .port(redisPort) + .build(); + redisServer.start(); + log.info("Embedded Redis Server enabled http://localhost:{}", redisPort); + } catch (Exception ex) { + log.error("Failed to start Embedded Redis Server http://localhost:{}", redisPort, ex); + } + } @PreDestroy - public void stopRedis() { + public void stop() { if (redisServer != null) { redisServer.stop(); } diff --git a/app/src/main/java/kr/flab/movieon/supports/ProcessUtil.java b/app/src/main/java/kr/flab/movieon/supports/ProcessUtil.java new file mode 100644 index 00000000..1f5c763c --- /dev/null +++ b/app/src/main/java/kr/flab/movieon/supports/ProcessUtil.java @@ -0,0 +1,58 @@ +package kr.flab.movieon.supports; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Random; + +public class ProcessUtil { + private static final Logger log = LoggerFactory.getLogger(ProcessUtil.class); + + private ProcessUtil() { + } + + private static int getRandomPort() { + return new Random().nextInt(50000) + 10000; + } + + public static boolean isRunningPort(int port) throws IOException { + return isRunning(executeGrepProcessCommand(port)); + } + + public static int findAvailablePort() { + for (int i = 0; i < 1000; i++) { + try { + int port = getRandomPort(); + if (!isRunning(executeGrepProcessCommand(port))) { + return port; + } + } catch (IOException ex) { + log.error(ex.getMessage()); + } + } + throw new RuntimeException("Not Found Available port: 10000 ~ 65535"); + } + + private static boolean isRunning(Process p) { + StringBuilder pidInfo = new StringBuilder(); + String line; + try (BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) { + while ((line = input.readLine()) != null) { + pidInfo.append(line); + } + } catch (Exception ex) { + log.error(ex.getMessage()); + } + return StringUtils.hasText(pidInfo.toString()); + } + + private static Process executeGrepProcessCommand(int port) throws IOException { + String command = String.format("netstat -nat | grep LISTEN|grep %d", port); + String[] shell = {"/bin/sh", "-c", command}; + return Runtime.getRuntime().exec(shell); + } +} From 2f7ee4e914a85e0164b99c0dc630caabb87debb6 Mon Sep 17 00:00:00 2001 From: Jiwondev Date: Thu, 4 Jan 2024 02:26:32 +0900 Subject: [PATCH 4/9] =?UTF-8?q?build/#131:=20build.gradle=20->=20build.gra?= =?UTF-8?q?dle.kts=20=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- account-api/account-application/build.gradle | 11 ---- .../account-application/build.gradle.kts | 18 ++++++ account-api/account-domain/build.gradle | 8 --- account-api/account-domain/build.gradle.kts | 16 ++++++ .../account-infrastructure/build.gradle | 17 ------ .../account-infrastructure/build.gradle.kts | 25 +++++++++ account-api/account-presentation/build.gradle | 16 ------ .../account-presentation/build.gradle.kts | 23 ++++++++ app/build.gradle | 51 ----------------- app/build.gradle.kts | 56 +++++++++++++++++++ build.gradle.kts | 23 ++------ buildSrc/build.gradle.kts | 29 ++++++++++ buildSrc/main/kotlin/Version.kt | 4 +- common/build.gradle | 4 -- common/build.gradle.kts | 12 ++++ .../common/annotation/NoArgsConstructor.kt | 3 + gradle.properties | 4 +- .../notification-application/build.gradle | 13 ----- .../notification-application/build.gradle.kts | 20 +++++++ .../notification-domain/build.gradle | 8 --- .../notification-domain/build.gradle.kts | 16 ++++++ .../notification-infrastructure/build.gradle | 17 ------ .../build.gradle.kts | 25 +++++++++ .../notification-presentation/build.gradle | 15 ----- .../build.gradle.kts | 23 ++++++++ order-api/order-application/build.gradle | 13 ----- order-api/order-application/build.gradle.kts | 21 +++++++ order-api/order-domain/build.gradle | 8 --- order-api/order-domain/build.gradle.kts | 16 ++++++ order-api/order-infrastructure/build.gradle | 14 ----- .../order-infrastructure/build.gradle.kts | 21 +++++++ order-api/order-presentation/build.gradle | 15 ----- order-api/order-presentation/build.gradle.kts | 23 ++++++++ payment-api/payment-application/build.gradle | 13 ----- .../payment-application/build.gradle.kts | 20 +++++++ payment-api/payment-domain/build.gradle | 8 --- payment-api/payment-domain/build.gradle.kts | 16 ++++++ .../payment-infrastructure/build.gradle | 21 ------- .../payment-infrastructure/build.gradle.kts | 28 ++++++++++ payment-api/payment-presentation/build.gradle | 15 ----- .../payment-presentation/build.gradle.kts | 23 ++++++++ product-api/product-application/build.gradle | 15 ----- .../product-application/build.gradle.kts | 22 ++++++++ product-api/product-domain/build.gradle | 8 --- product-api/product-domain/build.gradle.kts | 16 ++++++ .../product-infrastructure/build.gradle | 14 ----- .../product-infrastructure/build.gradle.kts | 21 +++++++ product-api/product-presentation/build.gradle | 16 ------ .../product-presentation/build.gradle.kts | 26 +++++++++ query-api/build.gradle | 14 ----- query-api/build.gradle.kts | 22 ++++++++ settings.gradle | 40 ------------- settings.gradle.kts | 47 ++++++++++++++++ 53 files changed, 597 insertions(+), 396 deletions(-) delete mode 100644 account-api/account-application/build.gradle create mode 100644 account-api/account-application/build.gradle.kts delete mode 100644 account-api/account-domain/build.gradle create mode 100644 account-api/account-domain/build.gradle.kts delete mode 100644 account-api/account-infrastructure/build.gradle create mode 100644 account-api/account-infrastructure/build.gradle.kts delete mode 100644 account-api/account-presentation/build.gradle create mode 100644 account-api/account-presentation/build.gradle.kts delete mode 100644 app/build.gradle create mode 100644 app/build.gradle.kts create mode 100644 buildSrc/build.gradle.kts delete mode 100644 common/build.gradle create mode 100644 common/build.gradle.kts create mode 100644 common/src/main/java/kr/flab/movieon/common/annotation/NoArgsConstructor.kt delete mode 100644 notification-api/notification-application/build.gradle create mode 100644 notification-api/notification-application/build.gradle.kts delete mode 100644 notification-api/notification-domain/build.gradle create mode 100644 notification-api/notification-domain/build.gradle.kts delete mode 100644 notification-api/notification-infrastructure/build.gradle create mode 100644 notification-api/notification-infrastructure/build.gradle.kts delete mode 100644 notification-api/notification-presentation/build.gradle create mode 100644 notification-api/notification-presentation/build.gradle.kts delete mode 100644 order-api/order-application/build.gradle create mode 100644 order-api/order-application/build.gradle.kts delete mode 100644 order-api/order-domain/build.gradle create mode 100644 order-api/order-domain/build.gradle.kts delete mode 100644 order-api/order-infrastructure/build.gradle create mode 100644 order-api/order-infrastructure/build.gradle.kts delete mode 100644 order-api/order-presentation/build.gradle create mode 100644 order-api/order-presentation/build.gradle.kts delete mode 100644 payment-api/payment-application/build.gradle create mode 100644 payment-api/payment-application/build.gradle.kts delete mode 100644 payment-api/payment-domain/build.gradle create mode 100644 payment-api/payment-domain/build.gradle.kts delete mode 100644 payment-api/payment-infrastructure/build.gradle create mode 100644 payment-api/payment-infrastructure/build.gradle.kts delete mode 100644 payment-api/payment-presentation/build.gradle create mode 100644 payment-api/payment-presentation/build.gradle.kts delete mode 100644 product-api/product-application/build.gradle create mode 100644 product-api/product-application/build.gradle.kts delete mode 100644 product-api/product-domain/build.gradle create mode 100644 product-api/product-domain/build.gradle.kts delete mode 100644 product-api/product-infrastructure/build.gradle create mode 100644 product-api/product-infrastructure/build.gradle.kts delete mode 100644 product-api/product-presentation/build.gradle create mode 100644 product-api/product-presentation/build.gradle.kts delete mode 100644 query-api/build.gradle create mode 100644 query-api/build.gradle.kts delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts diff --git a/account-api/account-application/build.gradle b/account-api/account-application/build.gradle deleted file mode 100644 index 93b001a5..00000000 --- a/account-api/account-application/build.gradle +++ /dev/null @@ -1,11 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":account-api:account-domain") - implementation project(":common") - implementation "org.springframework.boot:spring-boot-starter-data-jpa" -} - diff --git a/account-api/account-application/build.gradle.kts b/account-api/account-application/build.gradle.kts new file mode 100644 index 00000000..6e24116a --- /dev/null +++ b/account-api/account-application/build.gradle.kts @@ -0,0 +1,18 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":account-api:account-domain")) + implementation(project(":common")) + implementation("org.springframework.boot:spring-boot-starter-data-jpa") +} diff --git a/account-api/account-domain/build.gradle b/account-api/account-domain/build.gradle deleted file mode 100644 index 82ab8ed3..00000000 --- a/account-api/account-domain/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -dependencies { - implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" - implementation "org.hibernate:hibernate-core:6.3.2.Final" - testImplementation "org.assertj:assertj-core" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" -} diff --git a/account-api/account-domain/build.gradle.kts b/account-api/account-domain/build.gradle.kts new file mode 100644 index 00000000..d5eec94b --- /dev/null +++ b/account-api/account-domain/build.gradle.kts @@ -0,0 +1,16 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +dependencies { + implementation(project(":common")) + implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") + implementation("org.hibernate:hibernate-core:6.3.2.Final") + testImplementation("org.assertj:assertj-core") + testImplementation("org.junit.jupiter:junit-jupiter-api") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") +} diff --git a/account-api/account-infrastructure/build.gradle b/account-api/account-infrastructure/build.gradle deleted file mode 100644 index dd01791e..00000000 --- a/account-api/account-infrastructure/build.gradle +++ /dev/null @@ -1,17 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":account-api:account-domain") - implementation project(":common") - implementation "io.jsonwebtoken:jjwt-api:0.12.3" - implementation "io.jsonwebtoken:jjwt-impl:0.12.3" - implementation "io.jsonwebtoken:jjwt-jackson:0.12.3" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - implementation "org.springframework.boot:spring-boot-starter-security" - testImplementation "org.springframework.boot:spring-boot-starter-test" - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" -} diff --git a/account-api/account-infrastructure/build.gradle.kts b/account-api/account-infrastructure/build.gradle.kts new file mode 100644 index 00000000..e0fba28c --- /dev/null +++ b/account-api/account-infrastructure/build.gradle.kts @@ -0,0 +1,25 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":account-api:account-domain")) + implementation(project(":common")) + implementation("io.jsonwebtoken:jjwt-api:0.12.3") + implementation("io.jsonwebtoken:jjwt-impl:0.12.3") + implementation("io.jsonwebtoken:jjwt-jackson:0.12.3") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + implementation("org.springframework.boot:spring-boot-starter-security") + testImplementation("org.springframework.boot:spring-boot-starter-test") + annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") +} diff --git a/account-api/account-presentation/build.gradle b/account-api/account-presentation/build.gradle deleted file mode 100644 index b663d749..00000000 --- a/account-api/account-presentation/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":account-api:account-application") - implementation project(":common") - implementation "org.springdoc:springdoc-openapi-ui:1.6.6" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-validation" - testImplementation "org.springframework.security:spring-security-test" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} - diff --git a/account-api/account-presentation/build.gradle.kts b/account-api/account-presentation/build.gradle.kts new file mode 100644 index 00000000..31d4dbd7 --- /dev/null +++ b/account-api/account-presentation/build.gradle.kts @@ -0,0 +1,23 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":account-api:account-application")) + implementation(project(":common")) + implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-security") + implementation("org.springframework.boot:spring-boot-starter-validation") + testImplementation("org.springframework.security:spring-security-test") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index b92100df..00000000 --- a/app/build.gradle +++ /dev/null @@ -1,51 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":notification-api:notification-presentation") - implementation project(":notification-api:notification-application") - implementation project(":notification-api:notification-domain") - implementation project(":notification-api:notification-infrastructure") - - implementation project(":account-api:account-presentation") - implementation project(":account-api:account-application") - implementation project(":account-api:account-domain") - implementation project(":account-api:account-infrastructure") - - implementation project(":order-api:order-presentation") - implementation project(":order-api:order-application") - implementation project(":order-api:order-domain") - implementation project(":order-api:order-infrastructure") - - implementation project(":payment-api:payment-presentation") - implementation project(":payment-api:payment-application") - implementation project(":payment-api:payment-domain") - implementation project(":payment-api:payment-infrastructure") - - implementation project(":product-api:product-presentation") - implementation project(":product-api:product-application") - implementation project(":product-api:product-domain") - implementation project(":product-api:product-infrastructure") - - implementation project(":query-api") - - implementation project(":common") - - implementation "org.springdoc:springdoc-openapi-ui:1.6.6" - implementation "org.springdoc:springdoc-openapi-security:1.6.6" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-validation" - implementation "org.springframework.boot:spring-boot-starter-amqp" - implementation "it.ozimov:embedded-redis:0.7.2" - testImplementation "it.ozimov:embedded-redis:0.7.2" - runtimeOnly "com.mysql:mysql-connector-j" - implementation "org.flywaydb:flyway-mysql" - testImplementation "com.h2database:h2" - testImplementation "com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.5" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} - diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 00000000..66c04463 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,56 @@ +tasks.bootJar { + enabled = true +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") + kotlin("plugin.jpa") + kotlin("plugin.allopen") + kotlin("plugin.spring") apply false +} + +dependencies { + implementation(project(":notification-api:notification-presentation")) + implementation(project(":notification-api:notification-application")) + implementation(project(":notification-api:notification-domain")) + implementation(project(":notification-api:notification-infrastructure")) + + implementation(project(":account-api:account-presentation")) + implementation(project(":account-api:account-application")) + implementation(project(":account-api:account-domain")) + implementation(project(":account-api:account-infrastructure")) + + implementation(project(":order-api:order-presentation")) + implementation(project(":order-api:order-application")) + implementation(project(":order-api:order-domain")) + implementation(project(":order-api:order-infrastructure")) + + implementation(project(":payment-api:payment-presentation")) + implementation(project(":payment-api:payment-application")) + implementation(project(":payment-api:payment-domain")) + implementation(project(":payment-api:payment-infrastructure")) + + implementation(project(":product-api:product-presentation")) + implementation(project(":product-api:product-application")) + implementation(project(":product-api:product-domain")) + implementation(project(":product-api:product-infrastructure")) + + implementation(project(":query-api")) + implementation(project(":common")) + + implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springdoc:springdoc-openapi-security:1.6.6") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + implementation("org.springframework.boot:spring-boot-starter-security") + implementation("org.springframework.boot:spring-boot-starter-validation") + implementation("org.springframework.boot:spring-boot-starter-amqp") + implementation("it.ozimov:embedded-redis:0.7.2") + testImplementation("it.ozimov:embedded-redis:0.7.2") + runtimeOnly("com.mysql:mysql-connector-j") + implementation("org.flywaydb:flyway-mysql") + testImplementation("com.h2database:h2") + testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.5") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/build.gradle.kts b/build.gradle.kts index 07bcd249..c8bf4a1c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,24 +8,18 @@ buildscript { } dependencies { - classpath("org.yaml:snakeyaml:1.28") classpath("org.jetbrains.kotlin:kotlin-allopen:1.8.20") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0-RC2") } } plugins { - id("org.springframework.boot") version "3.1.2" - id("io.spring.dependency-management") version "1.1.2" - id("org.jetbrains.kotlin.plugin.allopen") version "1.8.20" - id("org.jetbrains.kotlin.plugin.noarg") version "1.8.20" jacoco idea - kotlin("jvm") version "1.8.20" - kotlin("plugin.spring") version "1.8.20" - kotlin("plugin.jpa") version "1.8.20" - kotlin("kapt") version "1.8.20" + kotlin("jvm") + kotlin("kapt") + kotlin("plugin.noarg") } java { @@ -39,14 +33,6 @@ configurations { } } -tasks.jar { - enabled = true -} - -tasks.bootJar { - enabled = false -} - allprojects { repositories { maven("https://plugins.gradle.org/m2/") @@ -74,7 +60,8 @@ subprojects { } noArg { - annotation("com.kidsworld.core.annotation.NoArgsConstructor") + // spring, jpa 가 아니라서 플러그인이 적용되지 않는 코드에 noArg 적용하는 용도로 사용한다. + annotation("kr.flab.movieon.common.annotation.NoArgsConstructor") } dependencies { diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 00000000..3ebe418c --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,29 @@ +plugins { + `kotlin-dsl` +} + +repositories { + mavenCentral() + maven { + url = uri("https://plugins.gradle.org/m2/") + } +} + +/** + * 전체 프로젝트의 gradle plugin 버전을 지정 한다. + */ +object PluginVersion { + const val KOTLIN = "1.8.20" + const val SPRING_BOOT = "3.1.2" + const val SPRING_DEPENDENCY_MANAGEMENT = "1.1.2" + const val ASCIIDOCTOR = "3.3.2" +} + +dependencies { + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${PluginVersion.KOTLIN}") + implementation("org.jetbrains.kotlin:kotlin-allopen:${PluginVersion.KOTLIN}") + implementation("org.jetbrains.kotlin:kotlin-noarg:${PluginVersion.KOTLIN}") + implementation("org.springframework.boot:spring-boot-gradle-plugin:${PluginVersion.SPRING_BOOT}") + implementation("io.spring.gradle:dependency-management-plugin:${PluginVersion.SPRING_DEPENDENCY_MANAGEMENT}") + implementation("org.asciidoctor:asciidoctor-gradle-jvm:${PluginVersion.ASCIIDOCTOR}") +} diff --git a/buildSrc/main/kotlin/Version.kt b/buildSrc/main/kotlin/Version.kt index 3cd3f030..e63ef444 100644 --- a/buildSrc/main/kotlin/Version.kt +++ b/buildSrc/main/kotlin/Version.kt @@ -1 +1,3 @@ -object Version +object Version { + val jakartaPersistenceApiVersion = "3.1.0" +} diff --git a/common/build.gradle b/common/build.gradle deleted file mode 100644 index 10da2f5a..00000000 --- a/common/build.gradle +++ /dev/null @@ -1,4 +0,0 @@ -dependencies { - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" -} diff --git a/common/build.gradle.kts b/common/build.gradle.kts new file mode 100644 index 00000000..96cb8700 --- /dev/null +++ b/common/build.gradle.kts @@ -0,0 +1,12 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +dependencies { + testImplementation("org.junit.jupiter:junit-jupiter-api") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") +} diff --git a/common/src/main/java/kr/flab/movieon/common/annotation/NoArgsConstructor.kt b/common/src/main/java/kr/flab/movieon/common/annotation/NoArgsConstructor.kt new file mode 100644 index 00000000..1d66dc1b --- /dev/null +++ b/common/src/main/java/kr/flab/movieon/common/annotation/NoArgsConstructor.kt @@ -0,0 +1,3 @@ +package kr.flab.movieon.common.annotation + +annotation class NoArgsConstructor diff --git a/gradle.properties b/gradle.properties index 13140f87..3c6a4654 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,8 @@ ### Application Version ### applicationVersion=0.0.1 - ### Project Groups ### projectGroups=kr.flab.movieon - ### Gradle Settings ### org.gradle.parallel=true org.gradle.caching=true -org.gradle.jvmargs=-Dfile.encoding=UTF-8 \ No newline at end of file +org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xms2048m -Xmx2048m diff --git a/notification-api/notification-application/build.gradle b/notification-api/notification-application/build.gradle deleted file mode 100644 index fba51dbb..00000000 --- a/notification-api/notification-application/build.gradle +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":notification-api:notification-domain") - implementation project(":common") - - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - testImplementation 'org.springframework.boot:spring-boot-starter-test' -} - diff --git a/notification-api/notification-application/build.gradle.kts b/notification-api/notification-application/build.gradle.kts new file mode 100644 index 00000000..bfda3a5c --- /dev/null +++ b/notification-api/notification-application/build.gradle.kts @@ -0,0 +1,20 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":notification-api:notification-domain")) + implementation(project(":common")) + + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/notification-api/notification-domain/build.gradle b/notification-api/notification-domain/build.gradle deleted file mode 100644 index 82ab8ed3..00000000 --- a/notification-api/notification-domain/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -dependencies { - implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" - implementation "org.hibernate:hibernate-core:6.3.2.Final" - testImplementation "org.assertj:assertj-core" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" -} diff --git a/notification-api/notification-domain/build.gradle.kts b/notification-api/notification-domain/build.gradle.kts new file mode 100644 index 00000000..d5eec94b --- /dev/null +++ b/notification-api/notification-domain/build.gradle.kts @@ -0,0 +1,16 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +dependencies { + implementation(project(":common")) + implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") + implementation("org.hibernate:hibernate-core:6.3.2.Final") + testImplementation("org.assertj:assertj-core") + testImplementation("org.junit.jupiter:junit-jupiter-api") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") +} diff --git a/notification-api/notification-infrastructure/build.gradle b/notification-api/notification-infrastructure/build.gradle deleted file mode 100644 index ef090556..00000000 --- a/notification-api/notification-infrastructure/build.gradle +++ /dev/null @@ -1,17 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":notification-api:notification-domain") - implementation project(":common") - - implementation "com.github.ben-manes.caffeine:caffeine" - implementation "org.springframework.boot:spring-boot-starter-cache" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - implementation "org.springframework.boot:spring-boot-starter-mail" - implementation "org.springframework.boot:spring-boot-starter-thymeleaf" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} diff --git a/notification-api/notification-infrastructure/build.gradle.kts b/notification-api/notification-infrastructure/build.gradle.kts new file mode 100644 index 00000000..7a708b6e --- /dev/null +++ b/notification-api/notification-infrastructure/build.gradle.kts @@ -0,0 +1,25 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":notification-api:notification-domain")) + implementation(project(":common")) + + implementation("com.github.ben-manes.caffeine:caffeine") + implementation("org.springframework.boot:spring-boot-starter-cache") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + implementation("org.springframework.boot:spring-boot-starter-mail") + implementation("org.springframework.boot:spring-boot-starter-thymeleaf") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/notification-api/notification-presentation/build.gradle b/notification-api/notification-presentation/build.gradle deleted file mode 100644 index 54e3ccc2..00000000 --- a/notification-api/notification-presentation/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":notification-api:notification-application") - implementation project(":common") - implementation "org.springdoc:springdoc-openapi-ui:1.6.6" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-validation" - testImplementation "org.springframework.security:spring-security-test" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} diff --git a/notification-api/notification-presentation/build.gradle.kts b/notification-api/notification-presentation/build.gradle.kts new file mode 100644 index 00000000..4d8d46f3 --- /dev/null +++ b/notification-api/notification-presentation/build.gradle.kts @@ -0,0 +1,23 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":notification-api:notification-application")) + implementation(project(":common")) + implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-security") + implementation("org.springframework.boot:spring-boot-starter-validation") + testImplementation("org.springframework.security:spring-security-test") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/order-api/order-application/build.gradle b/order-api/order-application/build.gradle deleted file mode 100644 index c2456b5f..00000000 --- a/order-api/order-application/build.gradle +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":order-api:order-domain") - implementation project(":common") - - implementation "org.springframework.boot:spring-boot-starter-validation" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} diff --git a/order-api/order-application/build.gradle.kts b/order-api/order-application/build.gradle.kts new file mode 100644 index 00000000..096ecb66 --- /dev/null +++ b/order-api/order-application/build.gradle.kts @@ -0,0 +1,21 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":order-api:order-domain")) + implementation(project(":common")) + + implementation("org.springframework.boot:spring-boot-starter-validation") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/order-api/order-domain/build.gradle b/order-api/order-domain/build.gradle deleted file mode 100644 index 82ab8ed3..00000000 --- a/order-api/order-domain/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -dependencies { - implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" - implementation "org.hibernate:hibernate-core:6.3.2.Final" - testImplementation "org.assertj:assertj-core" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" -} diff --git a/order-api/order-domain/build.gradle.kts b/order-api/order-domain/build.gradle.kts new file mode 100644 index 00000000..d5eec94b --- /dev/null +++ b/order-api/order-domain/build.gradle.kts @@ -0,0 +1,16 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +dependencies { + implementation(project(":common")) + implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") + implementation("org.hibernate:hibernate-core:6.3.2.Final") + testImplementation("org.assertj:assertj-core") + testImplementation("org.junit.jupiter:junit-jupiter-api") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") +} diff --git a/order-api/order-infrastructure/build.gradle b/order-api/order-infrastructure/build.gradle deleted file mode 100644 index 37d3c473..00000000 --- a/order-api/order-infrastructure/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":order-api:order-domain") - implementation project(":common") - - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} - diff --git a/order-api/order-infrastructure/build.gradle.kts b/order-api/order-infrastructure/build.gradle.kts new file mode 100644 index 00000000..40c3f5e3 --- /dev/null +++ b/order-api/order-infrastructure/build.gradle.kts @@ -0,0 +1,21 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":order-api:order-domain")) + implementation(project(":common")) + + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/order-api/order-presentation/build.gradle b/order-api/order-presentation/build.gradle deleted file mode 100644 index 4b652efd..00000000 --- a/order-api/order-presentation/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":order-api:order-application") - implementation project(":common") - implementation "org.springdoc:springdoc-openapi-ui:1.6.6" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-validation" - implementation "org.springframework.boot:spring-boot-starter-security" - testImplementation "org.springframework.security:spring-security-test" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} diff --git a/order-api/order-presentation/build.gradle.kts b/order-api/order-presentation/build.gradle.kts new file mode 100644 index 00000000..f22acde3 --- /dev/null +++ b/order-api/order-presentation/build.gradle.kts @@ -0,0 +1,23 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":order-api:order-application")) + implementation(project(":common")) + implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-validation") + implementation("org.springframework.boot:spring-boot-starter-security") + testImplementation("org.springframework.security:spring-security-test") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/payment-api/payment-application/build.gradle b/payment-api/payment-application/build.gradle deleted file mode 100644 index 9e4f8b83..00000000 --- a/payment-api/payment-application/build.gradle +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":payment-api:payment-domain") - implementation project(":common") - implementation "org.springframework.boot:spring-boot-starter-validation" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} - diff --git a/payment-api/payment-application/build.gradle.kts b/payment-api/payment-application/build.gradle.kts new file mode 100644 index 00000000..167598c7 --- /dev/null +++ b/payment-api/payment-application/build.gradle.kts @@ -0,0 +1,20 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":payment-api:payment-domain")) + implementation(project(":common")) + implementation("org.springframework.boot:spring-boot-starter-validation") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/payment-api/payment-domain/build.gradle b/payment-api/payment-domain/build.gradle deleted file mode 100644 index 2c972826..00000000 --- a/payment-api/payment-domain/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -dependencies { - implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" - implementation "org.hibernate:hibernate-core:6.3.2.Final" - testImplementation "org.assertj:assertj-core:" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" -} diff --git a/payment-api/payment-domain/build.gradle.kts b/payment-api/payment-domain/build.gradle.kts new file mode 100644 index 00000000..d5eec94b --- /dev/null +++ b/payment-api/payment-domain/build.gradle.kts @@ -0,0 +1,16 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +dependencies { + implementation(project(":common")) + implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") + implementation("org.hibernate:hibernate-core:6.3.2.Final") + testImplementation("org.assertj:assertj-core") + testImplementation("org.junit.jupiter:junit-jupiter-api") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") +} diff --git a/payment-api/payment-infrastructure/build.gradle b/payment-api/payment-infrastructure/build.gradle deleted file mode 100644 index 71f4168b..00000000 --- a/payment-api/payment-infrastructure/build.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -configurations { - compileOnly { - extendsFrom annotationProcessor - } -} - -dependencies { - implementation project(":payment-api:payment-domain") - implementation project(":common") - implementation "org.springframework.boot:spring-boot-starter-amqp" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - implementation "org.springframework.boot:spring-boot-starter-web" - testImplementation "org.springframework.boot:spring-boot-starter-test" - annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" -} - diff --git a/payment-api/payment-infrastructure/build.gradle.kts b/payment-api/payment-infrastructure/build.gradle.kts new file mode 100644 index 00000000..41907db7 --- /dev/null +++ b/payment-api/payment-infrastructure/build.gradle.kts @@ -0,0 +1,28 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +configurations { + compileOnly { + extendsFrom(configurations.annotationProcessor.get()) + } +} + +dependencies { + implementation(project(":payment-api:payment-domain")) + implementation(project(":common")) + implementation("org.springframework.boot:spring-boot-starter-amqp") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + implementation("org.springframework.boot:spring-boot-starter-web") + testImplementation("org.springframework.boot:spring-boot-starter-test") + annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") +} diff --git a/payment-api/payment-presentation/build.gradle b/payment-api/payment-presentation/build.gradle deleted file mode 100644 index dcb1a1db..00000000 --- a/payment-api/payment-presentation/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":payment-api:payment-application") - implementation project(":common") - implementation "org.springdoc:springdoc-openapi-ui:1.6.6" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-validation" - testImplementation "org.springframework.security:spring-security-test" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} diff --git a/payment-api/payment-presentation/build.gradle.kts b/payment-api/payment-presentation/build.gradle.kts new file mode 100644 index 00000000..c615da06 --- /dev/null +++ b/payment-api/payment-presentation/build.gradle.kts @@ -0,0 +1,23 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":payment-api:payment-application")) + implementation(project(":common")) + implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-security") + implementation("org.springframework.boot:spring-boot-starter-validation") + testImplementation("org.springframework.security:spring-security-test") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/product-api/product-application/build.gradle b/product-api/product-application/build.gradle deleted file mode 100644 index 7af7d30f..00000000 --- a/product-api/product-application/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":product-api:product-domain") - implementation project(":common") - - testImplementation "com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.5" - implementation "org.springframework.boot:spring-boot-starter-validation" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - testImplementation 'org.springframework.boot:spring-boot-starter-test' -} - diff --git a/product-api/product-application/build.gradle.kts b/product-api/product-application/build.gradle.kts new file mode 100644 index 00000000..8a893e4d --- /dev/null +++ b/product-api/product-application/build.gradle.kts @@ -0,0 +1,22 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":product-api:product-domain")) + implementation(project(":common")) + + testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.5") + implementation("org.springframework.boot:spring-boot-starter-validation") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/product-api/product-domain/build.gradle b/product-api/product-domain/build.gradle deleted file mode 100644 index 82ab8ed3..00000000 --- a/product-api/product-domain/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -dependencies { - implementation project(":common") - implementation "jakarta.persistence:jakarta.persistence-api:3.1.0" - implementation "org.hibernate:hibernate-core:6.3.2.Final" - testImplementation "org.assertj:assertj-core" - testImplementation "org.junit.jupiter:junit-jupiter-api" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" -} diff --git a/product-api/product-domain/build.gradle.kts b/product-api/product-domain/build.gradle.kts new file mode 100644 index 00000000..d5eec94b --- /dev/null +++ b/product-api/product-domain/build.gradle.kts @@ -0,0 +1,16 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +dependencies { + implementation(project(":common")) + implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") + implementation("org.hibernate:hibernate-core:6.3.2.Final") + testImplementation("org.assertj:assertj-core") + testImplementation("org.junit.jupiter:junit-jupiter-api") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") +} diff --git a/product-api/product-infrastructure/build.gradle b/product-api/product-infrastructure/build.gradle deleted file mode 100644 index 59a70037..00000000 --- a/product-api/product-infrastructure/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":product-api:product-domain") - implementation project(":common") - - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-data-jpa" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} - diff --git a/product-api/product-infrastructure/build.gradle.kts b/product-api/product-infrastructure/build.gradle.kts new file mode 100644 index 00000000..951ea5f4 --- /dev/null +++ b/product-api/product-infrastructure/build.gradle.kts @@ -0,0 +1,21 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":product-api:product-domain")) + implementation(project(":common")) + + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-data-jpa") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/product-api/product-presentation/build.gradle b/product-api/product-presentation/build.gradle deleted file mode 100644 index 00aae99a..00000000 --- a/product-api/product-presentation/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":product-api:product-application") - implementation project(":common") - implementation "org.springdoc:springdoc-openapi-ui:1.6.6" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-validation" - testImplementation "com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.1" - testImplementation "org.springframework.security:spring-security-test" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} diff --git a/product-api/product-presentation/build.gradle.kts b/product-api/product-presentation/build.gradle.kts new file mode 100644 index 00000000..35b06692 --- /dev/null +++ b/product-api/product-presentation/build.gradle.kts @@ -0,0 +1,26 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":product-api:product-application")) + implementation(project(":common")) + implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.springframework.boot:spring-boot-starter-security") + implementation("org.springframework.boot:spring-boot-starter-validation") + testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.1") + // com.navercorp.fixturemonkey - org.glassfish:jakarta.el:3.0.3 보안 이슈로 버전 변경 (CVE-2021-28170) + testImplementation("org.glassfish:jakarta.el:3.0.4") + testImplementation("org.springframework.security:spring-security-test") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/query-api/build.gradle b/query-api/build.gradle deleted file mode 100644 index 6548bdc0..00000000 --- a/query-api/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -plugins { - id 'org.springframework.boot' version '3.1.2' - id 'io.spring.dependency-management' version '1.1.2' -} - -dependencies { - implementation project(":common") - implementation "org.springdoc:springdoc-openapi-ui:1.6.6" - implementation "org.springframework.boot:spring-boot-starter-data-redis" - implementation "org.springframework.boot:spring-boot-starter-security" - implementation "org.springframework.boot:spring-boot-starter-web" - implementation "org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.2" - testImplementation "org.springframework.boot:spring-boot-starter-test" -} diff --git a/query-api/build.gradle.kts b/query-api/build.gradle.kts new file mode 100644 index 00000000..0078eeb6 --- /dev/null +++ b/query-api/build.gradle.kts @@ -0,0 +1,22 @@ +tasks.jar { + enabled = true +} + +tasks.bootJar { + enabled = false +} + +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + +dependencies { + implementation(project(":common")) + implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springframework.boot:spring-boot-starter-data-redis") + implementation("org.springframework.boot:spring-boot-starter-security") + implementation("org.springframework.boot:spring-boot-starter-web") + implementation("org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.2") + testImplementation("org.springframework.boot:spring-boot-starter-test") +} diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 20fe5af4..00000000 --- a/settings.gradle +++ /dev/null @@ -1,40 +0,0 @@ -rootProject.name = 'MovieOn' -include 'app' -include 'common' -include ( - 'product-api', - 'product-api:product-presentation', - 'product-api:product-application', - 'product-api:product-domain', - 'product-api:product-infrastructure', -) -include ( - 'payment-api', - 'payment-api:payment-presentation', - 'payment-api:payment-application', - 'payment-api:payment-domain', - 'payment-api:payment-infrastructure', -) -include( - 'account-api', - 'account-api:account-presentation', - 'account-api:account-application', - 'account-api:account-domain', - 'account-api:account-infrastructure', -) -include ( - 'notification-api', - 'notification-api:notification-presentation', - 'notification-api:notification-application', - 'notification-api:notification-domain', - 'notification-api:notification-infrastructure', -) -include ( - 'order-api', - 'order-api:order-presentation', - 'order-api:order-application', - 'order-api:order-domain', - 'order-api:order-infrastructure', -) -include 'query-api' - diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 00000000..a5dcb642 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,47 @@ +rootProject.name = "MovieOn" + +include("app") +include("common") + +include( + "product-api", + "product-api:product-presentation", + "product-api:product-application", + "product-api:product-domain", + "product-api:product-infrastructure" +) + +include( + "payment-api", + "payment-api:payment-presentation", + "payment-api:payment-application", + "payment-api:payment-domain", + "payment-api:payment-infrastructure" +) + +include( + "account-api", + "account-api:account-presentation", + "account-api:account-application", + "account-api:account-domain", + "account-api:account-infrastructure" +) + +include( + "notification-api", + "notification-api:notification-presentation", + "notification-api:notification-application", + "notification-api:notification-domain", + "notification-api:notification-infrastructure" +) + +include( + "order-api", + "order-api:order-presentation", + "order-api:order-application", + "order-api:order-domain", + "order-api:order-infrastructure" +) + +include("query-api") + From f0cbba09392bd54d67000cb221fce1c0851e7a8a Mon Sep 17 00:00:00 2001 From: Jiwondev Date: Thu, 4 Jan 2024 03:04:40 +0900 Subject: [PATCH 5/9] =?UTF-8?q?build/#131:=20kotlin=20version=20=EC=B6=A9?= =?UTF-8?q?=EB=8F=8C=20=ED=95=B4=EA=B2=B0=20(allOpen=20=EB=B2=84=EC=A0=84?= =?UTF-8?q?=20=EC=97=85=EA=B7=B8=EB=A0=88=EC=9D=B4=EB=93=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 2 -- build.gradle.kts | 2 +- buildSrc/build.gradle.kts | 3 ++- buildSrc/{ => src}/main/kotlin/Version.kt | 0 gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) rename buildSrc/{ => src}/main/kotlin/Version.kt (100%) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 66c04463..c7be7068 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -6,8 +6,6 @@ plugins { id("org.springframework.boot") id("io.spring.dependency-management") kotlin("plugin.jpa") - kotlin("plugin.allopen") - kotlin("plugin.spring") apply false } dependencies { diff --git a/build.gradle.kts b/build.gradle.kts index c8bf4a1c..e34410bc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-allopen:1.8.20") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0-RC2") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20") } } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 3ebe418c..9a7b85a6 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -14,6 +14,7 @@ repositories { */ object PluginVersion { const val KOTLIN = "1.8.20" + const val KOTLIN_ALL_OPEN = "1.9.22" const val SPRING_BOOT = "3.1.2" const val SPRING_DEPENDENCY_MANAGEMENT = "1.1.2" const val ASCIIDOCTOR = "3.3.2" @@ -21,7 +22,7 @@ object PluginVersion { dependencies { implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${PluginVersion.KOTLIN}") - implementation("org.jetbrains.kotlin:kotlin-allopen:${PluginVersion.KOTLIN}") + implementation("org.jetbrains.kotlin:kotlin-allopen:${PluginVersion.KOTLIN_ALL_OPEN}") implementation("org.jetbrains.kotlin:kotlin-noarg:${PluginVersion.KOTLIN}") implementation("org.springframework.boot:spring-boot-gradle-plugin:${PluginVersion.SPRING_BOOT}") implementation("io.spring.gradle:dependency-management-plugin:${PluginVersion.SPRING_DEPENDENCY_MANAGEMENT}") diff --git a/buildSrc/main/kotlin/Version.kt b/buildSrc/src/main/kotlin/Version.kt similarity index 100% rename from buildSrc/main/kotlin/Version.kt rename to buildSrc/src/main/kotlin/Version.kt diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8049c684..ae04661e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 4f7d838bcb18bc2f6b2112111809a1e65a38c351 Mon Sep 17 00:00:00 2001 From: Jiwondev Date: Thu, 4 Jan 2024 03:17:21 +0900 Subject: [PATCH 6/9] =?UTF-8?q?build/#131:=20buildSrc=20=EB=A5=BC=20?= =?UTF-8?q?=EC=9D=B4=EC=9A=A9=ED=95=9C=20version=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- account-api/account-domain/build.gradle.kts | 4 ++-- account-api/account-infrastructure/build.gradle.kts | 6 +++--- account-api/account-presentation/build.gradle.kts | 2 +- app/build.gradle.kts | 13 ++++++++----- build.gradle.kts | 2 +- buildSrc/src/main/kotlin/Version.kt | 8 +++++++- .../notification-domain/build.gradle.kts | 4 ++-- .../notification-presentation/build.gradle.kts | 2 +- order-api/order-domain/build.gradle.kts | 4 ++-- order-api/order-presentation/build.gradle.kts | 2 +- payment-api/payment-domain/build.gradle.kts | 4 ++-- payment-api/payment-presentation/build.gradle.kts | 2 +- product-api/product-application/build.gradle.kts | 4 +++- product-api/product-domain/build.gradle.kts | 4 ++-- product-api/product-presentation/build.gradle.kts | 4 ++-- query-api/build.gradle.kts | 4 ++-- settings.gradle.kts | 11 +++++------ 17 files changed, 45 insertions(+), 35 deletions(-) diff --git a/account-api/account-domain/build.gradle.kts b/account-api/account-domain/build.gradle.kts index d5eec94b..b95a81fe 100644 --- a/account-api/account-domain/build.gradle.kts +++ b/account-api/account-domain/build.gradle.kts @@ -8,8 +8,8 @@ tasks.bootJar { dependencies { implementation(project(":common")) - implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") - implementation("org.hibernate:hibernate-core:6.3.2.Final") + implementation("jakarta.persistence:jakarta.persistence-api:${Version.jakartaPersistenceApi}") + implementation("org.hibernate:hibernate-core:${Version.hibernateCore}") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") diff --git a/account-api/account-infrastructure/build.gradle.kts b/account-api/account-infrastructure/build.gradle.kts index e0fba28c..ddadabcc 100644 --- a/account-api/account-infrastructure/build.gradle.kts +++ b/account-api/account-infrastructure/build.gradle.kts @@ -14,9 +14,9 @@ plugins { dependencies { implementation(project(":account-api:account-domain")) implementation(project(":common")) - implementation("io.jsonwebtoken:jjwt-api:0.12.3") - implementation("io.jsonwebtoken:jjwt-impl:0.12.3") - implementation("io.jsonwebtoken:jjwt-jackson:0.12.3") + implementation("io.jsonwebtoken:jjwt-api:${Version.jjwt}") + implementation("io.jsonwebtoken:jjwt-impl:${Version.jjwt}") + implementation("io.jsonwebtoken:jjwt-jackson:${Version.jjwt}") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-security") diff --git a/account-api/account-presentation/build.gradle.kts b/account-api/account-presentation/build.gradle.kts index 31d4dbd7..2b3799fc 100644 --- a/account-api/account-presentation/build.gradle.kts +++ b/account-api/account-presentation/build.gradle.kts @@ -14,7 +14,7 @@ plugins { dependencies { implementation(project(":account-api:account-application")) implementation(project(":common")) - implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springdoc:springdoc-openapi-ui:${Version.springdocOpenapi}") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-validation") diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c7be7068..1c8c0c47 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -37,18 +37,21 @@ dependencies { implementation(project(":query-api")) implementation(project(":common")) - implementation("org.springdoc:springdoc-openapi-ui:1.6.6") - implementation("org.springdoc:springdoc-openapi-security:1.6.6") + implementation("org.springdoc:springdoc-openapi-ui:${Version.springdocOpenapi}") + implementation("org.springdoc:springdoc-openapi-security:${Version.springdocOpenapi}") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-amqp") - implementation("it.ozimov:embedded-redis:0.7.2") - testImplementation("it.ozimov:embedded-redis:0.7.2") + implementation("it.ozimov:embedded-redis:${Version.embeddedRedis}") { + exclude(group = "org.slf4j", module = "slf4j-simple") + } runtimeOnly("com.mysql:mysql-connector-j") implementation("org.flywaydb:flyway-mysql") testImplementation("com.h2database:h2") - testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.5") + testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:${Version.fixtureMonkey}") + // com.navercorp.fixturemonkey - org.glassfish:jakarta.el:3.0.3 보안 이슈로 버전 변경 (CVE-2021-28170) + testImplementation("org.glassfish:jakarta.el:3.0.4") testImplementation("org.springframework.boot:spring-boot-starter-test") } diff --git a/build.gradle.kts b/build.gradle.kts index e34410bc..3d2e1107 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -100,7 +100,7 @@ subprojects { tasks.withType { // 동일한 파일(main/resources/application.yaml, intTest/resources/application.yaml)이 있어서, 리소스 복사할 때 충돌 회피 - duplicatesStrategy = org.gradle.api.file.DuplicatesStrategy.INCLUDE + duplicatesStrategy = DuplicatesStrategy.INCLUDE } val intTestImplementation: Configuration by configurations.getting { diff --git a/buildSrc/src/main/kotlin/Version.kt b/buildSrc/src/main/kotlin/Version.kt index e63ef444..f1fe6878 100644 --- a/buildSrc/src/main/kotlin/Version.kt +++ b/buildSrc/src/main/kotlin/Version.kt @@ -1,3 +1,9 @@ object Version { - val jakartaPersistenceApiVersion = "3.1.0" + const val jakartaPersistenceApi = "3.1.0" + const val hibernateCore = "6.3.2.Final" + const val jjwt = "0.12.3" + const val springdocOpenapi = "1.6.6" + const val embeddedRedis = "0.7.3" + const val fixtureMonkey = "0.3.5" + const val mybatisSpring = "3.0.2" } diff --git a/notification-api/notification-domain/build.gradle.kts b/notification-api/notification-domain/build.gradle.kts index d5eec94b..b95a81fe 100644 --- a/notification-api/notification-domain/build.gradle.kts +++ b/notification-api/notification-domain/build.gradle.kts @@ -8,8 +8,8 @@ tasks.bootJar { dependencies { implementation(project(":common")) - implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") - implementation("org.hibernate:hibernate-core:6.3.2.Final") + implementation("jakarta.persistence:jakarta.persistence-api:${Version.jakartaPersistenceApi}") + implementation("org.hibernate:hibernate-core:${Version.hibernateCore}") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") diff --git a/notification-api/notification-presentation/build.gradle.kts b/notification-api/notification-presentation/build.gradle.kts index 4d8d46f3..001365b1 100644 --- a/notification-api/notification-presentation/build.gradle.kts +++ b/notification-api/notification-presentation/build.gradle.kts @@ -14,7 +14,7 @@ plugins { dependencies { implementation(project(":notification-api:notification-application")) implementation(project(":common")) - implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springdoc:springdoc-openapi-ui:${Version.springdocOpenapi}") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-validation") diff --git a/order-api/order-domain/build.gradle.kts b/order-api/order-domain/build.gradle.kts index d5eec94b..b95a81fe 100644 --- a/order-api/order-domain/build.gradle.kts +++ b/order-api/order-domain/build.gradle.kts @@ -8,8 +8,8 @@ tasks.bootJar { dependencies { implementation(project(":common")) - implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") - implementation("org.hibernate:hibernate-core:6.3.2.Final") + implementation("jakarta.persistence:jakarta.persistence-api:${Version.jakartaPersistenceApi}") + implementation("org.hibernate:hibernate-core:${Version.hibernateCore}") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") diff --git a/order-api/order-presentation/build.gradle.kts b/order-api/order-presentation/build.gradle.kts index f22acde3..ef1624f6 100644 --- a/order-api/order-presentation/build.gradle.kts +++ b/order-api/order-presentation/build.gradle.kts @@ -14,7 +14,7 @@ plugins { dependencies { implementation(project(":order-api:order-application")) implementation(project(":common")) - implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springdoc:springdoc-openapi-ui:${Version.springdocOpenapi}") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-security") diff --git a/payment-api/payment-domain/build.gradle.kts b/payment-api/payment-domain/build.gradle.kts index d5eec94b..b95a81fe 100644 --- a/payment-api/payment-domain/build.gradle.kts +++ b/payment-api/payment-domain/build.gradle.kts @@ -8,8 +8,8 @@ tasks.bootJar { dependencies { implementation(project(":common")) - implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") - implementation("org.hibernate:hibernate-core:6.3.2.Final") + implementation("jakarta.persistence:jakarta.persistence-api:${Version.jakartaPersistenceApi}") + implementation("org.hibernate:hibernate-core:${Version.hibernateCore}") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") diff --git a/payment-api/payment-presentation/build.gradle.kts b/payment-api/payment-presentation/build.gradle.kts index c615da06..81041401 100644 --- a/payment-api/payment-presentation/build.gradle.kts +++ b/payment-api/payment-presentation/build.gradle.kts @@ -14,7 +14,7 @@ plugins { dependencies { implementation(project(":payment-api:payment-application")) implementation(project(":common")) - implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springdoc:springdoc-openapi-ui:${Version.springdocOpenapi}") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-validation") diff --git a/product-api/product-application/build.gradle.kts b/product-api/product-application/build.gradle.kts index 8a893e4d..5fe8ea0e 100644 --- a/product-api/product-application/build.gradle.kts +++ b/product-api/product-application/build.gradle.kts @@ -15,7 +15,9 @@ dependencies { implementation(project(":product-api:product-domain")) implementation(project(":common")) - testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.5") + testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:${Version.fixtureMonkey}") + // com.navercorp.fixturemonkey - org.glassfish:jakarta.el:3.0.3 보안 이슈로 버전 변경 (CVE-2021-28170) + testImplementation("org.glassfish:jakarta.el:3.0.4") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-data-jpa") testImplementation("org.springframework.boot:spring-boot-starter-test") diff --git a/product-api/product-domain/build.gradle.kts b/product-api/product-domain/build.gradle.kts index d5eec94b..b95a81fe 100644 --- a/product-api/product-domain/build.gradle.kts +++ b/product-api/product-domain/build.gradle.kts @@ -8,8 +8,8 @@ tasks.bootJar { dependencies { implementation(project(":common")) - implementation("jakarta.persistence:jakarta.persistence-api:3.1.0") - implementation("org.hibernate:hibernate-core:6.3.2.Final") + implementation("jakarta.persistence:jakarta.persistence-api:${Version.jakartaPersistenceApi}") + implementation("org.hibernate:hibernate-core:${Version.hibernateCore}") testImplementation("org.assertj:assertj-core") testImplementation("org.junit.jupiter:junit-jupiter-api") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") diff --git a/product-api/product-presentation/build.gradle.kts b/product-api/product-presentation/build.gradle.kts index 35b06692..66ed86f2 100644 --- a/product-api/product-presentation/build.gradle.kts +++ b/product-api/product-presentation/build.gradle.kts @@ -14,11 +14,11 @@ plugins { dependencies { implementation(project(":product-api:product-application")) implementation(project(":common")) - implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springdoc:springdoc-openapi-ui:${Version.springdocOpenapi}") implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-validation") - testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:0.3.1") + testImplementation("com.navercorp.fixturemonkey:fixture-monkey-starter:${Version.fixtureMonkey}") // com.navercorp.fixturemonkey - org.glassfish:jakarta.el:3.0.3 보안 이슈로 버전 변경 (CVE-2021-28170) testImplementation("org.glassfish:jakarta.el:3.0.4") testImplementation("org.springframework.security:spring-security-test") diff --git a/query-api/build.gradle.kts b/query-api/build.gradle.kts index 0078eeb6..f4087868 100644 --- a/query-api/build.gradle.kts +++ b/query-api/build.gradle.kts @@ -13,10 +13,10 @@ plugins { dependencies { implementation(project(":common")) - implementation("org.springdoc:springdoc-openapi-ui:1.6.6") + implementation("org.springdoc:springdoc-openapi-ui:${Version.springdocOpenapi}") implementation("org.springframework.boot:spring-boot-starter-data-redis") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-web") - implementation("org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.2") + implementation("org.mybatis.spring.boot:mybatis-spring-boot-starter:${Version.mybatisSpring}") testImplementation("org.springframework.boot:spring-boot-starter-test") } diff --git a/settings.gradle.kts b/settings.gradle.kts index a5dcb642..9e1aa96c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -8,7 +8,7 @@ include( "product-api:product-presentation", "product-api:product-application", "product-api:product-domain", - "product-api:product-infrastructure" + "product-api:product-infrastructure", ) include( @@ -16,7 +16,7 @@ include( "payment-api:payment-presentation", "payment-api:payment-application", "payment-api:payment-domain", - "payment-api:payment-infrastructure" + "payment-api:payment-infrastructure", ) include( @@ -24,7 +24,7 @@ include( "account-api:account-presentation", "account-api:account-application", "account-api:account-domain", - "account-api:account-infrastructure" + "account-api:account-infrastructure", ) include( @@ -32,7 +32,7 @@ include( "notification-api:notification-presentation", "notification-api:notification-application", "notification-api:notification-domain", - "notification-api:notification-infrastructure" + "notification-api:notification-infrastructure", ) include( @@ -40,8 +40,7 @@ include( "order-api:order-presentation", "order-api:order-application", "order-api:order-domain", - "order-api:order-infrastructure" + "order-api:order-infrastructure", ) include("query-api") - From c87a60b75889537e8e5d820f1890fd15f325bf7a Mon Sep 17 00:00:00 2001 From: jiwondev Date: Thu, 4 Jan 2024 14:18:59 +0900 Subject: [PATCH 7/9] =?UTF-8?q?build/#131=20=EC=B5=9C=EC=83=81=EC=9C=84=20?= =?UTF-8?q?build.gradle=20version=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../infrastructure/jwt/impl/JwtTokenParser.java | 4 ++-- build.gradle.kts | 15 ++++++++------- buildSrc/src/main/kotlin/Version.kt | 5 +++++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/account-api/account-infrastructure/src/main/java/kr/flab/movieon/account/infrastructure/jwt/impl/JwtTokenParser.java b/account-api/account-infrastructure/src/main/java/kr/flab/movieon/account/infrastructure/jwt/impl/JwtTokenParser.java index 41bbe214..9d667478 100644 --- a/account-api/account-infrastructure/src/main/java/kr/flab/movieon/account/infrastructure/jwt/impl/JwtTokenParser.java +++ b/account-api/account-infrastructure/src/main/java/kr/flab/movieon/account/infrastructure/jwt/impl/JwtTokenParser.java @@ -32,12 +32,12 @@ public RawToken parse(String token) { .build() .parseSignedClaims(token); - String jti = (String) jwt.getBody().get("jti"); + String jti = (String) jwt.getPayload().get("jti"); if (jti == null) { return new RawToken((String) jwt.getPayload().get("email"), (List) jwt.getPayload().get("scopes")); } - return new RawToken((String) jwt.getBody().get("email"), jti, + return new RawToken((String) jwt.getPayload().get("email"), jti, (List) jwt.getPayload().get("scopes")); } catch (UnsupportedJwtException | MalformedJwtException | IllegalArgumentException ex) { log.error("Invalid JWT Token", ex); diff --git a/build.gradle.kts b/build.gradle.kts index 3d2e1107..0bcfaf9c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -72,14 +72,14 @@ subprojects { implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") - implementation("au.com.console:kassava:2.0.0") - implementation("net.logstash.logback:logstash-logback-encoder:7.2") + implementation("au.com.console:kassava:${Version.kassava}") + implementation("net.logstash.logback:logstash-logback-encoder:${Version.logstashLogbackEncoder}") testImplementation("org.springframework.boot:spring-boot-starter-test") - testImplementation("io.kotest:kotest-runner-junit5:5.5.4") - testImplementation("io.kotest:kotest-assertions-core:5.5.4") - testImplementation("io.kotest.extensions:kotest-extensions-spring:1.1.2") - testImplementation("io.mockk:mockk:1.12.0") + testImplementation("io.kotest:kotest-runner-junit5:${Version.kotest}") + testImplementation("io.kotest:kotest-assertions-core:${Version.kotest}") + testImplementation("io.kotest.extensions:kotest-extensions-spring:${Version.kotestSpring}") + testImplementation("io.mockk:mockk:${Version.mockk}") } tasks.withType { @@ -99,7 +99,7 @@ subprojects { } tasks.withType { - // 동일한 파일(main/resources/application.yaml, intTest/resources/application.yaml)이 있어서, 리소스 복사할 때 충돌 회피 + // 동일한 파일(main/resources/application.yml, intTest/resources/application.yml)이 있어서, 리소스 복사할 때 충돌 회피 duplicatesStrategy = DuplicatesStrategy.INCLUDE } @@ -119,6 +119,7 @@ subprojects { } reports { + // app/build/reports/jacoco/test/html/index.html html.required.set(true) junitXml.required.set(true) } diff --git a/buildSrc/src/main/kotlin/Version.kt b/buildSrc/src/main/kotlin/Version.kt index f1fe6878..984fe571 100644 --- a/buildSrc/src/main/kotlin/Version.kt +++ b/buildSrc/src/main/kotlin/Version.kt @@ -6,4 +6,9 @@ object Version { const val embeddedRedis = "0.7.3" const val fixtureMonkey = "0.3.5" const val mybatisSpring = "3.0.2" + const val kassava = "2.0.0" + const val logstashLogbackEncoder = "7.2" + const val kotest = "5.5.4" + const val kotestSpring = "1.1.2" + const val mockk = "1.12.0" } From 292571f9d1e423ece4dde12e1e3327410d07b637 Mon Sep 17 00:00:00 2001 From: jiwondev Date: Fri, 5 Jan 2024 09:59:39 +0900 Subject: [PATCH 8/9] =?UTF-8?q?chore/#131=20gradle=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EC=88=9C=EC=84=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account-application/build.gradle.kts | 10 +++++----- .../account-infrastructure/build.gradle.kts | 10 +++++----- .../account-presentation/build.gradle.kts | 10 +++++----- app/build.gradle.kts | 8 ++++---- build.gradle.kts | 18 +++++++++--------- .../notification-application/build.gradle.kts | 10 +++++----- .../build.gradle.kts | 10 +++++----- .../notification-presentation/build.gradle.kts | 10 +++++----- order-api/order-application/build.gradle.kts | 10 +++++----- .../order-infrastructure/build.gradle.kts | 10 +++++----- order-api/order-presentation/build.gradle.kts | 10 +++++----- .../payment-application/build.gradle.kts | 10 +++++----- .../payment-infrastructure/build.gradle.kts | 10 +++++----- .../payment-presentation/build.gradle.kts | 10 +++++----- .../product-application/build.gradle.kts | 10 +++++----- .../product-infrastructure/build.gradle.kts | 10 +++++----- .../product-presentation/build.gradle.kts | 10 +++++----- query-api/build.gradle.kts | 10 +++++----- 18 files changed, 93 insertions(+), 93 deletions(-) diff --git a/account-api/account-application/build.gradle.kts b/account-api/account-application/build.gradle.kts index 6e24116a..b0152941 100644 --- a/account-api/account-application/build.gradle.kts +++ b/account-api/account-application/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":account-api:account-domain")) implementation(project(":common")) diff --git a/account-api/account-infrastructure/build.gradle.kts b/account-api/account-infrastructure/build.gradle.kts index ddadabcc..97cb954a 100644 --- a/account-api/account-infrastructure/build.gradle.kts +++ b/account-api/account-infrastructure/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":account-api:account-domain")) implementation(project(":common")) diff --git a/account-api/account-presentation/build.gradle.kts b/account-api/account-presentation/build.gradle.kts index 2b3799fc..204f8a82 100644 --- a/account-api/account-presentation/build.gradle.kts +++ b/account-api/account-presentation/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":account-api:account-application")) implementation(project(":common")) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1c8c0c47..19df7470 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,13 +1,13 @@ -tasks.bootJar { - enabled = true -} - plugins { id("org.springframework.boot") id("io.spring.dependency-management") kotlin("plugin.jpa") } +tasks.bootJar { + enabled = true +} + dependencies { implementation(project(":notification-api:notification-presentation")) implementation(project(":notification-api:notification-application")) diff --git a/build.gradle.kts b/build.gradle.kts index 0bcfaf9c..601bd4ee 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,15 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.springframework.boot.gradle.dsl.SpringBootExtension +plugins { + jacoco + idea + + kotlin("jvm") + kotlin("kapt") + kotlin("plugin.noarg") +} + buildscript { repositories { maven("https://plugins.gradle.org/m2/") @@ -13,15 +22,6 @@ buildscript { } } -plugins { - jacoco - idea - - kotlin("jvm") - kotlin("kapt") - kotlin("plugin.noarg") -} - java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 diff --git a/notification-api/notification-application/build.gradle.kts b/notification-api/notification-application/build.gradle.kts index bfda3a5c..142a1d8d 100644 --- a/notification-api/notification-application/build.gradle.kts +++ b/notification-api/notification-application/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":notification-api:notification-domain")) implementation(project(":common")) diff --git a/notification-api/notification-infrastructure/build.gradle.kts b/notification-api/notification-infrastructure/build.gradle.kts index 7a708b6e..3d93080b 100644 --- a/notification-api/notification-infrastructure/build.gradle.kts +++ b/notification-api/notification-infrastructure/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":notification-api:notification-domain")) implementation(project(":common")) diff --git a/notification-api/notification-presentation/build.gradle.kts b/notification-api/notification-presentation/build.gradle.kts index 001365b1..44e4ecd4 100644 --- a/notification-api/notification-presentation/build.gradle.kts +++ b/notification-api/notification-presentation/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":notification-api:notification-application")) implementation(project(":common")) diff --git a/order-api/order-application/build.gradle.kts b/order-api/order-application/build.gradle.kts index 096ecb66..b8622777 100644 --- a/order-api/order-application/build.gradle.kts +++ b/order-api/order-application/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":order-api:order-domain")) implementation(project(":common")) diff --git a/order-api/order-infrastructure/build.gradle.kts b/order-api/order-infrastructure/build.gradle.kts index 40c3f5e3..c5267625 100644 --- a/order-api/order-infrastructure/build.gradle.kts +++ b/order-api/order-infrastructure/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":order-api:order-domain")) implementation(project(":common")) diff --git a/order-api/order-presentation/build.gradle.kts b/order-api/order-presentation/build.gradle.kts index ef1624f6..4a758369 100644 --- a/order-api/order-presentation/build.gradle.kts +++ b/order-api/order-presentation/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":order-api:order-application")) implementation(project(":common")) diff --git a/payment-api/payment-application/build.gradle.kts b/payment-api/payment-application/build.gradle.kts index 167598c7..50c9ca6b 100644 --- a/payment-api/payment-application/build.gradle.kts +++ b/payment-api/payment-application/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":payment-api:payment-domain")) implementation(project(":common")) diff --git a/payment-api/payment-infrastructure/build.gradle.kts b/payment-api/payment-infrastructure/build.gradle.kts index 41907db7..6d2ccac0 100644 --- a/payment-api/payment-infrastructure/build.gradle.kts +++ b/payment-api/payment-infrastructure/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) diff --git a/payment-api/payment-presentation/build.gradle.kts b/payment-api/payment-presentation/build.gradle.kts index 81041401..5bd23f80 100644 --- a/payment-api/payment-presentation/build.gradle.kts +++ b/payment-api/payment-presentation/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":payment-api:payment-application")) implementation(project(":common")) diff --git a/product-api/product-application/build.gradle.kts b/product-api/product-application/build.gradle.kts index 5fe8ea0e..a79da820 100644 --- a/product-api/product-application/build.gradle.kts +++ b/product-api/product-application/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":product-api:product-domain")) implementation(project(":common")) diff --git a/product-api/product-infrastructure/build.gradle.kts b/product-api/product-infrastructure/build.gradle.kts index 951ea5f4..e0b86928 100644 --- a/product-api/product-infrastructure/build.gradle.kts +++ b/product-api/product-infrastructure/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":product-api:product-domain")) implementation(project(":common")) diff --git a/product-api/product-presentation/build.gradle.kts b/product-api/product-presentation/build.gradle.kts index 66ed86f2..eaf424a3 100644 --- a/product-api/product-presentation/build.gradle.kts +++ b/product-api/product-presentation/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":product-api:product-application")) implementation(project(":common")) diff --git a/query-api/build.gradle.kts b/query-api/build.gradle.kts index f4087868..497ba0d1 100644 --- a/query-api/build.gradle.kts +++ b/query-api/build.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("org.springframework.boot") + id("io.spring.dependency-management") +} + tasks.jar { enabled = true } @@ -6,11 +11,6 @@ tasks.bootJar { enabled = false } -plugins { - id("org.springframework.boot") - id("io.spring.dependency-management") -} - dependencies { implementation(project(":common")) implementation("org.springdoc:springdoc-openapi-ui:${Version.springdocOpenapi}") From 034a0182ff6e4c10a6bd0922b7a42519994dd84c Mon Sep 17 00:00:00 2001 From: jiwondev Date: Fri, 5 Jan 2024 15:24:14 +0900 Subject: [PATCH 9/9] =?UTF-8?q?chore/#131=20kotlin-stdlib=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=EB=B3=80=EA=B2=BD=20(kotlin=201.8=20?= =?UTF-8?q?=EB=8C=80=EC=9D=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 601bd4ee..0ff025df 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -71,7 +71,7 @@ subprojects { implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + implementation("org.jetbrains.kotlin:kotlin-stdlib") implementation("au.com.console:kassava:${Version.kassava}") implementation("net.logstash.logback:logstash-logback-encoder:${Version.logstashLogbackEncoder}")