Add more tasks in Gradle build for running GradleIT in parallel
This commit is contained in:
@@ -49,16 +49,52 @@ dependencies {
|
|||||||
// Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows.
|
// Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows.
|
||||||
val shortenTempRootName = System.getProperty("os.name")!!.contains("Windows")
|
val shortenTempRootName = System.getProperty("os.name")!!.contains("Windows")
|
||||||
|
|
||||||
// additional configuration in tasks.withType<Test> below
|
val isTeamcityBuild = project.kotlinBuildProperties.isTeamcityBuild
|
||||||
projectTest("test", shortenTempRootName = shortenTempRootName) {}
|
|
||||||
|
|
||||||
projectTest("testAdvanceGradleVersion", shortenTempRootName = shortenTempRootName) {
|
fun Test.includeMppAndAndroid(include: Boolean) {
|
||||||
|
if (isTeamcityBuild) {
|
||||||
|
val mppAndAndroidTestPatterns = listOf("*Multiplatform*", "*Mpp*", "*Android*")
|
||||||
|
val filter = if (include)
|
||||||
|
filter.includePatterns
|
||||||
|
else
|
||||||
|
filter.excludePatterns
|
||||||
|
filter.addAll(mppAndAndroidTestPatterns)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Test.advanceGradleVersion() {
|
||||||
val gradleVersionForTests = "6.3"
|
val gradleVersionForTests = "6.3"
|
||||||
systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests)
|
systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// additional configuration in tasks.withType<Test> below
|
||||||
|
projectTest("test", shortenTempRootName = shortenTempRootName) {
|
||||||
|
includeMppAndAndroid(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
projectTest("testAdvanceGradleVersion", shortenTempRootName = shortenTempRootName) {
|
||||||
|
advanceGradleVersion()
|
||||||
|
includeMppAndAndroid(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (isTeamcityBuild) {
|
||||||
|
projectTest("testMppAndAndroid", shortenTempRootName = shortenTempRootName) {
|
||||||
|
includeMppAndAndroid(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
projectTest("testAdvanceGradleVersionMppAndAndroid", shortenTempRootName = shortenTempRootName) {
|
||||||
|
advanceGradleVersion()
|
||||||
|
includeMppAndAndroid(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tasks.named<Task>("check") {
|
tasks.named<Task>("check") {
|
||||||
dependsOn("testAdvanceGradleVersion")
|
dependsOn("testAdvanceGradleVersion")
|
||||||
|
if (isTeamcityBuild) {
|
||||||
|
dependsOn("testAdvanceGradleVersionMppAndAndroid")
|
||||||
|
dependsOn("testMppAndAndroid")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gradle.taskGraph.whenReady {
|
gradle.taskGraph.whenReady {
|
||||||
|
|||||||
Reference in New Issue
Block a user