From 7f71fedd2ac29e82ba6dde42d3104bfd1e07137a Mon Sep 17 00:00:00 2001 From: Janne Mareike Koschinski <janne@kuschku.de> Date: Wed, 30 Aug 2023 03:44:46 +0200 Subject: [PATCH] build: properly set jdk version --- .gitlab-ci.yml | 2 +- .../src/main/kotlin/AndroidLibraryConvention.kt | 6 ++++++ .../src/main/kotlin/KotlinAndroidConvention.kt | 11 +++++++++++ .../convention/src/main/kotlin/KotlinConvention.kt | 13 +++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eeebd2f62..c1e94bd31 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: "k8r.eu/justjanne/android-sdk:dfb791e9" +image: "k8r.eu/justjanne/android-sdk:be7526df" cache: key: "$CI_PROJECT_NAME" diff --git a/gradle/convention/src/main/kotlin/AndroidLibraryConvention.kt b/gradle/convention/src/main/kotlin/AndroidLibraryConvention.kt index c048de784..d5ffa5464 100644 --- a/gradle/convention/src/main/kotlin/AndroidLibraryConvention.kt +++ b/gradle/convention/src/main/kotlin/AndroidLibraryConvention.kt @@ -1,3 +1,4 @@ +import org.gradle.api.JavaVersion import com.android.build.api.dsl.LibraryExtension import org.gradle.api.Plugin import org.gradle.api.Project @@ -24,6 +25,11 @@ class AndroidLibraryConvention : Plugin<Project> { testInstrumentationRunnerArguments["disableAnalytics"] = "true" } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + lint { warningsAsErrors = true lintConfig = file("../lint.xml") diff --git a/gradle/convention/src/main/kotlin/KotlinAndroidConvention.kt b/gradle/convention/src/main/kotlin/KotlinAndroidConvention.kt index 97df14e91..14fe66759 100644 --- a/gradle/convention/src/main/kotlin/KotlinAndroidConvention.kt +++ b/gradle/convention/src/main/kotlin/KotlinAndroidConvention.kt @@ -4,10 +4,13 @@ import org.gradle.api.Project import org.gradle.api.plugins.JavaPluginExtension import org.gradle.api.tasks.testing.Test import org.gradle.jvm.toolchain.JavaLanguageVersion +import org.gradle.jvm.toolchain.JavaToolchainService import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.getByType import org.gradle.kotlin.dsl.provideDelegate import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.tasks.UsesKotlinJavaToolchain class KotlinAndroidConvention : Plugin<Project> { override fun apply(target: Project) { @@ -18,6 +21,14 @@ class KotlinAndroidConvention : Plugin<Project> { apply("com.google.devtools.ksp") } + val service = project.extensions.getByType<JavaToolchainService>() + val customLauncher = service.launcherFor { + languageVersion.set(JavaLanguageVersion.of(17)) + } + tasks.withType<UsesKotlinJavaToolchain>().configureEach { + kotlinJavaToolchain.toolchain.use(customLauncher) + } + // Use withType to workaround https://youtrack.jetbrains.com/issue/KT-55947 tasks.withType<KotlinCompile>().configureEach { kotlinOptions { diff --git a/gradle/convention/src/main/kotlin/KotlinConvention.kt b/gradle/convention/src/main/kotlin/KotlinConvention.kt index 45cd6a0cd..33b80176b 100644 --- a/gradle/convention/src/main/kotlin/KotlinConvention.kt +++ b/gradle/convention/src/main/kotlin/KotlinConvention.kt @@ -4,13 +4,18 @@ import org.gradle.api.Project import org.gradle.api.plugins.JavaPluginExtension import org.gradle.api.tasks.testing.Test import org.gradle.jvm.toolchain.JavaLanguageVersion +import org.gradle.jvm.toolchain.JavaToolchainService import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies +import org.gradle.kotlin.dsl.getByType import org.gradle.kotlin.dsl.kotlin import org.gradle.kotlin.dsl.provideDelegate import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions +import org.jetbrains.kotlin.gradle.internal.KaptGenerateStubsTask +import org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.tasks.UsesKotlinJavaToolchain class KotlinConvention : Plugin<Project> { override fun apply(target: Project) { @@ -21,6 +26,14 @@ class KotlinConvention : Plugin<Project> { apply("com.google.devtools.ksp") } + val service = project.extensions.getByType<JavaToolchainService>() + val customLauncher = service.launcherFor { + languageVersion.set(JavaLanguageVersion.of(17)) + } + tasks.withType<UsesKotlinJavaToolchain>().configureEach { + kotlinJavaToolchain.toolchain.use(customLauncher) + } + // Use withType to workaround https://youtrack.jetbrains.com/issue/KT-55947 tasks.withType<KotlinCompile>().configureEach { kotlinOptions { -- GitLab