diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eeebd2f62665787f3548bb50fbdfda111d4a7033..c1e94bd31c0f29f66f52c86c195ee6964751bcdc 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 c048de7841d78191de848ec5808a009d99f0fa52..d5ffa54645b08d43835b4b3b98cb779a4a9772f0 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 97df14e91e8adbca5cc3fceddb439781648317db..14fe667592d6bf06b75f40f9b5c62e31a921533d 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 45cd6a0cd92e43a7b089a7cffc681bd441abd478..33b80176beb0ab6959c10f56021367ecae7178c1 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 {