Skip to content

Commit aa565cb

Browse files
committed
Remove Gradle Isolated Project violation
Calls to Project.properties is not Gradle Isolated Projects safe as it causes Gradle to look through parent projects to find these. Move to using providers.gradleProperty as that does not have the same behavior. Test: ./gradlew build --dry-run -Dorg.gradle.unsafe.isolated-projects=true fewer warnings after the PR
1 parent af33aca commit aa565cb

File tree

1 file changed

+4
-3
lines changed
  • build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid

1 file changed

+4
-3
lines changed

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import org.gradle.api.plugins.JavaPluginExtension
2323
import org.gradle.kotlin.dsl.assign
2424
import org.gradle.kotlin.dsl.configure
2525
import org.gradle.kotlin.dsl.dependencies
26-
import org.gradle.kotlin.dsl.provideDelegate
2726
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2827
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
2928
import org.jetbrains.kotlin.gradle.dsl.KotlinBaseExtension
@@ -78,14 +77,16 @@ internal fun Project.configureKotlinJvm() {
7877
private inline fun <reified T : KotlinBaseExtension> Project.configureKotlin() = configure<T> {
7978
// Treat all Kotlin warnings as errors (disabled by default)
8079
// Override by setting warningsAsErrors=true in your ~/.gradle/gradle.properties
81-
val warningsAsErrors: String? by project
80+
val warningsAsErrors = providers.gradleProperty("warningsAsErrors").map {
81+
it.toBoolean()
82+
}.orElse(false)
8283
when (this) {
8384
is KotlinAndroidProjectExtension -> compilerOptions
8485
is KotlinJvmProjectExtension -> compilerOptions
8586
else -> TODO("Unsupported project extension $this ${T::class}")
8687
}.apply {
8788
jvmTarget = JvmTarget.JVM_11
88-
allWarningsAsErrors = warningsAsErrors.toBoolean()
89+
allWarningsAsErrors = warningsAsErrors
8990
freeCompilerArgs.add(
9091
// Enable experimental coroutines APIs, including Flow
9192
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",

0 commit comments

Comments
 (0)