From bf3a7e5fea6f92dc56e16781d8d0befd36ac896a Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Wed, 26 Aug 2020 00:22:04 +0300 Subject: [PATCH] Add more tasks in Gradle build for running GradleIT in parallel --- .../build.gradle.kts | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts index a89687a4f22..e33206e4b7b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts @@ -49,16 +49,52 @@ dependencies { // Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows. val shortenTempRootName = System.getProperty("os.name")!!.contains("Windows") -// additional configuration in tasks.withType below -projectTest("test", shortenTempRootName = shortenTempRootName) {} +val isTeamcityBuild = project.kotlinBuildProperties.isTeamcityBuild -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" systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests) } +// additional configuration in tasks.withType 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("check") { dependsOn("testAdvanceGradleVersion") + if (isTeamcityBuild) { + dependsOn("testAdvanceGradleVersionMppAndAndroid") + dependsOn("testMppAndAndroid") + } } gradle.taskGraph.whenReady {