diff --git a/plugins/android-extensions/android-extensions-compiler/build.gradle.kts b/plugins/android-extensions/android-extensions-compiler/build.gradle.kts index 02057ced375..9746c042bbe 100644 --- a/plugins/android-extensions/android-extensions-compiler/build.gradle.kts +++ b/plugins/android-extensions/android-extensions-compiler/build.gradle.kts @@ -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) diff --git a/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/AbstractParcelBoxTest.kt b/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/AbstractParcelBoxTest.kt index 281b7e8dc78..f5cb78d9e6d 100644 --- a/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/AbstractParcelBoxTest.kt +++ b/plugins/android-extensions/android-extensions-compiler/test/org/jetbrains/kotlin/android/parcel/AbstractParcelBoxTest.kt @@ -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, javaFilesDir: File?) {