Enable cache redirector for Junit5 tests.
^KT-47185 In Progress
This commit is contained in:
@@ -219,9 +219,13 @@ val checkRepositories: TaskProvider<Task> = tasks.register("checkRepositories")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.named("checkBuild").configure {
|
tasks
|
||||||
dependsOn(checkRepositories)
|
.matching {
|
||||||
}
|
it.name == "checkBuild"
|
||||||
|
}
|
||||||
|
.configureEach {
|
||||||
|
dependsOn(checkRepositories)
|
||||||
|
}
|
||||||
|
|
||||||
if (cacheRedirectorEnabled()) {
|
if (cacheRedirectorEnabled()) {
|
||||||
logger.info("Redirecting repositories for $displayName")
|
logger.info("Redirecting repositories for $displayName")
|
||||||
|
|||||||
+49
@@ -39,6 +39,7 @@ fun KGPBaseTest.project(
|
|||||||
projectPathAdditionalSuffix
|
projectPathAdditionalSuffix
|
||||||
)
|
)
|
||||||
projectPath.addDefaultBuildFiles()
|
projectPath.addDefaultBuildFiles()
|
||||||
|
projectPath.enableCacheRedirector()
|
||||||
if (addHeapDumpOptions) projectPath.addHeapDumpOptions()
|
if (addHeapDumpOptions) projectPath.addHeapDumpOptions()
|
||||||
|
|
||||||
val gradleRunner = GradleRunner
|
val gradleRunner = GradleRunner
|
||||||
@@ -204,6 +205,54 @@ private fun Path.addDefaultBuildFiles() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OptIn(ExperimentalPathApi::class)
|
||||||
|
private fun Path.enableCacheRedirector() {
|
||||||
|
// Path relative to the current gradle module project dir
|
||||||
|
val redirectorScript = Paths.get("../../../gradle/cacheRedirector.gradle.kts")
|
||||||
|
assert(redirectorScript.exists()) {
|
||||||
|
"$redirectorScript does not exist! Please provide correct path to 'cacheRedirector.gradle.kts' file."
|
||||||
|
}
|
||||||
|
val gradleDir = resolve("gradle").also { it.createDirectories() }
|
||||||
|
redirectorScript.copyTo(gradleDir.resolve("cacheRedirector.gradle.kts"))
|
||||||
|
|
||||||
|
resolve("gradle.properties")
|
||||||
|
.also { if (!it.exists()) it.createFile() }
|
||||||
|
.appendText(
|
||||||
|
"""
|
||||||
|
|
||||||
|
cacheRedirectorEnabled=true
|
||||||
|
|
||||||
|
""".trimIndent()
|
||||||
|
)
|
||||||
|
|
||||||
|
when {
|
||||||
|
resolve("build.gradle").exists() -> {
|
||||||
|
//language=Groovy
|
||||||
|
resolve("build.gradle").appendText(
|
||||||
|
"""
|
||||||
|
|
||||||
|
allprojects {
|
||||||
|
apply from: "${'$'}rootDir/gradle/cacheRedirector.gradle.kts"
|
||||||
|
}
|
||||||
|
|
||||||
|
""".trimIndent()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
resolve("build.gradle.kts").exists() -> {
|
||||||
|
//language=Groovy
|
||||||
|
resolve("build.gradle.kts").appendText(
|
||||||
|
"""
|
||||||
|
|
||||||
|
allprojects {
|
||||||
|
apply(from = "${'$'}rootDir/gradle/cacheRedirector.gradle.kts")
|
||||||
|
}
|
||||||
|
|
||||||
|
""".trimIndent()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@OptIn(ExperimentalPathApi::class)
|
@OptIn(ExperimentalPathApi::class)
|
||||||
private fun Path.addHeapDumpOptions() {
|
private fun Path.addHeapDumpOptions() {
|
||||||
val propertiesFile = resolve("gradle.properties")
|
val propertiesFile = resolve("gradle.properties")
|
||||||
|
|||||||
Reference in New Issue
Block a user