Use short temp dirs names only in gradle integration tests
This commit is contained in:
@@ -31,7 +31,12 @@ import java.lang.Character.isUpperCase
|
|||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
import java.nio.file.Path
|
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 {
|
doFirst {
|
||||||
val commandLineIncludePatterns = (filter as? DefaultTestFilter)?.commandLineIncludePatterns ?: emptySet()
|
val commandLineIncludePatterns = (filter as? DefaultTestFilter)?.commandLineIncludePatterns ?: emptySet()
|
||||||
val patterns = filter.includePatterns + commandLineIncludePatterns
|
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)
|
(teamcity?.get("teamcity.build.tempDir") as? String)
|
||||||
?: System.getProperty("java.io.tmpdir")
|
?: System.getProperty("java.io.tmpdir")
|
||||||
systemTempRoot.let {
|
systemTempRoot.let {
|
||||||
subProjectTempRoot = if (System.getProperty("os.name")!!.contains("Windows")) {
|
val prefix = (project.name + "Project_" + taskName + "_").takeUnless { shortenTempRootName }
|
||||||
// Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows.
|
subProjectTempRoot = Files.createTempDirectory(File(systemTempRoot).toPath(), prefix)
|
||||||
Files.createTempDirectory(File(systemTempRoot).toPath(), "")
|
|
||||||
} else {
|
|
||||||
Files.createTempDirectory(File(systemTempRoot).toPath(), project.name + "Project_" + taskName + "_")
|
|
||||||
}
|
|
||||||
systemProperty("java.io.tmpdir", subProjectTempRoot.toString())
|
systemProperty("java.io.tmpdir", subProjectTempRoot.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,10 +44,13 @@ dependencies {
|
|||||||
testCompileOnly(project(":kotlin-test:kotlin-test-common")) { isTransitive = false }
|
testCompileOnly(project(":kotlin-test:kotlin-test-common")) { isTransitive = false }
|
||||||
}
|
}
|
||||||
|
|
||||||
// additional configuration in tasks.withType<Test> below
|
// Aapt2 from Android Gradle Plugin 3.2 and below does not handle long paths on Windows.
|
||||||
projectTest("test") {}
|
val shortenTempRootName = System.getProperty("os.name")!!.contains("Windows")
|
||||||
|
|
||||||
projectTest("testAdvanceGradleVersion") {
|
// additional configuration in tasks.withType<Test> below
|
||||||
|
projectTest("test", shortenTempRootName = shortenTempRootName) {}
|
||||||
|
|
||||||
|
projectTest("testAdvanceGradleVersion", shortenTempRootName = shortenTempRootName) {
|
||||||
val gradleVersionForTests = "5.3-rc-2"
|
val gradleVersionForTests = "5.3-rc-2"
|
||||||
systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests)
|
systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user