Skip to content

Commit 8f03882

Browse files
committed
Add Convention Plugins for Kotlin
1 parent 9142fd7 commit 8f03882

16 files changed

+46
-3
lines changed

app/build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@ dependencies {
1111
implementation(projects.tatooine)
1212
implementation(libs.guice)
1313
implementation(libs.guice.servlet)
14+
implementation(libs.kotlin.stdlib)
1415
implementation(libs.slf4j.api)
1516
runtimeOnly(libs.slf4j.simple)
1617
providedCompile(libs.jakarta.servlet.api)
1718

19+
mockApiApi(libs.guava)
1820
mockApiImplementation(projects.app)
19-
mockApiImplementation(libs.guava)
2021

2122
testImplementation(libs.junit.jupiter.api)
2223

24+
testEndToEndApi(libs.junit.jupiter.api)
2325
testEndToEndImplementation(projects.app) { capabilities { requireFeature("mock-api") } }
2426
testEndToEndImplementation(libs.guava)
25-
testEndToEndImplementation(libs.junit.jupiter.api)
2627
}

bespin/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ plugins { id("org.example.gradle.component.library") }
22

33
dependencies {
44
api(projects.corellia)
5+
api(libs.kotlin.stdlib)
56
implementation(projects.coruscant)
67
implementation(libs.velocity.engine.core)
78

corellia/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ plugins {
44
}
55

66
dependencies {
7+
api(libs.kotlin.stdlib)
78
api(libs.poi)
89
implementation(libs.commons.io)
910
implementation(libs.poi.ooxml)

coruscant/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ dependencies {
88
api(libs.jackson.annotations)
99
api(libs.jackson.databind)
1010
api(libs.jakarta.inject.api)
11+
api(libs.kotlin.stdlib)
1112
api(libs.opensaml)
1213
api(libs.org.json)
1314
implementation(libs.httpcomponents.fluent.hc)

gradle.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@ org.gradle.configuration-cache=true
88

99
# activate Gradle build cache - switch between branches/commits without rebuilding every time
1010
org.gradle.caching=true
11+
12+
# control Kotlin standard library dependencies (and their scope) ourselves
13+
kotlin.stdlib.default.dependency=false

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ jakarta-mail-impl = { module = "com.sun.mail:jakarta.mail", version.ref = "jakar
3939
jakarta-servlet-api = { module = "jakarta.servlet:jakarta.servlet-api", version.ref = "jakarta-servlet" }
4040
jsr305 = { module = "com.google.code.findbugs:jsr305", version.ref = "jsr305" }
4141
junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit5" }
42+
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib" }
43+
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test" }
4244
opensaml = { module = "org.opensaml:opensaml", version.ref = "opensaml" }
4345
org-json = { module = "org.json:json", version.ref = "org-json" }
4446
org-reflections = { module = "org.reflections:reflections", version.ref = "org-reflections" }

gradle/plugins/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ dependencies {
99
implementation("io.fuchs.gradle.classpath-collision-detector:classpath-collision-detector:1.0.0")
1010
implementation("org.cyclonedx:cyclonedx-gradle-plugin:2.3.1")
1111
implementation("org.gradlex:jvm-dependency-conflict-resolution:2.4")
12+
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.20")
1213
}
1314

1415
testing.suites.named<JvmTestSuite>("test") {

gradle/plugins/src/main/kotlin/org.example.gradle.base.identity.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins { id("org.gradle.base") }
22

33
// Set the group required to refer to a Module "from outside".
44
// I.e., when it is published or used in Included Builds.
5-
group = "org.example.product.java"
5+
group = "org.example.product.kotlin"
66

77
// Set the version from 'version.txt'
88
version = providers.fileContents(isolated.rootProject.projectDirectory.file("gradle/version.txt")).asText.getOrElse("")
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
plugins {
2+
id("com.diffplug.spotless")
3+
id("org.example.gradle.base.lifecycle")
4+
}
5+
6+
spotless { kotlin { ktfmt().kotlinlangStyle() } }

gradle/plugins/src/main/kotlin/org.example.gradle.component.application.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ plugins {
66
id("org.example.gradle.check.dependencies")
77
id("org.example.gradle.check.format-gradle")
88
id("org.example.gradle.check.format-java")
9+
id("org.example.gradle.check.format-kotlin")
910
id("org.example.gradle.feature.checksum")
1011
id("org.example.gradle.feature.compile-java")
12+
id("org.example.gradle.feature.compile-kotlin")
1113
id("org.example.gradle.feature.javadoc")
1214
id("org.example.gradle.feature.test")
1315
id("org.example.gradle.feature.test-end-to-end")

0 commit comments

Comments
 (0)