[Build] Apply test distribution plugin conditionally only if it's needed

This buildscript logic change is motivated by configuration cache incompatibility of the plugin
Relates to #KT-44611
This commit is contained in:
Alexander Likhachev
2021-02-17 00:04:32 +03:00
parent 9be06da045
commit 1751b5182b
2 changed files with 13 additions and 4 deletions
+3 -3
View File
@@ -9,13 +9,13 @@ import org.gradle.internal.os.OperatingSystem
fun Test.configureTestDistribution(configure: TestDistributionExtension.() -> Unit = {}) {
if(extensions.findByType(TestDistributionExtension::class.java) == null) return
val isTeamcityBuild = project.kotlinBuildProperties.isTeamcityBuild
val testDistributionEnabled = project.findProperty("kotlin.build.test.distribution.enabled")?.toString()?.toBoolean()
?: isTeamcityBuild
useJUnitPlatform()
extensions.configure(TestDistributionExtension::class.java) {
enabled.set(testDistributionEnabled)
enabled.set(true)
maxRemoteExecutors.set(20)
if (isTeamcityBuild) {
requirements.set(setOf("os=${OperatingSystem.current().familyName}"))
+10 -1
View File
@@ -10,7 +10,16 @@ plugins {
id("jps-compatible")
id("com.github.node-gradle.node") version "3.0.1"
id("de.undercouch.download")
id("com.gradle.enterprise.test-distribution")
id("com.gradle.enterprise.test-distribution") apply false
}
val isTeamcityBuild = project.kotlinBuildProperties.isTeamcityBuild
val testDistributionEnabled = project.providers.gradleProperty("kotlin.build.test.distribution.enabled")
.forUseAtConfigurationTime().orNull?.toBoolean()
?: isTeamcityBuild
if (testDistributionEnabled) {
apply<com.gradle.enterprise.gradleplugin.testdistribution.TestDistributionPlugin>()
}
node {