From 4db3dcc28fc920cda377a85777d1ffc8631971e0 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 30 Jul 2019 17:45:54 +0300 Subject: [PATCH] Use short temp dirs names only in gradle integration tests --- buildSrc/src/main/kotlin/tasks.kt | 15 ++++++++------- .../build.gradle.kts | 9 ++++++--- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/buildSrc/src/main/kotlin/tasks.kt b/buildSrc/src/main/kotlin/tasks.kt index e8f0503d81d..0e5f52050f9 100644 --- a/buildSrc/src/main/kotlin/tasks.kt +++ b/buildSrc/src/main/kotlin/tasks.kt @@ -31,7 +31,12 @@ import java.lang.Character.isUpperCase import java.nio.file.Files import java.nio.file.Path -fun Project.projectTest(taskName: String = "test", parallel: Boolean = false, body: Test.() -> Unit = {}): Test = getOrCreateTask(taskName) { +fun Project.projectTest( + taskName: String = "test", + parallel: Boolean = false, + shortenTempRootName: Boolean = false, + body: Test.() -> Unit = {} +): Test = getOrCreateTask(taskName) { doFirst { val commandLineIncludePatterns = (filter as? DefaultTestFilter)?.commandLineIncludePatterns ?: emptySet() val patterns = filter.includePatterns + commandLineIncludePatterns @@ -110,12 +115,8 @@ fun Project.projectTest(taskName: String = "test", parallel: Boolean = false, bo (teamcity?.get("teamcity.build.tempDir") as? String) ?: System.getProperty("java.io.tmpdir") systemTempRoot.let { - subProjectTempRoot = if (System.getProperty("os.name")!!.contains("Windows")) { - // Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows. - Files.createTempDirectory(File(systemTempRoot).toPath(), "") - } else { - Files.createTempDirectory(File(systemTempRoot).toPath(), project.name + "Project_" + taskName + "_") - } + val prefix = (project.name + "Project_" + taskName + "_").takeUnless { shortenTempRootName } + subProjectTempRoot = Files.createTempDirectory(File(systemTempRoot).toPath(), prefix) systemProperty("java.io.tmpdir", subProjectTempRoot.toString()) } } 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 b579bc334a5..1cdacee922c 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts @@ -44,10 +44,13 @@ dependencies { testCompileOnly(project(":kotlin-test:kotlin-test-common")) { isTransitive = false } } -// additional configuration in tasks.withType below -projectTest("test") {} +// Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows. +val shortenTempRootName = System.getProperty("os.name")!!.contains("Windows") -projectTest("testAdvanceGradleVersion") { +// additional configuration in tasks.withType below +projectTest("test", shortenTempRootName = shortenTempRootName) {} + +projectTest("testAdvanceGradleVersion", shortenTempRootName = shortenTempRootName) { val gradleVersionForTests = "5.3-rc-2" systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests) }