Open ddamacena-zz opened 3 years ago
No intellij project => New => Module...:
project => New => Module...
Selecione Gradle e Module SDK (no caso do exemplo é SDK 11) e como Additional Libraries selecione Kotlin/JVM:
Gradle
Module SDK
Kotlin/JVM
Agora Diigite o nome do Seu Domain:
No arquivo settings.gradle.kts será incluído seu sub-projeto domain:
settings.gradle.kts
domain
rootProject.name = "customer-dynamodb-redis-kafka-pix" include("domain")
build.gradle.kts
allprojects
allprojects { group = "com.example" version = "1.0.0" tasks.withType<JavaCompile> { sourceCompatibility = "11" targetCompatibility = "11" } tasks.withType<KotlinCompile> { kotlinOptions { freeCompilerArgs = listOf("-Xjsr305=strict") jvmTarget = "11" } } }
E buildScript:
buildscript { repositories { mavenCentral() } }
Arquivo completo: https://github.com/diegolirio/kotlin-spring-boot/blob/master/customer-dynamodb-redis-kafka-pix/build.gradle.kts.
No build.gradle.kts deverá ter algumas dependencias e deverá ser evitado frameworks e muitas libs:
plugins { kotlin("jvm") } dependencies { implementation(kotlin("stdlib")) implementation(kotlin("reflect")) implementation("javax.inject:javax.inject:1") }
Estrutura Domain:
As dependencias que normalmente são utilizadas no Projeto Principal agora fica em uma camada a parte chamada Application que contem os Frameworks de apoio a aplicação.
Application
plugins { id("org.springframework.boot") kotlin("jvm") kotlin("plugin.spring") } dependencies { implementation(project(":domain")) implementation("org.springframework.boot:spring-boot-starter-actuator") implementation("org.springframework.boot:spring-boot-starter-data-redis") implementation("org.springframework.boot:spring-boot-starter-web") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") runtimeOnly("io.micrometer:micrometer-registry-new-relic") testImplementation("org.springframework.boot:spring-boot-starter-test") implementation("com.amazonaws:aws-java-sdk-dynamodb:1.11.740") implementation("com.amazonaws:aws-java-sdk-core:1.11.740") }
Criando Modulo Gradle DSL Kotlin
No intellij
project => New => Module...
:Selecione
Gradle
eModule SDK
(no caso do exemplo é SDK 11) e como Additional Libraries selecioneKotlin/JVM
:Agora Diigite o nome do Seu Domain:
No arquivo
settings.gradle.kts
será incluído seu sub-projetodomain
:No arquivo
build.gradle.kts
do Projeto Principal adicione oallprojects
:E buildScript:
Arquivo completo: https://github.com/diegolirio/kotlin-spring-boot/blob/master/customer-dynamodb-redis-kafka-pix/build.gradle.kts.
Sub Projeto Domain
No build.gradle.kts deverá ter algumas dependencias e deverá ser evitado frameworks e muitas libs:
Estrutura Domain:
Sub Projeto Application