Build: use configuration for dependency on android-extensions-runtime

`evaluationDependsOn` may lead to obscure gradle errors on project configuration
This commit is contained in:
Vyacheslav Gerasimov
2019-04-23 19:52:31 +03:00
parent b3720a55d2
commit 0ec1df89fa
2 changed files with 9 additions and 9 deletions
@@ -7,6 +7,7 @@ plugins {
}
val robolectricClasspath by configurations.creating
val androidExtensionsRuntimeForTests by configurations.creating
dependencies {
testCompileOnly(intellijCoreDep()) { includeJars("intellij-core") }
@@ -35,6 +36,8 @@ dependencies {
robolectricClasspath(project(":kotlin-android-extensions-runtime")) { isTransitive = false }
embedded(project(":kotlin-android-extensions-runtime")) { isTransitive = false }
androidExtensionsRuntimeForTests(project(":kotlin-android-extensions-runtime")) { isTransitive = false }
}
sourceSets {
@@ -46,16 +49,15 @@ runtimeJar()
dist()
testsJar {}
evaluationDependsOn(":kotlin-android-extensions-runtime")
testsJar()
projectTest {
environment("ANDROID_EXTENSIONS_RUNTIME_CLASSES", getSourceSetsFrom(":kotlin-android-extensions-runtime")["main"].output.classesDirs.asPath)
dependsOn(androidExtensionsRuntimeForTests)
dependsOn(":dist")
workingDir = rootDir
useAndroidJar()
doFirst {
systemProperty("androidExtensionsRuntime.classpath", androidExtensionsRuntimeForTests.asPath)
val androidPluginPath = File(intellijRootDir(), "plugins/android").canonicalPath
systemProperty("ideaSdk.androidPlugin.path", androidPluginPath)
systemProperty("robolectric.classpath", robolectricClasspath.asPath)
@@ -125,12 +125,10 @@ abstract class AbstractParcelBoxTest : CodegenTestCase() {
val junitCoreResourceName = JUnitCore::class.java.name.replace('.', '/') + ".class"
val junitJar = File(JUnitCore::class.java.classLoader.getResource(junitCoreResourceName).file.substringBeforeLast('!'))
val androidExtensionsRuntimeCP =
(System.getenv("ANDROID_EXTENSIONS_RUNTIME_CLASSES")?.split(File.pathSeparator)
?: listOf("out/production/android-extensions-runtime")
).map { File(it) }
val androidExtensionsRuntimeJars = System.getProperty("androidExtensionsRuntime.classpath")?.split(File.pathSeparator)?.map(::File)
?: error("Unable to get a valid classpath from 'androidExtensionsRuntime.classpath' property")
return listOf(kotlinRuntimeJar) + layoutLibJars + robolectricJars + junitJar + androidExtensionsRuntimeCP
return listOf(kotlinRuntimeJar) + layoutLibJars + robolectricJars + junitJar + androidExtensionsRuntimeJars
}
override fun doMultiFileTest(wholeFile: File, files: List<TestFile>, javaFilesDir: File?) {