diff --git a/plugins/android-extensions/android-extensions-idea/build.gradle.kts b/plugins/android-extensions/android-extensions-idea/build.gradle.kts index 893a55dbfbc..ba70669e4f2 100644 --- a/plugins/android-extensions/android-extensions-idea/build.gradle.kts +++ b/plugins/android-extensions/android-extensions-idea/build.gradle.kts @@ -25,6 +25,7 @@ dependencies { testRuntime(project(":sam-with-receiver-ide-plugin")) testRuntime(project(":noarg-ide-plugin")) testRuntime(project(":allopen-ide-plugin")) + testRuntime(project(":plugins:lint")) testRuntime(ideaSdkDeps("*.jar")) testRuntime(ideaPluginDeps("idea-junit", "resources_en", plugin = "junit")) testRuntime(ideaPluginDeps("IntelliLang", plugin = "IntelliLang")) diff --git a/plugins/plugins-tests/tests/org/jetbrains/kotlin/android/synthetic/test/CompilerTestUtils.kt b/plugins/plugins-tests/tests/org/jetbrains/kotlin/android/synthetic/test/CompilerTestUtils.kt index a633dea5f0a..c9248dcd6a4 100755 --- a/plugins/plugins-tests/tests/org/jetbrains/kotlin/android/synthetic/test/CompilerTestUtils.kt +++ b/plugins/plugins-tests/tests/org/jetbrains/kotlin/android/synthetic/test/CompilerTestUtils.kt @@ -35,6 +35,9 @@ import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor import org.jetbrains.kotlin.resolve.jvm.extensions.PackageFragmentProviderExtension import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase +import org.jetbrains.kotlin.utils.KotlinPaths +import org.jetbrains.kotlin.utils.KotlinPathsFromHomeDir +import org.jetbrains.kotlin.utils.PathUtil import java.io.File fun KtUsefulTestCase.createTestEnvironment(configuration: CompilerConfiguration, resDirectories: List): KotlinCoreEnvironment { @@ -59,11 +62,29 @@ fun KtUsefulTestCase.createTestEnvironment(configuration: CompilerConfiguration, fun addAndroidExtensionsRuntimeLibrary(environment: KotlinCoreEnvironment) { environment.apply { - val runtimeLibrary = File("out/production/android-extensions-runtime") + val runtimeLibrary = File(computeKotlinPaths().libPath, "android-extensions-compiler.jar") updateClasspath(listOf(JvmClasspathRoot(runtimeLibrary))) } } fun getResPaths(path: String): List { return File(path).listFiles { it -> it.name.startsWith("res") && it.isDirectory }!!.map { "$path${it.name}/" } -} \ No newline at end of file +} + +val KOTLIN_HOME_PROPERTY = "kotlin.home" +val KOTLIN_HOME_ENV_VAR = "KOTLIN_HOME" + +private fun computeKotlinPaths(): KotlinPaths { + val kotlinHomeProperty = System.getProperty(KOTLIN_HOME_PROPERTY) + val kotlinHomeEnvVar = System.getenv(KOTLIN_HOME_ENV_VAR) + val kotlinHome = when { + kotlinHomeProperty != null -> File(kotlinHomeProperty) + kotlinHomeEnvVar != null -> File(kotlinHomeEnvVar) + else -> null + } + return when { + kotlinHome == null -> PathUtil.kotlinPathsForCompiler + kotlinHome.isDirectory -> KotlinPathsFromHomeDir(kotlinHome) + else -> throw RuntimeException("Kotlin home does not exist or is not a directory: " + kotlinHome) + } +} diff --git a/ultimate/build.gradle.kts b/ultimate/build.gradle.kts index 536f2264e0a..42bda757d75 100644 --- a/ultimate/build.gradle.kts +++ b/ultimate/build.gradle.kts @@ -29,7 +29,8 @@ dependencies { compile(project(":compiler:frontend")) { isTransitive = false } compile(project(":compiler:frontend.java")) { isTransitive = false } compile(project(":js:js.frontend")) { isTransitive = false } - compile(project(":idea")) + compile(projectClasses(":idea")) + compile(project(":idea:idea-jvm")) { isTransitive = false } compile(project(":idea:idea-core")) { isTransitive = false } compile(project(":idea:ide-common")) { isTransitive = false } compile(project(":idea:idea-gradle")) { isTransitive = false } @@ -51,6 +52,7 @@ dependencies { compile(ideaUltimatePluginDeps("*.jar", plugin = "junit")) compile(ideaUltimatePluginDeps("*.jar", plugin = "uml")) compile(ideaUltimatePluginDeps("*.jar", plugin = "JavaScriptLanguage")) + compile(ideaUltimatePluginDeps("*.jar", plugin = "JavaScriptDebugger")) testCompile(projectDist(":kotlin-test:kotlin-test-jvm")) testCompile(project(":compiler.tests-common")) { isTransitive = false } @@ -113,7 +115,9 @@ val ultimatePluginXmlContent: String by lazy { val prepareResources by task { dependsOn(":idea:assemble") - from(ideaProjectResources, { exclude("META-INF/plugin.xml") }) + from(ideaProjectResources, { + exclude("META-INF/plugin.xml") + }) into(preparedResources) }