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.
This commit is contained in:
Alexander Udalov
2021-02-02 15:49:51 +01:00
parent 6a959fefd0
commit 496d857db1
4 changed files with 10 additions and 6 deletions
+1 -1
View File
@@ -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 // For compiler and stdlib, allWarningsAsErrors is configured in the corresponding "root" projects
// (compiler/build.gradle.kts and libraries/commonConfiguration.gradle). // (compiler/build.gradle.kts and libraries/commonConfiguration.gradle).
val projectsWithWarningsAsErrors = listOf("core", "plugins").map { File(it).absoluteFile } val projectsWithWarningsAsErrors = listOf("core", "plugins").map { File(it).absoluteFile }
@@ -18,3 +18,5 @@ val KotlinBuildProperties.proguard: Boolean get() = postProcessing && getBoolean
val KotlinBuildProperties.jarCompression: Boolean get() = getBoolean("kotlin.build.jar.compression", isTeamcityBuild) val KotlinBuildProperties.jarCompression: Boolean get() = getBoolean("kotlin.build.jar.compression", isTeamcityBuild)
val KotlinBuildProperties.ignoreTestFailures: Boolean get() = getBoolean("ignoreTestFailures", isTeamcityBuild) val KotlinBuildProperties.ignoreTestFailures: Boolean get() = getBoolean("ignoreTestFailures", isTeamcityBuild)
val KotlinBuildProperties.disableWerror: Boolean get() = getBoolean("kotlin.build.disable.werror", isTeamcityBuild)
+1 -1
View File
@@ -86,7 +86,7 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
idea { idea {
this.module.generatedSourceDirs.add(generationRoot) this.module.generatedSourceDirs.add(generationRoot)
} }
} else if (!kotlinBuildProperties.useFir) { } else if (!kotlinBuildProperties.useFir && !kotlinBuildProperties.disableWerror) {
allprojects { allprojects {
tasks.withType<KotlinCompile<*>> { tasks.withType<KotlinCompile<*>> {
if (path !in tasksWithWarnings) { if (path !in tasksWithWarnings) {
+2
View File
@@ -37,6 +37,7 @@ ext.configureJvm6Project = { Project project ->
} }
} }
if (!BuildPropertiesExtKt.getDisableWerror(project.kotlinBuildProperties)) {
project.tasks.withType(org.jetbrains.kotlin.gradle.dsl.KotlinCompile.class) { task -> project.tasks.withType(org.jetbrains.kotlin.gradle.dsl.KotlinCompile.class) { task ->
if (!tasksWithWarnings.contains(task.path)) { if (!tasksWithWarnings.contains(task.path)) {
task.kotlinOptions { task.kotlinOptions {
@@ -45,6 +46,7 @@ ext.configureJvm6Project = { Project project ->
} }
} }
} }
}
ext.compileJava9Sources = { Project project, String moduleName, Collection<FileCollection> moduleOutputs = [project.sourceSets.main.output] -> ext.compileJava9Sources = { Project project, String moduleName, Collection<FileCollection> moduleOutputs = [project.sourceSets.main.output] ->
// module-info.java should be in java9 source set by convention // module-info.java should be in java9 source set by convention