diff --git a/app/build.gradle b/app/build.gradle index 0356771551..26a2e33fcb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,6 @@ plugins { id 'app.cash.exhaustive' id 'kotlin-parcelize' id 'com.squareup.wire' - id 'android-constants' id 'translations' } @@ -94,7 +93,7 @@ android { testBuildType 'instrumentation' kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget freeCompilerArgs = ["-Xallow-result-return-type"] } diff --git a/benchmark/build.gradle.kts b/benchmark/build.gradle.kts index 22b2f84ee3..782e11c18f 100644 --- a/benchmark/build.gradle.kts +++ b/benchmark/build.gradle.kts @@ -6,15 +6,15 @@ import org.gradle.kotlin.dsl.extra val benchmarkLibs = the() -val signalBuildToolsVersion: String by extra -val signalCompileSdkVersion: String by extra -val signalTargetSdkVersion: Int by extra -val signalMinSdkVersion: Int by extra -val signalJavaVersion: JavaVersion by extra +val signalBuildToolsVersion: String by rootProject.extra +val signalCompileSdkVersion: String by rootProject.extra +val signalTargetSdkVersion: Int by rootProject.extra +val signalMinSdkVersion: Int by rootProject.extra +val signalJavaVersion: JavaVersion by rootProject.extra +val signalKotlinJvmTarget: String by rootProject.extra plugins { id("com.android.test") - id("android-constants") id("org.jetbrains.kotlin.android") } @@ -28,7 +28,7 @@ android { } kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget } defaultConfig { diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index e41190b2a6..cfc319f47d 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -1,3 +1,5 @@ +import org.gradle.kotlin.dsl.extra + buildscript { val kotlinVersion by extra("1.8.10") @@ -11,11 +13,15 @@ buildscript { } } +apply(from = "${rootDir}/../constants.gradle.kts") + +val signalKotlinJvmTarget: String by extra + allprojects { // Needed because otherwise the kapt task defaults to jvmTarget 17, which "poisons the well" and requires us to bump up too tasks.withType().configureEach { kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget } } } diff --git a/build-logic/plugins/build.gradle.kts b/build-logic/plugins/build.gradle.kts index e1d941e2ed..1863b1ca87 100644 --- a/build-logic/plugins/build.gradle.kts +++ b/build-logic/plugins/build.gradle.kts @@ -1,16 +1,21 @@ +import org.gradle.kotlin.dsl.extra + plugins { `kotlin-dsl` id("groovy-gradle-plugin") id("org.jlleitschuh.gradle.ktlint") version "11.4.2" } +val signalJavaVersion: JavaVersion by rootProject.extra +val signalKotlinJvmTarget: String by rootProject.extra + java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = signalJavaVersion + targetCompatibility = signalJavaVersion } kotlinDslPluginOptions { - jvmTarget.set("11") + jvmTarget.set(signalKotlinJvmTarget) } dependencies { diff --git a/build-logic/plugins/src/main/java/signal-library.gradle.kts b/build-logic/plugins/src/main/java/signal-library.gradle.kts index befda1e12e..0d97b4e3f8 100644 --- a/build-logic/plugins/src/main/java/signal-library.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-library.gradle.kts @@ -8,16 +8,16 @@ import org.gradle.kotlin.dsl.extra val libs = the() val testLibs = the() -val signalBuildToolsVersion: String by extra -val signalCompileSdkVersion: String by extra -val signalTargetSdkVersion: Int by extra -val signalMinSdkVersion: Int by extra -val signalJavaVersion: JavaVersion by extra +val signalBuildToolsVersion: String by rootProject.extra +val signalCompileSdkVersion: String by rootProject.extra +val signalTargetSdkVersion: Int by rootProject.extra +val signalMinSdkVersion: Int by rootProject.extra +val signalJavaVersion: JavaVersion by rootProject.extra +val signalKotlinJvmTarget: String by rootProject.extra plugins { id("com.android.library") id("kotlin-android") - id("android-constants") id("ktlint") } @@ -38,7 +38,7 @@ android { } kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget } lint { diff --git a/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts b/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts index a596a05868..54996d0cf6 100644 --- a/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts @@ -10,17 +10,17 @@ import org.gradle.kotlin.dsl.the val libs = the() val testLibs = the() -val signalBuildToolsVersion: String by extra -val signalCompileSdkVersion: String by extra -val signalTargetSdkVersion: Int by extra -val signalMinSdkVersion: Int by extra -val signalJavaVersion: JavaVersion by extra +val signalBuildToolsVersion: String by rootProject.extra +val signalCompileSdkVersion: String by rootProject.extra +val signalTargetSdkVersion: Int by rootProject.extra +val signalMinSdkVersion: Int by rootProject.extra +val signalJavaVersion: JavaVersion by rootProject.extra +val signalKotlinJvmTarget: String by rootProject.extra plugins { id("com.android.application") id("kotlin-android") id("ktlint") - id("android-constants") } android { @@ -43,7 +43,7 @@ android { } kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget } } diff --git a/build-logic/tools/build.gradle.kts b/build-logic/tools/build.gradle.kts index e93c0af392..ce9529a6da 100644 --- a/build-logic/tools/build.gradle.kts +++ b/build-logic/tools/build.gradle.kts @@ -4,9 +4,11 @@ plugins { id("org.jlleitschuh.gradle.ktlint") version "11.4.2" } +val signalJavaVersion: JavaVersion by rootProject.extra + java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = signalJavaVersion + targetCompatibility = signalJavaVersion } // NOTE: For now, in order to run ktlint on this project, you have to manually run ./gradlew :build-logic:tools:ktlintFormat diff --git a/build.gradle b/build.gradle index 404c858c3f..946448e150 100644 --- a/build.gradle +++ b/build.gradle @@ -40,11 +40,13 @@ wrapper { distributionType = Wrapper.DistributionType.ALL } +apply from: "${rootDir}/constants.gradle.kts" + allprojects { // Needed because otherwise the kapt task defaults to jvmTarget 17, which "poisons the well" and requires us to bump up too tasks.withType(KotlinCompile).configureEach { kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget } } } diff --git a/build-logic/plugins/src/main/java/android-constants.gradle.kts b/constants.gradle.kts similarity index 85% rename from build-logic/plugins/src/main/java/android-constants.gradle.kts rename to constants.gradle.kts index 16f597b94f..79a0a00f3b 100644 --- a/build-logic/plugins/src/main/java/android-constants.gradle.kts +++ b/constants.gradle.kts @@ -3,3 +3,4 @@ val signalCompileSdkVersion by extra("android-33") val signalTargetSdkVersion by extra(31) val signalMinSdkVersion by extra(21) val signalJavaVersion by extra(JavaVersion.VERSION_11) +val signalKotlinJvmTarget by extra("11") \ No newline at end of file diff --git a/libsignal/service/build.gradle b/libsignal/service/build.gradle index 7b63faf14e..915c6f678e 100644 --- a/libsignal/service/build.gradle +++ b/libsignal/service/build.gradle @@ -17,13 +17,13 @@ group = lib_signal_service_group_info java { withJavadocJar() withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = signalJavaVersion + targetCompatibility = signalJavaVersion } tasks.withType(KotlinCompile).configureEach { kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget } } diff --git a/microbenchmark/build.gradle.kts b/microbenchmark/build.gradle.kts index d1f74bd1fb..b7e4f902d7 100644 --- a/microbenchmark/build.gradle.kts +++ b/microbenchmark/build.gradle.kts @@ -4,15 +4,15 @@ plugins { id("com.android.library") id("androidx.benchmark") id("org.jetbrains.kotlin.android") - id("android-constants") id("ktlint") } -val signalBuildToolsVersion: String by extra -val signalCompileSdkVersion: String by extra -val signalTargetSdkVersion: Int by extra -val signalMinSdkVersion: Int by extra -val signalJavaVersion: JavaVersion by extra +val signalBuildToolsVersion: String by rootProject.extra +val signalCompileSdkVersion: String by rootProject.extra +val signalTargetSdkVersion: Int by rootProject.extra +val signalMinSdkVersion: Int by rootProject.extra +val signalJavaVersion: JavaVersion by rootProject.extra +val signalKotlinJvmTarget: String by rootProject.extra android { namespace = "org.signal.microbenchmark" @@ -24,7 +24,7 @@ android { } kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget } defaultConfig { diff --git a/settings.gradle b/settings.gradle index 3040346ef7..877175f8f0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -87,4 +87,4 @@ project(':qr-app').projectDir = file('qr/app') rootProject.name='Signal' -apply from: 'dependencies.gradle' +apply from: 'dependencies.gradle' \ No newline at end of file diff --git a/video-app/build.gradle.kts b/video-app/build.gradle.kts index fc01414921..0b85ca7d81 100644 --- a/video-app/build.gradle.kts +++ b/video-app/build.gradle.kts @@ -7,11 +7,12 @@ plugins { id("signal-sample-app") } -val signalBuildToolsVersion: String by extra -val signalCompileSdkVersion: String by extra -val signalTargetSdkVersion: Int by extra -val signalMinSdkVersion: Int by extra -val signalJavaVersion: JavaVersion by extra +val signalBuildToolsVersion: String by rootProject.extra +val signalCompileSdkVersion: String by rootProject.extra +val signalTargetSdkVersion: Int by rootProject.extra +val signalMinSdkVersion: Int by rootProject.extra +val signalJavaVersion: JavaVersion by rootProject.extra +val signalKotlinJvmTarget: String by rootProject.extra android { namespace = "org.thoughtcrime.video.app" @@ -41,7 +42,7 @@ android { targetCompatibility = signalJavaVersion } kotlinOptions { - jvmTarget = "11" + jvmTarget = signalKotlinJvmTarget } buildFeatures { compose = true