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