Skip to content

Commit bbb7bd6

Browse files
authored
Removed Java configuration (#20)
- pure Kotlin application, removed jvmTarget configuration - fixed serialization dependency for common module
1 parent b9c9907 commit bbb7bd6

File tree

5 files changed

+29
-43
lines changed

5 files changed

+29
-43
lines changed

common/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id("com.saveourtool.template.build.kotlin-mpp-configuration")
2+
id("com.saveourtool.template.build.kotlin-mpp-with-jvm-configuration")
33
}
44

55
kotlin {
@@ -8,7 +8,7 @@ kotlin {
88
sourceSets {
99
commonMain {
1010
dependencies {
11-
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core")
11+
implementation(libs.kotlinx.serialization.core)
1212
}
1313
}
1414
}

gradle/libs.versions.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
2-
java = "21"
32
kotlin = "1.9.22"
3+
kotlin-serialization = "1.6.3"
44
spring-boot = "3.2.3"
55
springdoc = "2.3.0"
66

@@ -17,3 +17,5 @@ spring-boot-dependencies = { module = "org.springframework.boot:spring-boot-depe
1717
springdoc-openapi-starter-common = { module = "org.springdoc:springdoc-openapi-starter-common", version.ref = "springdoc" }
1818
springdoc-openapi-starter-webflux-ui = { module = "org.springdoc:springdoc-openapi-starter-webflux-ui", version.ref = "springdoc" }
1919
springdoc-openapi-starter-webmvc-ui = { module = "org.springdoc:springdoc-openapi-starter-webmvc-ui", version.ref = "springdoc" }
20+
21+
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlin-serialization"}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.saveourtool.template.build
2+
3+
import org.gradle.api.Project
4+
import org.gradle.kotlin.dsl.withType
5+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
6+
7+
/**
8+
* Enables null-safe checking (jsr305) and allows OptIn
9+
*/
10+
fun Project.configureKotlinCompile() {
11+
tasks.withType<KotlinCompile> {
12+
kotlinOptions {
13+
freeCompilerArgs += "-Xjsr305=strict"
14+
}
15+
compilerOptions {
16+
freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
17+
}
18+
}
19+
}

gradle/plugins/src/main/kotlin/com/saveourtool/template/build/kotlin-mpp-configuration.gradle.kts renamed to gradle/plugins/src/main/kotlin/com/saveourtool/template/build/kotlin-mpp-with-jvm-configuration.gradle.kts

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,16 @@ package com.saveourtool.template.build
33
import org.gradle.accessors.dm.LibrariesForLibs
44
import org.gradle.api.tasks.testing.Test
55
import org.gradle.kotlin.dsl.*
6-
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
76

87
plugins {
98
kotlin("multiplatform")
109
}
1110

1211
@Suppress("GENERIC_VARIABLE_WRONG_DECLARATION")
1312
val libs = the<LibrariesForLibs>()
14-
val javaVersion: JavaVersion = JavaVersion.toVersion(libs.versions.java.get())
15-
16-
java {
17-
sourceCompatibility = javaVersion
18-
}
1913

2014
kotlin {
21-
jvmToolchain {
22-
this.languageVersion.set(JavaLanguageVersion.of(javaVersion.majorVersion))
23-
}
15+
jvm()
2416

2517
sourceSets {
2618
jvmMain {
@@ -31,15 +23,7 @@ kotlin {
3123
}
3224
}
3325

34-
tasks.withType<KotlinCompile> {
35-
kotlinOptions {
36-
freeCompilerArgs += "-Xjsr305=strict"
37-
jvmTarget = javaVersion.majorVersion
38-
}
39-
compilerOptions {
40-
freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
41-
}
42-
}
26+
configureKotlinCompile()
4327

4428
tasks.withType<Test> {
4529
useJUnitPlatform()

gradle/plugins/src/main/kotlin/com/saveourtool/template/build/spring-boot-kotlin-configuration.gradle.kts

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.saveourtool.template.build
33
import org.gradle.accessors.dm.LibrariesForLibs
44
import org.gradle.api.tasks.testing.Test
55
import org.gradle.kotlin.dsl.*
6+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
67
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
78

89
plugins {
@@ -13,30 +14,10 @@ plugins {
1314
id("org.springframework.boot")
1415
}
1516

17+
configureKotlinCompile()
18+
1619
@Suppress("GENERIC_VARIABLE_WRONG_DECLARATION")
1720
val libs = the<LibrariesForLibs>()
18-
val javaVersion: JavaVersion = JavaVersion.toVersion(libs.versions.java.get())
19-
20-
java {
21-
sourceCompatibility = javaVersion
22-
}
23-
24-
kotlin {
25-
jvmToolchain {
26-
this.languageVersion.set(JavaLanguageVersion.of(javaVersion.majorVersion))
27-
}
28-
}
29-
30-
tasks.withType<KotlinCompile> {
31-
kotlinOptions {
32-
freeCompilerArgs += "-Xjsr305=strict"
33-
jvmTarget = javaVersion.majorVersion
34-
}
35-
compilerOptions {
36-
freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
37-
}
38-
}
39-
4021
dependencies {
4122
implementation(project.dependencies.enforcedPlatform(libs.spring.boot.dependencies))
4223
}

0 commit comments

Comments
 (0)