Build: Add helper to configure gradle test distribution
This commit is contained in:
@@ -114,6 +114,7 @@ dependencies {
|
|||||||
implementation("gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext:0.5")
|
implementation("gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext:0.5")
|
||||||
|
|
||||||
implementation("org.gradle:test-retry-gradle-plugin:1.1.9")
|
implementation("org.gradle:test-retry-gradle-plugin:1.1.9")
|
||||||
|
implementation("com.gradle.enterprise:test-distribution-gradle-plugin:1.2.1")
|
||||||
}
|
}
|
||||||
|
|
||||||
samWithReceiver {
|
samWithReceiver {
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.gradle.enterprise.gradleplugin.testdistribution.TestDistributionExtension
|
||||||
|
import org.gradle.api.tasks.testing.Test
|
||||||
|
import org.gradle.internal.os.OperatingSystem
|
||||||
|
|
||||||
|
|
||||||
|
fun Test.configureTestDistribution(configure: TestDistributionExtension.() -> Unit = {}) {
|
||||||
|
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)
|
||||||
|
maxRemoteExecutors.set(20)
|
||||||
|
if (isTeamcityBuild) {
|
||||||
|
requirements.set(setOf("os=${OperatingSystem.current().familyName}"))
|
||||||
|
} else {
|
||||||
|
maxLocalExecutors.set(0)
|
||||||
|
}
|
||||||
|
configure()
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user