From d61b0a3f926d5ca4642c183df18734e885b08ec6 Mon Sep 17 00:00:00 2001 From: Bo Zhang Date: Thu, 18 Dec 2025 09:56:07 +0800 Subject: [PATCH] Make AGP, buildTools, kotlin and java versions configurable via system properties --- build-logic/convention/build.gradle.kts | 7 ++++--- .../google/samples/apps/nowinandroid/KotlinAndroid.kt | 1 + build-logic/settings.gradle.kts | 3 +++ settings.gradle.kts | 10 ++++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/build-logic/convention/build.gradle.kts b/build-logic/convention/build.gradle.kts index 166b54907..d101a046c 100644 --- a/build-logic/convention/build.gradle.kts +++ b/build-logic/convention/build.gradle.kts @@ -25,14 +25,15 @@ 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. +val javaVersion = System.getProperty("javaVersion","17") java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.toVersion(javaVersion) + targetCompatibility = JavaVersion.toVersion(javaVersion) } kotlin { compilerOptions { - jvmTarget = JvmTarget.JVM_17 + jvmTarget = JvmTarget.fromTarget(javaVersion) } } 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 2ac96e556..840035c89 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 @@ -36,6 +36,7 @@ internal fun Project.configureKotlinAndroid( ) { commonExtension.apply { compileSdk = 35 + buildToolsVersion = System.getProperty("buildToolsVersion", "35.0.0") defaultConfig { minSdk = 23 diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts index ff96cc84a..bd0d8b870 100644 --- a/build-logic/settings.gradle.kts +++ b/build-logic/settings.gradle.kts @@ -35,6 +35,9 @@ dependencyResolutionManagement { versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) + // Synchronize changes with root settings.gradle.kts + version("androidGradlePlugin", System.getProperty("agpVersion", "8.13.0")) + version("kotlin", System.getProperty("kotlinVersion", "2.2.20")) } } } diff --git a/settings.gradle.kts b/settings.gradle.kts index 2b8c6e45c..5d6c59e83 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -83,3 +83,13 @@ check(JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_17)) { https://developer.android.com/build/jdks#jdk-config-in-studio """.trimIndent() } + +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + // Synchronize changes with build-logic/settings.gradle.kts + version("androidGradlePlugin", System.getProperty("agpVersion", "8.13.0")) + version("kotlin", System.getProperty("kotlinVersion", "2.2.20")) + } + } +}