From 85a260e9eff43820e2837881523deb1251b88455 Mon Sep 17 00:00:00 2001 From: Jolanda Verhoef Date: Tue, 23 Aug 2022 12:56:41 +0100 Subject: [PATCH] Read warningsAsErrors from local.properties or gradle.properties, and default to false --- .github/ci-gradle.properties | 7 +++++-- .../google/samples/apps/nowinandroid/KotlinAndroid.kt | 9 ++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/ci-gradle.properties b/.github/ci-gradle.properties index 089f2a675..54bc49dcb 100644 --- a/.github/ci-gradle.properties +++ b/.github/ci-gradle.properties @@ -21,5 +21,8 @@ org.gradle.workers.max=2 kotlin.incremental=false kotlin.compiler.execution.strategy=in-process -# Controls KotlinOptions.allWarningsAsErrors. This is used in CI and can be set in local properties. -warningsAsErrors=true +# Controls KotlinOptions.allWarningsAsErrors. +# This value used in CI and is currently set to false. +# If you want to treat warnings as errors locally, set this property +# in local.properties. +warningsAsErrors=false 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 bdcad8876..87d3e4b16 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 @@ -24,6 +24,7 @@ import org.gradle.api.artifacts.VersionCatalogsExtension import org.gradle.api.plugins.ExtensionAware import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.getByType +import org.gradle.kotlin.dsl.provideDelegate import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions /** @@ -47,7 +48,13 @@ internal fun Project.configureKotlinAndroid( kotlinOptions { // Treat all Kotlin warnings as errors (disabled by default) - allWarningsAsErrors = gradleLocalProperties(rootDir).getProperty("warningsAsErrors").toBoolean() + // Override locally using local.properties + val localOverrideWarningsAsErrors = gradleLocalProperties(rootDir) + .getProperty("warningsAsErrors")?.toBoolean() + // Set on CI through gradle.properties + val warningsAsErrors: Boolean? by project + // Prefer local.properties, gradle.properties, or default to false + allWarningsAsErrors = localOverrideWarningsAsErrors ?: warningsAsErrors ?: false freeCompilerArgs = freeCompilerArgs + listOf( "-opt-in=kotlin.RequiresOptIn",