diff --git a/appcheck/firebase-appcheck/firebase-appcheck.gradle b/appcheck/firebase-appcheck/firebase-appcheck.gradle index 59dea8cc1fb..c43505f766a 100644 --- a/appcheck/firebase-appcheck/firebase-appcheck.gradle +++ b/appcheck/firebase-appcheck/firebase-appcheck.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -43,10 +45,11 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions.unitTests.includeAndroidResources = true } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { javadocClasspath libs.autovalue.annotations diff --git a/encoders/firebase-encoders-json/firebase-encoders-json.gradle b/encoders/firebase-encoders-json/firebase-encoders-json.gradle index d054982b2dd..beb4cb70a4b 100644 --- a/encoders/firebase-encoders-json/firebase-encoders-json.gradle +++ b/encoders/firebase-encoders-json/firebase-encoders-json.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id 'kotlin-android' @@ -19,7 +21,7 @@ plugins { firebaseLibrary { publishJavadoc = false - releaseNotes { + releaseNotes { enabled.set(false) } } @@ -38,9 +40,6 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = '1.8' - } testOptions { unitTests { includeAndroidResources = true @@ -48,6 +47,8 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { api 'com.google.firebase:firebase-encoders:17.0.0' diff --git a/firebase-ai/firebase-ai.gradle.kts b/firebase-ai/firebase-ai.gradle.kts index 9d85562bee2..e65cb8674a7 100644 --- a/firebase-ai/firebase-ai.gradle.kts +++ b/firebase-ai/firebase-ai.gradle.kts @@ -16,7 +16,7 @@ @file:Suppress("UnstableApiUsage") -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { id("firebase-library") @@ -55,7 +55,6 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions { targetSdk = targetSdkVersion unitTests { @@ -73,18 +72,9 @@ android { } } -// Enable Kotlin "Explicit API Mode". This causes the Kotlin compiler to fail if any -// classes, methods, or properties have implicit `public` visibility. This check helps -// avoid accidentally leaking elements into the public API, requiring that any public -// element be explicitly declared as `public`. -// https://github.com/Kotlin/KEEP/blob/master/proposals/explicit-api-mode.md -// https://chao2zhang.medium.com/explicit-api-mode-for-kotlin-on-android-b8264fdd76d1 -tasks.withType().all { - if (!name.contains("test", ignoreCase = true)) { - if (!kotlinOptions.freeCompilerArgs.contains("-Xexplicit-api=strict")) { - kotlinOptions.freeCompilerArgs += "-Xexplicit-api=strict" - } - } +kotlin { + compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } + explicitApi() } dependencies { diff --git a/firebase-appdistribution-api/firebase-appdistribution-api.gradle b/firebase-appdistribution-api/firebase-appdistribution-api.gradle index e1d5b47b9de..5a097ded575 100644 --- a/firebase-appdistribution-api/firebase-appdistribution-api.gradle +++ b/firebase-appdistribution-api/firebase-appdistribution-api.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -41,9 +43,6 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = '1.8' - } testOptions { unitTests { includeAndroidResources = true @@ -51,6 +50,8 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { api libs.playservices.tasks api(libs.firebase.common) diff --git a/firebase-appdistribution/test-app/test-app.gradle b/firebase-appdistribution/test-app/test-app.gradle index 5af5540892f..0498bd56bb7 100644 --- a/firebase-appdistribution/test-app/test-app.gradle +++ b/firebase-appdistribution/test-app/test-app.gradle @@ -68,11 +68,10 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = '1.8' - } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { // TODO(rachelprince): Add flag to build with public version of SDK println("Building with HEAD version ':firebase-appdistribution' of SDK") diff --git a/firebase-common/firebase-common.gradle.kts b/firebase-common/firebase-common.gradle.kts index 8d3a6998e56..a406b0b1707 100644 --- a/firebase-common/firebase-common.gradle.kts +++ b/firebase-common/firebase-common.gradle.kts @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id("firebase-library") id("kotlin-android") @@ -44,7 +46,6 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions { targetSdk = targetSdkVersion unitTests { isIncludeAndroidResources = true } @@ -52,6 +53,8 @@ android { lint { targetSdk = targetSdkVersion } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { api(libs.kotlin.coroutines.tasks) diff --git a/firebase-config/bandwagoner/bandwagoner.gradle b/firebase-config/bandwagoner/bandwagoner.gradle index 50468145902..fed8ad1427a 100644 --- a/firebase-config/bandwagoner/bandwagoner.gradle +++ b/firebase-config/bandwagoner/bandwagoner.gradle @@ -14,6 +14,8 @@ * limitations under the License. */ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + apply plugin: 'com.android.application' apply plugin: com.google.firebase.gradle.plugins.ci.device.FirebaseTestLabPlugin apply plugin: 'org.jetbrains.kotlin.android' @@ -58,11 +60,10 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = '1.8' - } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + firebaseTestLab { device 'model=panther,version=33,locale=en,orientation=portrait' } diff --git a/firebase-config/firebase-config.gradle.kts b/firebase-config/firebase-config.gradle.kts index be3db972b63..5683ee4d057 100644 --- a/firebase-config/firebase-config.gradle.kts +++ b/firebase-config/firebase-config.gradle.kts @@ -14,6 +14,8 @@ * limitations under the License. */ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id("firebase-library") id("kotlin-android") @@ -49,8 +51,6 @@ android { targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } - testOptions { targetSdk = targetSdkVersion unitTests { isIncludeAndroidResources = true } @@ -58,6 +58,8 @@ android { lint { targetSdk = targetSdkVersion } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { // Firebase api("com.google.firebase:firebase-config-interop:16.0.1") diff --git a/firebase-config/test-app/test-app.gradle.kts b/firebase-config/test-app/test-app.gradle.kts index ba91b7be5ec..52506f56d9b 100644 --- a/firebase-config/test-app/test-app.gradle.kts +++ b/firebase-config/test-app/test-app.gradle.kts @@ -1,7 +1,4 @@ @file:Suppress("DEPRECATION") // App projects should still use FirebaseTestLabPlugin. - -import com.google.firebase.gradle.plugins.ci.device.FirebaseTestLabPlugin - /* * Copyright 2023 Google LLC * @@ -18,6 +15,9 @@ import com.google.firebase.gradle.plugins.ci.device.FirebaseTestLabPlugin * limitations under the License. */ +import com.google.firebase.gradle.plugins.ci.device.FirebaseTestLabPlugin +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id("com.android.application") id("org.jetbrains.kotlin.android") @@ -47,9 +47,10 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { implementation(project(":firebase-crashlytics")) { exclude(group = "com.google.firebase", module = "firebase-config-interop") diff --git a/firebase-crashlytics/firebase-crashlytics.gradle b/firebase-crashlytics/firebase-crashlytics.gradle index aa481022283..cc7e0a72676 100644 --- a/firebase-crashlytics/firebase-crashlytics.gradle +++ b/firebase-crashlytics/firebase-crashlytics.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -56,11 +58,10 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = '1.8' - } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + thirdPartyLicenses { add 'Tape', "${projectDir}/third_party_licenses/tape/LICENSE" } diff --git a/firebase-database/firebase-database.gradle.kts b/firebase-database/firebase-database.gradle.kts index c9ba57d2aea..294cadaa0dd 100644 --- a/firebase-database/firebase-database.gradle.kts +++ b/firebase-database/firebase-database.gradle.kts @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id("firebase-library") id("kotlin-android") @@ -52,7 +54,6 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } packagingOptions.resources.excludes += "META-INF/DEPENDENCIES" @@ -64,6 +65,8 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { api("com.google.firebase:firebase-appcheck-interop:17.1.0") api(libs.firebase.common) diff --git a/firebase-dataconnect/connectors/connectors.gradle.kts b/firebase-dataconnect/connectors/connectors.gradle.kts index b4e912a8aed..48a40ba2bf0 100644 --- a/firebase-dataconnect/connectors/connectors.gradle.kts +++ b/firebase-dataconnect/connectors/connectors.gradle.kts @@ -14,9 +14,7 @@ * limitations under the License. */ -import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { id("com.android.library") @@ -70,6 +68,7 @@ kotlin { jvmTarget = JvmTarget.JVM_1_8 optIn.add("kotlin.RequiresOptIn") } + explicitApi() } dependencies { @@ -100,15 +99,3 @@ dependencies { androidTestImplementation(libs.truth.liteproto.extension) androidTestImplementation(libs.turbine) } - -// Enable Kotlin "Explicit API Mode". This causes the Kotlin compiler to fail if any -// classes, methods, or properties have implicit `public` visibility. This check helps -// avoid accidentally leaking elements into the public API, requiring that any public -// element be explicitly declared as `public`. -// https://github.com/Kotlin/KEEP/blob/master/proposals/explicit-api-mode.md -// https://chao2zhang.medium.com/explicit-api-mode-for-kotlin-on-android-b8264fdd76d1 -tasks.withType().configureEach { - if (!name.contains("test", ignoreCase = true)) { - compilerOptions.freeCompilerArgs.add("-Xexplicit-api=strict") - } -} diff --git a/firebase-dataconnect/firebase-dataconnect.gradle.kts b/firebase-dataconnect/firebase-dataconnect.gradle.kts index 2467e8d6707..add13046cb9 100644 --- a/firebase-dataconnect/firebase-dataconnect.gradle.kts +++ b/firebase-dataconnect/firebase-dataconnect.gradle.kts @@ -16,9 +16,7 @@ import com.google.firebase.dataconnect.gradle.plugin.DataConnectExecutableVersionsRegistry import com.google.firebase.dataconnect.gradle.plugin.UpdateDataConnectExecutableVersionsTask -import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { id("firebase-library") @@ -81,6 +79,7 @@ kotlin { jvmTarget = JvmTarget.JVM_1_8 optIn.add("kotlin.RequiresOptIn") } + explicitApi() } protobuf { @@ -155,18 +154,6 @@ dependencies { androidTestImplementation(libs.turbine) } -// Enable Kotlin "Explicit API Mode". This causes the Kotlin compiler to fail if any -// classes, methods, or properties have implicit `public` visibility. This check helps -// avoid accidentally leaking elements into the public API, requiring that any public -// element be explicitly declared as `public`. -// https://github.com/Kotlin/KEEP/blob/master/proposals/explicit-api-mode.md -// https://chao2zhang.medium.com/explicit-api-mode-for-kotlin-on-android-b8264fdd76d1 -tasks.withType().configureEach { - if (!name.contains("test", ignoreCase = true)) { - compilerOptions.freeCompilerArgs.add("-Xexplicit-api=strict") - } -} - // Registers a Gradle task that updates the JSON file that stores the list of Data Connect // executable versions. The task gets the list of all versions from the Internet and then // updates the JSON file with their sizes and hashes. diff --git a/firebase-firestore/firebase-firestore.gradle b/firebase-firestore/firebase-firestore.gradle index f5c515eeccd..12da631f2ec 100644 --- a/firebase-firestore/firebase-firestore.gradle +++ b/firebase-firestore/firebase-firestore.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -108,11 +110,12 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions.unitTests.includeAndroidResources = true } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + tasks.withType(Test) { maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 } diff --git a/firebase-functions/firebase-functions.gradle.kts b/firebase-functions/firebase-functions.gradle.kts index 1f557357a62..5a9e8f74a31 100644 --- a/firebase-functions/firebase-functions.gradle.kts +++ b/firebase-functions/firebase-functions.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - // Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,6 +12,8 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id("firebase-library") id("kotlin-android") @@ -49,7 +49,6 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions { targetSdk = targetSdkVersion unitTests { isIncludeAndroidResources = true } @@ -57,18 +56,9 @@ android { lint { targetSdk = targetSdkVersion } } -// Enable Kotlin "Explicit API Mode". This causes the Kotlin compiler to fail if any -// classes, methods, or properties have implicit `public` visibility. This check helps -// avoid accidentally leaking elements into the public API, requiring that any public -// element be explicitly declared as `public`. -// https://github.com/Kotlin/KEEP/blob/master/proposals/explicit-api-mode.md -// https://chao2zhang.medium.com/explicit-api-mode-for-kotlin-on-android-b8264fdd76d1 -tasks.withType().all { - if (!name.contains("test", ignoreCase = true)) { - if (!kotlinOptions.freeCompilerArgs.contains("-Xexplicit-api=strict")) { - kotlinOptions.freeCompilerArgs += "-Xexplicit-api=strict" - } - } +kotlin { + compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } + explicitApi() } dependencies { diff --git a/firebase-inappmessaging-display/firebase-inappmessaging-display.gradle b/firebase-inappmessaging-display/firebase-inappmessaging-display.gradle index bd1d59f180d..5f8e3d38c3d 100644 --- a/firebase-inappmessaging-display/firebase-inappmessaging-display.gradle +++ b/firebase-inappmessaging-display/firebase-inappmessaging-display.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -55,7 +57,6 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } sourceSets { androidTest { @@ -77,6 +78,7 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } thirdPartyLicenses { add 'Dagger', "${rootDir}/third_party/licenses/apache-2.0.txt" diff --git a/firebase-inappmessaging/firebase-inappmessaging.gradle b/firebase-inappmessaging/firebase-inappmessaging.gradle index 694adf51267..91680c64230 100644 --- a/firebase-inappmessaging/firebase-inappmessaging.gradle +++ b/firebase-inappmessaging/firebase-inappmessaging.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -93,7 +95,6 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions { unitTests { includeAndroidResources = true @@ -101,6 +102,7 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } thirdPartyLicenses { add 'Dagger', "${rootDir}/third_party/licenses/apache-2.0.txt" diff --git a/firebase-installations/firebase-installations.gradle b/firebase-installations/firebase-installations.gradle index 2650b53726c..1c91bd12125 100644 --- a/firebase-installations/firebase-installations.gradle +++ b/firebase-installations/firebase-installations.gradle @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { id 'firebase-library' @@ -40,7 +41,6 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions { unitTests { includeAndroidResources = true @@ -48,6 +48,8 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { javadocClasspath libs.findbugs.jsr305 diff --git a/firebase-messaging/firebase-messaging.gradle b/firebase-messaging/firebase-messaging.gradle index 54cc977e08a..f5425d25917 100644 --- a/firebase-messaging/firebase-messaging.gradle +++ b/firebase-messaging/firebase-messaging.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'com.google.protobuf' id 'firebase-library' @@ -83,9 +85,10 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { javadocClasspath libs.autovalue.annotations diff --git a/firebase-ml-modeldownloader/firebase-ml-modeldownloader.gradle b/firebase-ml-modeldownloader/firebase-ml-modeldownloader.gradle index 74504480a19..2c87780a0a0 100644 --- a/firebase-ml-modeldownloader/firebase-ml-modeldownloader.gradle +++ b/firebase-ml-modeldownloader/firebase-ml-modeldownloader.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -60,7 +62,6 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions { unitTests { includeAndroidResources = true @@ -75,6 +76,8 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + thirdPartyLicenses { add 'Dagger', "${rootDir}/third_party/licenses/apache-2.0.txt" } diff --git a/firebase-perf/firebase-perf.gradle b/firebase-perf/firebase-perf.gradle index b6a678bfc5c..b430dab90f7 100644 --- a/firebase-perf/firebase-perf.gradle +++ b/firebase-perf/firebase-perf.gradle @@ -15,6 +15,8 @@ * */ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -90,7 +92,6 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions.jvmTarget = "1.8" testOptions { unitTests { includeAndroidResources = true @@ -98,6 +99,8 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { annotationProcessor libs.dagger.compiler compileOnly group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.14' diff --git a/firebase-sessions/benchmark/benchmark.gradle.kts b/firebase-sessions/benchmark/benchmark.gradle.kts index 115e73c66ed..e1b3af37e27 100644 --- a/firebase-sessions/benchmark/benchmark.gradle.kts +++ b/firebase-sessions/benchmark/benchmark.gradle.kts @@ -14,6 +14,8 @@ * limitations under the License. */ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id("com.android.test") id("org.jetbrains.kotlin.android") @@ -45,12 +47,13 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } targetProjectPath = ":firebase-sessions:test-app" experimentalProperties["android.experimental.self-instrumenting"] = true } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { implementation(libs.androidx.test.junit) implementation(libs.androidx.benchmark.macro) diff --git a/firebase-sessions/firebase-sessions.gradle.kts b/firebase-sessions/firebase-sessions.gradle.kts index fba6304abed..9db21849ce1 100644 --- a/firebase-sessions/firebase-sessions.gradle.kts +++ b/firebase-sessions/firebase-sessions.gradle.kts @@ -16,6 +16,8 @@ @file:Suppress("UnstableApiUsage") +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id("firebase-library") id("firebase-vendor") @@ -49,7 +51,6 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } testOptions { targetSdk = targetSdkVersion unitTests { isIncludeAndroidResources = true } @@ -60,10 +61,9 @@ android { } } -kotlin { explicitApi() } - -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs::class.java).configureEach { - kotlinOptions.jvmTarget = "1.8" +kotlin { + explicitApi() + compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } dependencies { diff --git a/firebase-sessions/test-app/test-app.gradle.kts b/firebase-sessions/test-app/test-app.gradle.kts index 02718ca4093..c27aafb748b 100644 --- a/firebase-sessions/test-app/test-app.gradle.kts +++ b/firebase-sessions/test-app/test-app.gradle.kts @@ -18,6 +18,7 @@ import com.google.firebase.gradle.plugins.ci.device.FirebaseTestLabExtension import com.google.firebase.gradle.plugins.ci.device.FirebaseTestLabPlugin +import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { id("com.android.application") @@ -69,7 +70,6 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } buildFeatures { buildConfig = true @@ -77,6 +77,8 @@ android { } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { if (project.hasProperty("useReleasedVersions")) { implementation(platform("com.google.firebase:firebase-bom:latest.release")) diff --git a/firebase-storage/firebase-storage.gradle b/firebase-storage/firebase-storage.gradle index cf8fa5169d0..5be41238122 100644 --- a/firebase-storage/firebase-storage.gradle +++ b/firebase-storage/firebase-storage.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'firebase-library' id("kotlin-android") @@ -79,9 +81,10 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { jvmTarget = "1.8" } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { javadocClasspath libs.autovalue.annotations javadocClasspath libs.findbugs.jsr305 diff --git a/health-metrics/benchmark/template/macrobenchmark/build.gradle b/health-metrics/benchmark/template/macrobenchmark/build.gradle index 086de25e4a2..258e9b46f6c 100644 --- a/health-metrics/benchmark/template/macrobenchmark/build.gradle +++ b/health-metrics/benchmark/template/macrobenchmark/build.gradle @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id 'com.android.test' id 'org.jetbrains.kotlin.android' @@ -27,10 +29,6 @@ android { targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = '1.8' - } - defaultConfig { minSdk 29 targetSdk 34 @@ -50,6 +48,8 @@ android { experimentalProperties["android.experimental.self-instrumenting"] = true } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { implementation 'androidx.benchmark:benchmark-macro-junit4:1.1.0' implementation 'androidx.test.espresso:espresso-core:3.4.0' diff --git a/integ-testing/integ-testing.gradle.kts b/integ-testing/integ-testing.gradle.kts index 8f580713fd7..7a20747a7ca 100644 --- a/integ-testing/integ-testing.gradle.kts +++ b/integ-testing/integ-testing.gradle.kts @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { id("com.android.library") kotlin("android") @@ -33,10 +35,10 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - - kotlinOptions { jvmTarget = "1.8" } } +kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_1_8 } } + dependencies { implementation("com.google.firebase:firebase-common:22.0.0") implementation("com.google.firebase:firebase-components:19.0.0")