Skip to content

Commit 369520b

Browse files
committed
build(gradle): Build with Java 21
This is a preparation for upgrading to ORT 35.0.0 which was built with Java 21. Signed-off-by: Sebastian Schuberth <[email protected]>
1 parent 67f407f commit 369520b

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

build.gradle.kts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,17 @@
1919

2020
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
2121

22+
import io.gitlab.arturbosch.detekt.Detekt
23+
2224
import org.jetbrains.gradle.ext.GradleTask
2325
import org.jetbrains.gradle.ext.JarApplication
2426
import org.jetbrains.gradle.ext.runConfigurations
2527
import org.jetbrains.gradle.ext.settings
28+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2629
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
30+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
31+
32+
val javaLanguageVersion: String by project
2733

2834
plugins {
2935
// Apply core plugins.
@@ -46,6 +52,23 @@ configurations {
4652
resolvable("analyzerCliClasspath").get().extendsFrom(project.configurations["runtimeClasspath"])
4753
}
4854

55+
java {
56+
toolchain {
57+
languageVersion = JavaLanguageVersion.of(javaLanguageVersion)
58+
vendor = JvmVendorSpec.ADOPTIUM
59+
}
60+
}
61+
62+
val maxKotlinJvmTarget = runCatching { JvmTarget.fromTarget(javaLanguageVersion) }
63+
.getOrDefault(enumValues<JvmTarget>().max())
64+
65+
tasks.withType<KotlinCompile> {
66+
compilerOptions {
67+
allWarningsAsErrors = true
68+
jvmTarget = maxKotlinJvmTarget
69+
}
70+
}
71+
4972
val shadowJar = tasks.named<ShadowJar>("shadowJar") {
5073
archiveClassifier = "analyzer-cli"
5174

@@ -140,3 +163,14 @@ detekt {
140163
config.from(files(".detekt.yml"))
141164
buildUponDefaultConfig = true
142165
}
166+
167+
tasks.withType<Detekt>().configureEach {
168+
jvmTarget = maxKotlinJvmTarget.target
169+
170+
reports {
171+
xml.required.set(false)
172+
html.required.set(false)
173+
txt.required.set(false)
174+
sarif.required.set(true)
175+
}
176+
}

gradle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Keep this aligned with `toolchainVersion` in `gradle/gradle-daemon-jvm.properties`.
2+
javaLanguageVersion = 21
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Keep this aligned with `javaLanguageVersion` in `gradle.properties`.
2+
toolchainVersion = 21
3+
toolchainVendor = Adoptium

0 commit comments

Comments
 (0)