Skip to content

Commit ea7bcf3

Browse files
committed
Configure jvmToolchain for Android projects
1 parent 803e64b commit ea7bcf3

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import com.android.build.api.dsl.ApplicationExtension
1919
import com.google.samples.apps.nowinandroid.configureFlavors
2020
import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
2121
import com.google.samples.apps.nowinandroid.configureKotlinAndroid
22+
import com.google.samples.apps.nowinandroid.configureKotlinAndroidToolchain
2223
import com.google.samples.apps.nowinandroid.configurePrintApksTask
2324
import org.gradle.api.Plugin
2425
import org.gradle.api.Project
@@ -32,6 +33,7 @@ class AndroidApplicationConventionPlugin : Plugin<Project> {
3233
apply("org.jetbrains.kotlin.android")
3334
}
3435

36+
configureKotlinAndroidToolchain()
3537
extensions.configure<ApplicationExtension> {
3638
configureKotlinAndroid(this)
3739
defaultConfig.targetSdk = 33

build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.android.build.gradle.LibraryExtension
2020
import com.google.samples.apps.nowinandroid.configureFlavors
2121
import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
2222
import com.google.samples.apps.nowinandroid.configureKotlinAndroid
23+
import com.google.samples.apps.nowinandroid.configureKotlinAndroidToolchain
2324
import com.google.samples.apps.nowinandroid.configurePrintApksTask
2425
import org.gradle.api.Plugin
2526
import org.gradle.api.Project
@@ -37,6 +38,7 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
3738
apply("org.jetbrains.kotlin.android")
3839
}
3940

41+
configureKotlinAndroidToolchain()
4042
extensions.configure<LibraryExtension> {
4143
configureKotlinAndroid(this)
4244
defaultConfig.targetSdk = 33

build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ import org.gradle.api.JavaVersion
2121
import org.gradle.api.Project
2222
import org.gradle.api.artifacts.VersionCatalogsExtension
2323
import org.gradle.api.plugins.ExtensionAware
24+
import org.gradle.kotlin.dsl.configure
2425
import org.gradle.kotlin.dsl.dependencies
2526
import org.gradle.kotlin.dsl.getByType
2627
import org.gradle.kotlin.dsl.provideDelegate
28+
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
2729
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
2830

2931
/**
@@ -74,3 +76,12 @@ internal fun Project.configureKotlinAndroid(
7476
fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
7577
(this as ExtensionAware).extensions.configure("kotlinOptions", block)
7678
}
79+
80+
/**
81+
* Configure Kotlin's jvm toolchain for Android projects
82+
*/
83+
internal fun Project.configureKotlinAndroidToolchain() {
84+
extensions.configure<KotlinAndroidProjectExtension> {
85+
jvmToolchain(11)
86+
}
87+
}

0 commit comments

Comments
 (0)