From 496d857db1425b07592584ae39d56851c08f6e3f Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 2 Feb 2021 15:49:51 +0100 Subject: [PATCH] Add kotlin.build.disable.werror to disable -Werror locally This can be placed, for example, in `local.properties` to temporarily disable `-Werror` in compiler/stdlib/plugin/test modules during development. --- build.gradle.kts | 2 +- buildSrc/src/main/kotlin/BuildPropertiesExt.kt | 2 ++ compiler/build.gradle.kts | 2 +- libraries/commonConfiguration.gradle | 10 ++++++---- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 18c97181f22..498365fb549 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -472,7 +472,7 @@ allprojects { } } - if (!kotlinBuildProperties.isInJpsBuildIdeaSync && !kotlinBuildProperties.useFir) { + if (!kotlinBuildProperties.isInJpsBuildIdeaSync && !kotlinBuildProperties.useFir && !kotlinBuildProperties.disableWerror) { // For compiler and stdlib, allWarningsAsErrors is configured in the corresponding "root" projects // (compiler/build.gradle.kts and libraries/commonConfiguration.gradle). val projectsWithWarningsAsErrors = listOf("core", "plugins").map { File(it).absoluteFile } diff --git a/buildSrc/src/main/kotlin/BuildPropertiesExt.kt b/buildSrc/src/main/kotlin/BuildPropertiesExt.kt index ffaf6d2db72..f86feea4608 100644 --- a/buildSrc/src/main/kotlin/BuildPropertiesExt.kt +++ b/buildSrc/src/main/kotlin/BuildPropertiesExt.kt @@ -18,3 +18,5 @@ val KotlinBuildProperties.proguard: Boolean get() = postProcessing && getBoolean val KotlinBuildProperties.jarCompression: Boolean get() = getBoolean("kotlin.build.jar.compression", isTeamcityBuild) val KotlinBuildProperties.ignoreTestFailures: Boolean get() = getBoolean("ignoreTestFailures", isTeamcityBuild) + +val KotlinBuildProperties.disableWerror: Boolean get() = getBoolean("kotlin.build.disable.werror", isTeamcityBuild) diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index b3af6053a68..2ffdfd9917d 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -86,7 +86,7 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) { idea { this.module.generatedSourceDirs.add(generationRoot) } -} else if (!kotlinBuildProperties.useFir) { +} else if (!kotlinBuildProperties.useFir && !kotlinBuildProperties.disableWerror) { allprojects { tasks.withType> { if (path !in tasksWithWarnings) { diff --git a/libraries/commonConfiguration.gradle b/libraries/commonConfiguration.gradle index 6fc1f54f027..84a4940fc52 100644 --- a/libraries/commonConfiguration.gradle +++ b/libraries/commonConfiguration.gradle @@ -37,10 +37,12 @@ ext.configureJvm6Project = { Project project -> } } - project.tasks.withType(org.jetbrains.kotlin.gradle.dsl.KotlinCompile.class) { task -> - if (!tasksWithWarnings.contains(task.path)) { - task.kotlinOptions { - allWarningsAsErrors = true + if (!BuildPropertiesExtKt.getDisableWerror(project.kotlinBuildProperties)) { + project.tasks.withType(org.jetbrains.kotlin.gradle.dsl.KotlinCompile.class) { task -> + if (!tasksWithWarnings.contains(task.path)) { + task.kotlinOptions { + allWarningsAsErrors = true + } } } }