[Build] Avoid buildscript root capture into task action

#KT-44611 In Progress
This commit is contained in:
Alexander Likhachev
2022-04-11 22:24:54 +03:00
parent 64aae756d1
commit eda759ba31
4 changed files with 19 additions and 11 deletions
+5 -2
View File
@@ -652,9 +652,12 @@ val syncMutedTests = tasks.register("syncMutedTests") {
} }
tasks.register("createIdeaHomeForTests") { tasks.register("createIdeaHomeForTests") {
outputs.file(ideaBuildNumberFileForTests()) val ideaBuildNumberFileForTests = ideaBuildNumberFileForTests()
val intellijSdkVersion = rootProject.extra["versions.intellijSdk"]
outputs.file(ideaBuildNumberFileForTests)
doFirst { doFirst {
writeIdeaBuildNumberForTests() ideaBuildNumberFileForTests.parentFile.mkdirs()
ideaBuildNumberFileForTests.writeText("IC-$intellijSdkVersion")
} }
} }
@@ -25,9 +25,10 @@ val syncClasspath by tasks.register<Sync>("syncClasspath") {
from(incomingClasspath) from(incomingClasspath)
into(classpathDestination) into(classpathDestination)
val testedVersionLocal = testedVersion
/* Test if the correct version was resolved */ /* Test if the correct version was resolved */
doLast { doLast {
val expectedJar = destinationDir.resolve("kotlin-gradle-plugin-idea-$testedVersion.jar") val expectedJar = destinationDir.resolve("kotlin-gradle-plugin-idea-$testedVersionLocal.jar")
check(expectedJar.exists()) { "Expected $expectedJar in classpath. Found ${destinationDir.listFiles().orEmpty()}" } check(expectedJar.exists()) { "Expected $expectedJar in classpath. Found ${destinationDir.listFiles().orEmpty()}" }
} }
} }
@@ -47,8 +47,10 @@ run {
tasks.test { tasks.test {
dependsOnKotlinGradlePluginInstall() dependsOnKotlinGradlePluginInstall()
inputs.files(compatibilityTestClasspath) dependsOn(compatibilityTestClasspath)
doFirst { systemProperty("compatibilityTestClasspath", compatibilityTestClasspath.files.joinToString(";") { it.absolutePath }) } val conf: FileCollection = compatibilityTestClasspath
inputs.files(conf)
doFirst { systemProperty("compatibilityTestClasspath", conf.files.joinToString(";") { it.absolutePath }) }
} }
} }
@@ -95,13 +95,15 @@ projectTest(jUnitMode = JUnitMode.JUnit5) {
workingDir = rootDir workingDir = rootDir
useAndroidJar() useAndroidJar()
val parcelizeRuntimeForTestsProvider = project.provider { parcelizeRuntimeForTests.asPath } val parcelizeRuntimeForTestsConf: FileCollection = parcelizeRuntimeForTests
val robolectricClasspathProvider = project.provider { robolectricClasspath.asPath } val robolectricClasspathConf: FileCollection = robolectricClasspath
val layoutLibConf: FileCollection = layoutLib
val layoutLibApiConf: FileCollection = layoutLibApi
doFirst { doFirst {
systemProperty("parcelizeRuntime.classpath", parcelizeRuntimeForTestsProvider.get()) systemProperty("parcelizeRuntime.classpath", parcelizeRuntimeForTestsConf.asPath)
systemProperty("robolectric.classpath", robolectricClasspathProvider.get()) systemProperty("robolectric.classpath", robolectricClasspathConf.asPath)
systemProperty("layoutLib.path", layoutLib.singleFile.canonicalPath) systemProperty("layoutLib.path", layoutLibConf.singleFile.canonicalPath)
systemProperty("layoutLibApi.path", layoutLibApi.singleFile.canonicalPath) systemProperty("layoutLibApi.path", layoutLibApiConf.singleFile.canonicalPath)
} }
doLast { doLast {
println(filter) println(filter)