diff --git a/build-logic/convention/build.gradle.kts b/build-logic/convention/build.gradle.kts index 6d02370106..52c570e840 100644 --- a/build-logic/convention/build.gradle.kts +++ b/build-logic/convention/build.gradle.kts @@ -14,8 +14,6 @@ * limitations under the License. */ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - plugins { `kotlin-dsl` alias(libs.plugins.android.lint) @@ -23,17 +21,8 @@ plugins { group = "com.google.samples.apps.nowinandroid.buildlogic" -// Configure the build-logic plugins to target JDK 17 -// This matches the JDK used to build the project, and is not related to what is running on device. -java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 -} - kotlin { - compilerOptions { - jvmTarget = JvmTarget.JVM_17 - } + jvmToolchain(17) } dependencies { diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt index 8a41dbfcc2..3c89a93761 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt @@ -17,14 +17,11 @@ package com.google.samples.apps.nowinandroid import com.android.build.api.dsl.CommonExtension -import org.gradle.api.JavaVersion import org.gradle.api.Project -import org.gradle.api.plugins.JavaPluginExtension import org.gradle.kotlin.dsl.assign import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.provideDelegate -import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension import org.jetbrains.kotlin.gradle.dsl.KotlinBaseExtension import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension @@ -43,10 +40,6 @@ internal fun Project.configureKotlinAndroid( } compileOptions { - // Up to Java 11 APIs are available through desugaring - // https://developer.android.com/studio/write/java11-minimal-support-table - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 isCoreLibraryDesugaringEnabled = true } } @@ -62,13 +55,6 @@ internal fun Project.configureKotlinAndroid( * Configure base Kotlin options for JVM (non-Android) */ internal fun Project.configureKotlinJvm() { - extensions.configure { - // Up to Java 11 APIs are available through desugaring - // https://developer.android.com/studio/write/java11-minimal-support-table - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - configureKotlin() } @@ -84,7 +70,7 @@ private inline fun Project.configureKotlin() = is KotlinJvmProjectExtension -> compilerOptions else -> TODO("Unsupported project extension $this ${T::class}") }.apply { - jvmTarget = JvmTarget.JVM_11 + jvmToolchain(17) allWarningsAsErrors = warningsAsErrors.toBoolean() freeCompilerArgs.add( // Enable experimental coroutines APIs, including Flow diff --git a/lint/build.gradle.kts b/lint/build.gradle.kts index f1722fa780..bed8fc69ad 100644 --- a/lint/build.gradle.kts +++ b/lint/build.gradle.kts @@ -14,25 +14,13 @@ * limitations under the License. */ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - plugins { - `java-library` kotlin("jvm") alias(libs.plugins.nowinandroid.android.lint) } -java { - // Up to Java 11 APIs are available through desugaring - // https://developer.android.com/studio/write/java11-minimal-support-table - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 -} - kotlin { - compilerOptions { - jvmTarget = JvmTarget.JVM_11 - } + jvmToolchain(17) } dependencies { diff --git a/settings.gradle.kts b/settings.gradle.kts index 2b8c6e45c6..e7b832b6d1 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -29,6 +29,10 @@ pluginManagement { } } +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version("0.5.0") +} + dependencyResolutionManagement { repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS repositories {