diff --git a/build.gradle.kts b/build.gradle.kts index 40684e3..f206a8b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,13 @@ +object Versions { + const val springBoot = "3.4.3" + const val springDependencyManagement = "1.1.7" + const val kotlinJvm = "1.9.25" + const val kotlinPluginSpring = "1.9.25" +} + plugins { kotlin("jvm") version "1.9.25" kotlin("plugin.spring") version "1.9.25" - id("org.springframework.boot") version "3.4.4" id("io.spring.dependency-management") version "1.1.7" } @@ -19,18 +25,23 @@ repositories { } subprojects { + apply(plugin = "java") + apply(plugin = "org.jetbrains.kotlin.jvm") + repositories { mavenCentral() } + + dependencies { + implementation(platform("org.springframework.boot:spring-boot-dependencies:${Versions.springBoot}")) + } + } -dependencies { - implementation("org.springframework.boot:spring-boot-starter-web") - implementation("com.fasterxml.jackson.module:jackson-module-kotlin") - implementation("org.jetbrains.kotlin:kotlin-reflect") - testImplementation("org.springframework.boot:spring-boot-starter-test") - testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") - testRuntimeOnly("org.junit.platform:junit-platform-launcher") +dependencyManagement { + imports { + mavenBom("org.springframework.boot:spring-boot-dependencies:${Versions.springBoot}") + } } kotlin { diff --git a/demo-application/build.gradle.kts b/demo-application/build.gradle.kts new file mode 100644 index 0000000..ec4910d --- /dev/null +++ b/demo-application/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + kotlin("jvm") + id("io.spring.dependency-management") version "1.1.7" + id("java") +} + +dependencies { + implementation(kotlin("stdlib")) + implementation(project(":demo-domain")) + implementation("org.springframework:spring-context") +} \ No newline at end of file diff --git a/demo-application/src/main/kotlin/com/example/demo/application/product/ProductUseCases.kt b/demo-application/src/main/kotlin/com/example/demo/application/product/ProductUseCases.kt new file mode 100644 index 0000000..c6fba53 --- /dev/null +++ b/demo-application/src/main/kotlin/com/example/demo/application/product/ProductUseCases.kt @@ -0,0 +1,8 @@ +package com.example.demo.application.product + +import org.springframework.stereotype.Service + +@Service +class ProductUseCases { + +} \ No newline at end of file diff --git a/demo-domain/src/main/kotlin/com/example/demo/domain/product/port/ProductPort.kt b/demo-domain/src/main/kotlin/com/example/demo/domain/product/port/ProductPort.kt index eedba77..e5f2e34 100644 --- a/demo-domain/src/main/kotlin/com/example/demo/domain/product/port/ProductPort.kt +++ b/demo-domain/src/main/kotlin/com/example/demo/domain/product/port/ProductPort.kt @@ -9,4 +9,6 @@ interface ProductPort { fun getAll(): List fun save(product: Product) + + fun deleteById(id: UUID) } \ No newline at end of file diff --git a/demo-launcher/build.gradle.kts b/demo-launcher/build.gradle.kts index 3633d28..cb7b30d 100644 --- a/demo-launcher/build.gradle.kts +++ b/demo-launcher/build.gradle.kts @@ -1,7 +1,7 @@ plugins { kotlin("jvm") - id("org.springframework.boot") - id("io.spring.dependency-management") + id("org.springframework.boot") version "3.4.3" + id("io.spring.dependency-management") version "1.1.7" id("java") } @@ -11,5 +11,5 @@ dependencies { } springBoot { - mainClass = "com.example.demo.launcher.ApplicationLauncher" + mainClass = "com.example.demo.launcher.ApplicationLauncherKt" } diff --git a/demo-launcher/src/main/kotlin/com/example/demo/launcher/ApplicationLauncher.kt b/demo-launcher/src/main/kotlin/com/example/demo/launcher/ApplicationLauncher.kt index b384f95..5a10054 100644 --- a/demo-launcher/src/main/kotlin/com/example/demo/launcher/ApplicationLauncher.kt +++ b/demo-launcher/src/main/kotlin/com/example/demo/launcher/ApplicationLauncher.kt @@ -4,7 +4,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication @SpringBootApplication -class DemoApplication +open class DemoApplication fun main(args: Array) { runApplication(*args) diff --git a/settings.gradle.kts b/settings.gradle.kts index fb886fc..108a368 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,4 @@ rootProject.name = "demo" include(":demo-domain") +include(":demo-application") include(":demo-launcher") diff --git a/src/main/kotlin/com/example/demo/DemoApplication.kt b/src/main/kotlin/com/example/demo/DemoApplication.kt deleted file mode 100644 index 7fd8c28..0000000 --- a/src/main/kotlin/com/example/demo/DemoApplication.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.demo - -import org.springframework.boot.autoconfigure.SpringBootApplication -import org.springframework.boot.runApplication - -@SpringBootApplication -class DemoApplication - -fun main(args: Array) { - runApplication(*args) -} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 2109a44..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=demo diff --git a/src/test/kotlin/com/example/demo/DemoApplicationTests.kt b/src/test/kotlin/com/example/demo/DemoApplicationTests.kt deleted file mode 100644 index 2388354..0000000 --- a/src/test/kotlin/com/example/demo/DemoApplicationTests.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.example.demo - -import org.junit.jupiter.api.Test -import org.springframework.boot.test.context.SpringBootTest - -@SpringBootTest -class DemoApplicationTests { - - @Test - fun contextLoads() { - } - -}