diff --git a/build.gradle.kts b/build.gradle.kts index dff317fb61d..b716335c392 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -417,13 +417,13 @@ gradle.taskGraph.whenReady { } } else { logger.warn("Local build profile is active (IC is on, proguard is off). Use -Pteamcity=true to reproduce TC build") - for (task in allTasks) { - when (task) { - // todo: remove when Gradle 4.10+ is used (Java IC on by default) - is JavaCompile -> task.options.isIncremental = true - is org.gradle.jvm.tasks.Jar -> task.entryCompression = ZipEntryCompression.STORED - } - } + } + + allTasks.filterIsInstance().forEach { task -> + task.entryCompression = if (kotlinBuildProperties.jarCompression) + ZipEntryCompression.DEFLATED + else + ZipEntryCompression.STORED } } diff --git a/buildSrc/src/main/kotlin/buildProperties.kt b/buildSrc/src/main/kotlin/buildProperties.kt index fdd5997a875..456ab66d799 100644 --- a/buildSrc/src/main/kotlin/buildProperties.kt +++ b/buildSrc/src/main/kotlin/buildProperties.kt @@ -81,6 +81,8 @@ class KotlinBuildProperties( val proguard: Boolean get() = postProcessing && getBoolean("kotlin.build.proguard", isTeamcityBuild) val jsIrDist: Boolean get() = getBoolean("kotlin.stdlib.js.ir.dist") + + val jarCompression: Boolean get() = getBoolean("kotlin.build.jar.compression", isTeamcityBuild) } private const val extensionName = "kotlinBuildProperties"