From 5a39c637c2539decc72f6b166d00963be6295f20 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Sun, 2 Jun 2019 23:22:50 +0300 Subject: [PATCH] Build: Fix intellij dependency leak from ir tree module --- compiler/android-tests/build.gradle.kts | 2 +- compiler/backend/build.gradle.kts | 3 ++- compiler/cli/cli-js/build.gradle.kts | 2 ++ compiler/daemon/build.gradle.kts | 3 +++ compiler/fir/dump/build.gradle.kts | 2 ++ compiler/fir/fir2ir/build.gradle.kts | 2 +- compiler/fir/modularized-tests/build.gradle.kts | 5 ++++- compiler/fir/psi2fir/build.gradle.kts | 8 +++----- compiler/fir/resolve/build.gradle.kts | 4 ++-- .../fir/tree/visitors-generator/build.gradle.kts | 10 ++++++---- compiler/ir/backend.jvm/build.gradle.kts | 3 ++- compiler/ir/ir.tree/build.gradle.kts | 1 - compiler/ir/serialization.js/build.gradle.kts | 1 + compiler/tests-common/build.gradle.kts | 2 +- generators/test-generator/build.gradle.kts | 2 +- idea-runner/build.gradle.kts | 3 +-- idea/fir-view/build.gradle.kts | 5 ++--- idea/idea-core/build.gradle.kts | 8 ++------ idea/idea-j2k/build.gradle.kts | 2 ++ idea/idea-native/build.gradle.kts | 3 +++ idea/jvm-debugger/eval4j/build.gradle.kts | 2 +- .../jvm-debugger/jvm-debugger-core/build.gradle.kts | 1 + .../jvm-debugger-evaluation/build.gradle.kts | 2 ++ .../jvm-debugger-sequence/build.gradle.kts | 1 + .../jvm-debugger/jvm-debugger-util/build.gradle.kts | 2 ++ j2k/build.gradle.kts | 6 ++---- jps-plugin/build.gradle.kts | 10 ++++------ libraries/scripting/jvm-host/build.gradle.kts | 2 +- .../tools/kotlin-gradle-plugin/build.gradle.kts | 3 ++- nj2k/build.gradle.kts | 10 +++++----- plugins/jvm-abi-gen/build.gradle.kts | 2 ++ plugins/kapt3/kapt3-cli/build.gradle.kts | 2 ++ .../kotlin-serialization-compiler/build.gradle.kts | 2 +- .../kotlin-serialization-ide/build.gradle.kts | 3 +++ .../sam-with-receiver-ide/build.gradle.kts | 4 ++-- plugins/uast-kotlin/build.gradle.kts | 13 +++++-------- ultimate/build.gradle.kts | 3 ++- ultimate/ultimate-runner/build.gradle.kts | 2 +- 38 files changed, 80 insertions(+), 61 deletions(-) diff --git a/compiler/android-tests/build.gradle.kts b/compiler/android-tests/build.gradle.kts index a278c9f3bbf..826c1d713ba 100644 --- a/compiler/android-tests/build.gradle.kts +++ b/compiler/android-tests/build.gradle.kts @@ -23,7 +23,7 @@ dependencies { testCompile(project(":compiler:frontend.java")) testCompile(projectTests(":jps-plugin")) testCompile(commonDep("junit:junit")) - testCompile(intellijDep()) { includeJars("openapi", "idea", "idea_rt", "groovy-all", "jps-builders", rootProject = rootProject) } + testCompile(intellijDep()) { includeJars("openapi", "util", "idea", "idea_rt", "groovy-all", "jps-builders", rootProject = rootProject) } testCompile(jpsStandalone()) { includeJars("jps-model") } testCompile(jpsBuildTest()) } diff --git a/compiler/backend/build.gradle.kts b/compiler/backend/build.gradle.kts index 158b42dfd76..edb8d913c04 100644 --- a/compiler/backend/build.gradle.kts +++ b/compiler/backend/build.gradle.kts @@ -10,7 +10,8 @@ dependencies { compile(project(":compiler:frontend")) compile(project(":compiler:frontend.java")) compile(project(":compiler:serialization")) - compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", "guava", rootProject = rootProject) } + compileOnly(intellijDep()) { includeJars("trove4j", rootProject = rootProject) } } sourceSets { diff --git a/compiler/cli/cli-js/build.gradle.kts b/compiler/cli/cli-js/build.gradle.kts index d7b6ae21a2d..8b1894bd7d9 100644 --- a/compiler/cli/cli-js/build.gradle.kts +++ b/compiler/cli/cli-js/build.gradle.kts @@ -19,6 +19,8 @@ dependencies { compile(project(":js:js.serializer")) compile(project(":js:js.dce")) + compileOnly(intellijCoreDep()) { includeJars("intellij-core", rootProject = rootProject) } + testCompile(project(":compiler:backend")) testCompile(project(":compiler:cli")) testCompile(projectTests(":compiler:tests-common")) diff --git a/compiler/daemon/build.gradle.kts b/compiler/daemon/build.gradle.kts index 72bb221183c..359ddac739b 100644 --- a/compiler/daemon/build.gradle.kts +++ b/compiler/daemon/build.gradle.kts @@ -23,7 +23,10 @@ dependencies { compile(project(":compiler:incremental-compilation-impl")) compile(commonDep("org.fusesource.jansi", "jansi")) compile(commonDep("org.jline", "jline")) + compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + compileOnly(intellijDep()) { includeJars("trove4j") } + runtime(project(":kotlin-reflect")) embedded(project(":daemon-common")) { isTransitive = false } diff --git a/compiler/fir/dump/build.gradle.kts b/compiler/fir/dump/build.gradle.kts index 39d96734fee..cdb57677e1f 100644 --- a/compiler/fir/dump/build.gradle.kts +++ b/compiler/fir/dump/build.gradle.kts @@ -22,6 +22,8 @@ dependencies { compile(project(":compiler:cli")) compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + compileOnly(intellijDep()) { includeJars("commons-lang-2.4") } + compile("org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.12") } diff --git a/compiler/fir/fir2ir/build.gradle.kts b/compiler/fir/fir2ir/build.gradle.kts index 2b0aca0a2f0..cc8cdf573ce 100644 --- a/compiler/fir/fir2ir/build.gradle.kts +++ b/compiler/fir/fir2ir/build.gradle.kts @@ -19,7 +19,7 @@ dependencies { compileOnly(intellijCoreDep()) { includeJars("intellij-core") } - testCompileOnly(intellijDep()) { includeJars("openapi", "idea", "idea_rt", "util", "asm-all", rootProject = rootProject) } + testCompileOnly(intellijDep()) testRuntime(intellijDep()) diff --git a/compiler/fir/modularized-tests/build.gradle.kts b/compiler/fir/modularized-tests/build.gradle.kts index 9af6698a0c4..d9548729838 100644 --- a/compiler/fir/modularized-tests/build.gradle.kts +++ b/compiler/fir/modularized-tests/build.gradle.kts @@ -9,7 +9,10 @@ plugins { } dependencies { - testCompileOnly(intellijDep()) { includeJars("openapi", "idea", "idea_rt", "util", "asm-all", rootProject = rootProject) } + testCompileOnly(intellijDep()) { + includeJars("openapi", "java-api", "extensions", "idea", "idea_rt", "util", "asm-all", rootProject = rootProject) + } + testRuntime(intellijDep()) testCompile(commonDep("junit:junit")) diff --git a/compiler/fir/psi2fir/build.gradle.kts b/compiler/fir/psi2fir/build.gradle.kts index 22779f421c1..579fe56c552 100644 --- a/compiler/fir/psi2fir/build.gradle.kts +++ b/compiler/fir/psi2fir/build.gradle.kts @@ -14,9 +14,9 @@ dependencies { compile(project(":compiler:fir:tree")) compile(project(":compiler:ir.tree")) - compileOnly(intellijCoreDep()) { includeJars("intellij-core") } - - testRuntime(intellijDep()) + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "guava", rootProject = rootProject) } + + testCompile(intellijDep()) testCompile(commonDep("junit:junit")) testCompileOnly(project(":kotlin-test:kotlin-test-jvm")) @@ -25,8 +25,6 @@ dependencies { testCompileOnly(project(":kotlin-reflect-api")) testRuntime(project(":kotlin-reflect")) - - } sourceSets { diff --git a/compiler/fir/resolve/build.gradle.kts b/compiler/fir/resolve/build.gradle.kts index bd7c2d9e026..bac66a19b53 100644 --- a/compiler/fir/resolve/build.gradle.kts +++ b/compiler/fir/resolve/build.gradle.kts @@ -10,9 +10,9 @@ dependencies { compile(project(":compiler:fir:cones")) compile(project(":compiler:fir:tree")) - compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "guava", rootProject = rootProject) } - testCompileOnly(intellijDep()) { includeJars("openapi", "idea", "idea_rt", "util", "asm-all", rootProject = rootProject) } + testCompileOnly(intellijDep()) { includeJars("openapi", "java-api", "idea", "idea_rt", "util", "asm-all", "extensions", rootProject = rootProject) } testRuntime(intellijDep()) diff --git a/compiler/fir/tree/visitors-generator/build.gradle.kts b/compiler/fir/tree/visitors-generator/build.gradle.kts index 18179e6d40f..dab44333737 100644 --- a/compiler/fir/tree/visitors-generator/build.gradle.kts +++ b/compiler/fir/tree/visitors-generator/build.gradle.kts @@ -10,15 +10,17 @@ plugins { id("jps-compatible") } +val runtimeOnly by configurations +val compileOnly by configurations +runtimeOnly.extendsFrom(compileOnly) + dependencies { compile(project(":compiler:psi")) - compile(intellijCoreDep()) { includeJars("intellij-core") } - compile(intellijDep()) { + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "guava", rootProject = rootProject) } + compileOnly(intellijDep()) { includeJars("trove4j", "picocontainer", rootProject = rootProject) - isTransitive = false } - compile(intellijDep()) { includeJars("guava", rootProject = rootProject) } } val writeCopyright by task { diff --git a/compiler/ir/backend.jvm/build.gradle.kts b/compiler/ir/backend.jvm/build.gradle.kts index 1d5be45f0a0..5d9ddd18612 100644 --- a/compiler/ir/backend.jvm/build.gradle.kts +++ b/compiler/ir/backend.jvm/build.gradle.kts @@ -9,7 +9,8 @@ dependencies { compile(project(":compiler:ir.tree")) compile(project(":compiler:ir.psi2ir")) compile(project(":compiler:ir.backend.common")) - compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", "guava", rootProject = rootProject) } + compileOnly(intellijDep()) { includeJars("trove4j", rootProject = rootProject) } } sourceSets { diff --git a/compiler/ir/ir.tree/build.gradle.kts b/compiler/ir/ir.tree/build.gradle.kts index be0af2b9744..e7a429a890b 100644 --- a/compiler/ir/ir.tree/build.gradle.kts +++ b/compiler/ir/ir.tree/build.gradle.kts @@ -5,7 +5,6 @@ plugins { } dependencies { - compile(intellijDep()) compile(project(":compiler:util")) compile(project(":compiler:frontend")) compileOnly(intellijCoreDep()) { includeJars("intellij-core") } diff --git a/compiler/ir/serialization.js/build.gradle.kts b/compiler/ir/serialization.js/build.gradle.kts index ebd8b883828..20b172eec58 100644 --- a/compiler/ir/serialization.js/build.gradle.kts +++ b/compiler/ir/serialization.js/build.gradle.kts @@ -10,6 +10,7 @@ dependencies { compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + testCompile(intellijCoreDep()) { includeJars("intellij-core") } testCompile(project(":compiler:frontend")) testCompile(project(":compiler:cli")) testCompile(project(":compiler:util")) diff --git a/compiler/tests-common/build.gradle.kts b/compiler/tests-common/build.gradle.kts index cc3c5540a70..256c277d2cb 100644 --- a/compiler/tests-common/build.gradle.kts +++ b/compiler/tests-common/build.gradle.kts @@ -40,7 +40,7 @@ dependencies { testCompile(androidDxJar()) { isTransitive = false } testCompileOnly(intellijCoreDep()) { includeJars("intellij-core") } testCompile(intellijDep()) { - includeJars("openapi", "platform-api", "platform-impl", "idea", "idea_rt", "guava", "trove4j", "picocontainer", "asm-all", "log4j", "jdom", "bootstrap", rootProject = rootProject) + includeJars("openapi", "util", "platform-api", "platform-impl", "idea", "idea_rt", "guava", "trove4j", "picocontainer", "asm-all", "log4j", "jdom", "bootstrap", rootProject = rootProject) isTransitive = false } } diff --git a/generators/test-generator/build.gradle.kts b/generators/test-generator/build.gradle.kts index 9fb30d5b209..48dc60854e8 100644 --- a/generators/test-generator/build.gradle.kts +++ b/generators/test-generator/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } dependencies { - compile(intellijDep()) { includeJars("util") } + testCompile(intellijDep()) { includeJars("util") } testCompile(project(":core:util.runtime")) testCompile(projectTests(":compiler:tests-common")) testCompile(kotlinStdlib()) diff --git a/idea-runner/build.gradle.kts b/idea-runner/build.gradle.kts index 83573541f9e..580719e02af 100644 --- a/idea-runner/build.gradle.kts +++ b/idea-runner/build.gradle.kts @@ -10,8 +10,7 @@ dependencies { compileOnly(project(":idea:idea-gradle")) compileOnly(project(":idea:idea-jvm")) - compile(intellijDep()) - + runtimeOnly(intellijDep()) runtimeOnly(intellijRuntimeAnnotations()) runtimeOnly(files(toolsJar())) } diff --git a/idea/fir-view/build.gradle.kts b/idea/fir-view/build.gradle.kts index af619d1352b..cf5cd2a2390 100644 --- a/idea/fir-view/build.gradle.kts +++ b/idea/fir-view/build.gradle.kts @@ -20,9 +20,8 @@ dependencies { compile(project(":idea:idea-core")) - compileOnly(intellijCoreDep()) { includeJars("intellij-core") } - compileOnly(intellijDep()) { includeJars("util", "openapi", "idea", "asm-all", "jdom", "trove4j", "guava", rootProject = rootProject) } - compileOnly(intellijPluginDep("gradle")) //{ includeJars("gradle-tooling-api", "gradle", rootProject = rootProject) } + compileOnly(intellijDep()) + compileOnly(intellijPluginDep("gradle")) } sourceSets { diff --git a/idea/idea-core/build.gradle.kts b/idea/idea-core/build.gradle.kts index 59a473178f7..27c9dbf3df0 100644 --- a/idea/idea-core/build.gradle.kts +++ b/idea/idea-core/build.gradle.kts @@ -20,12 +20,8 @@ dependencies { compile(project(":kotlin-scripting-compiler-impl")) compile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false } compile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-jdk8")) { isTransitive = false } - compileOnly(intellijCoreDep()) { includeJars("intellij-core") } - compileOnly(intellijDep()) { - Ide.IJ191.orHigher { - this@compileOnly.includeJars("platform-api") - } - } + + compileOnly(intellijDep()) compileOnly(intellijPluginDep("gradle")) } diff --git a/idea/idea-j2k/build.gradle.kts b/idea/idea-j2k/build.gradle.kts index 1acb67ce054..24cfc3b70fa 100644 --- a/idea/idea-j2k/build.gradle.kts +++ b/idea/idea-j2k/build.gradle.kts @@ -6,6 +6,8 @@ plugins { dependencies { compile(project(":j2k")) compile(project(":idea:idea-core")) + + compileOnly(intellijDep()) } sourceSets { diff --git a/idea/idea-native/build.gradle.kts b/idea/idea-native/build.gradle.kts index 2378e1c9a24..33c3ce786ac 100644 --- a/idea/idea-native/build.gradle.kts +++ b/idea/idea-native/build.gradle.kts @@ -10,6 +10,9 @@ dependencies { compile(project(":compiler:frontend")) compileOnly(intellijDep()) compile(project(":kotlin-native:kotlin-native-library-reader")) + + testCompileOnly(intellijDep()) + testRuntimeOnly(intellijDep()) } sourceSets { diff --git a/idea/jvm-debugger/eval4j/build.gradle.kts b/idea/jvm-debugger/eval4j/build.gradle.kts index 8e483837c75..99af3d05efd 100644 --- a/idea/jvm-debugger/eval4j/build.gradle.kts +++ b/idea/jvm-debugger/eval4j/build.gradle.kts @@ -7,7 +7,7 @@ dependencies { compile(kotlinStdlib()) compile(project(":compiler:backend")) compile(files(toolsJar())) - compileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) } + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } testCompile(project(":kotlin-test:kotlin-test-junit")) testCompile(commonDep("junit:junit")) testCompile(intellijDep()) { includeJars("asm-all", rootProject = rootProject) } diff --git a/idea/jvm-debugger/jvm-debugger-core/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-core/build.gradle.kts index e010d8efa52..b8a3885e0bf 100644 --- a/idea/jvm-debugger/jvm-debugger-core/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-core/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { compile(project(":idea:jvm-debugger:jvm-debugger-util")) compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compileOnly(intellijDep()) compileOnly(intellijPluginDep("stream-debugger")) testCompile(project(":kotlin-test:kotlin-test-junit")) diff --git a/idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts index 0558d7aec7d..79792322083 100644 --- a/idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts @@ -11,6 +11,8 @@ dependencies { compile(project(":idea:jvm-debugger:jvm-debugger-util")) compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compileOnly(intellijDep()) + testCompile(project(":kotlin-test:kotlin-test-junit")) testCompile(commonDep("junit:junit")) } diff --git a/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts index 9501cc541f7..6cadaafcd10 100644 --- a/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts @@ -8,6 +8,7 @@ dependencies { compile(project(":idea:ide-common")) compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compileOnly(intellijDep()) compileOnly(intellijPluginDep("stream-debugger")) testCompile(project(":kotlin-test:kotlin-test-junit")) diff --git a/idea/jvm-debugger/jvm-debugger-util/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-util/build.gradle.kts index 7c793842109..8cdb388dc44 100644 --- a/idea/jvm-debugger/jvm-debugger-util/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-util/build.gradle.kts @@ -13,6 +13,8 @@ dependencies { compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compileOnly(intellijDep()) + testCompile(commonDep("junit:junit")) } diff --git a/j2k/build.gradle.kts b/j2k/build.gradle.kts index da0e8088591..33e62c68665 100644 --- a/j2k/build.gradle.kts +++ b/j2k/build.gradle.kts @@ -22,10 +22,8 @@ dependencies { testCompile(project(":kotlin-test:kotlin-test-junit")) testCompile(commonDep("junit:junit")) - when { - Ide.IJ181.orHigher() || Ide.AS33.orHigher() -> testCompileOnly(intellijDep()) { includeJars("platform-api", "platform-impl") } - Ide.AS32() -> testCompileOnly(intellijDep()) { includeJars("idea") } - } + testCompileOnly(intellijDep()) + testCompile(project(":idea:idea-native")) { isTransitive = false } testCompile(project(":idea:idea-gradle-native")) { isTransitive = false } diff --git a/jps-plugin/build.gradle.kts b/jps-plugin/build.gradle.kts index 0d818f1d28d..2ffe1efb648 100644 --- a/jps-plugin/build.gradle.kts +++ b/jps-plugin/build.gradle.kts @@ -37,16 +37,14 @@ dependencies { Ide.IJ { testCompile(intellijDep("devkit")) } - if (Platform[181].orHigher()) { - testCompileOnly(intellijDep()) { includeJars("openapi", "idea", "platform-api", "log4j") } - } else { - testCompileOnly(intellijDep()) { includeJars("openapi", "idea", "log4j") } - } + + testCompile(intellijDep()) + testCompile(jpsBuildTest()) compilerModules.forEach { testRuntime(project(it)) } - testRuntime(intellijDep()) + testRuntime(project(":kotlin-reflect")) testRuntime(project(":kotlin-script-runtime")) } diff --git a/libraries/scripting/jvm-host/build.gradle.kts b/libraries/scripting/jvm-host/build.gradle.kts index ee0eb98d65d..dec6325faca 100644 --- a/libraries/scripting/jvm-host/build.gradle.kts +++ b/libraries/scripting/jvm-host/build.gradle.kts @@ -13,7 +13,7 @@ dependencies { compileOnly(project(":kotlin-scripting-compiler")) compileOnly(project(":compiler:cli")) compileOnly(project(":kotlin-reflect-api")) - compileOnly(intellijCoreDep()) + compileOnly(intellijCoreDep()) { includeJars("intellij-core") } } sourceSets { diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts index 025ac7f86ca..cceaf39e5b8 100644 --- a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts @@ -75,7 +75,8 @@ dependencies { compileOnly("com.android.tools.build:gradle-core:3.0.0") { isTransitive = false } compileOnly("com.android.tools.build:builder-model:3.0.0") { isTransitive = false } - testCompileOnly (project(":compiler")) + testCompileOnly(intellijDep()) { includeJars("serviceMessages", "junit", rootProject = rootProject) } + testCompileOnly(project(":compiler")) testCompile(projectTests(":kotlin-build-common")) testCompile(project(":kotlin-android-extensions")) testCompile(project(":kotlin-compiler-runner")) diff --git a/nj2k/build.gradle.kts b/nj2k/build.gradle.kts index 87b72729f8c..e2216d189dd 100644 --- a/nj2k/build.gradle.kts +++ b/nj2k/build.gradle.kts @@ -15,7 +15,9 @@ dependencies { compile(project(":compiler:frontend.java")) compile(project(":compiler:light-classes")) compile(project(":compiler:util")) - compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "guava", rootProject = rootProject) } + compileOnly(intellijDep()) { includeJars("platform-api", "java-impl", "platform-impl", rootProject = rootProject) } testCompile(project(":idea")) testCompile(projectTests(":j2k")) @@ -25,10 +27,8 @@ dependencies { testCompile(project(":kotlin-test:kotlin-test-junit")) testCompile(commonDep("junit:junit")) - when { - Ide.IJ181.orHigher() || Ide.AS33.orHigher() -> testCompileOnly(intellijDep()) { includeJars("platform-api", "platform-impl") } - Ide.AS32() -> testCompileOnly(intellijDep()) { includeJars("idea") } - } + testCompileOnly(intellijDep()) + testCompile(project(":idea:idea-native")) { isTransitive = false } testCompile(project(":idea:idea-gradle-native")) { isTransitive = false } diff --git a/plugins/jvm-abi-gen/build.gradle.kts b/plugins/jvm-abi-gen/build.gradle.kts index e44fb1b1a28..1962817eb6e 100644 --- a/plugins/jvm-abi-gen/build.gradle.kts +++ b/plugins/jvm-abi-gen/build.gradle.kts @@ -15,6 +15,8 @@ dependencies { compileOnly(project(":compiler:plugin-api")) compileOnly(project(":kotlin-build-common")) + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } + runtimeOnly(project(":kotlin-compiler")) testCompile(commonDep("junit:junit")) diff --git a/plugins/kapt3/kapt3-cli/build.gradle.kts b/plugins/kapt3/kapt3-cli/build.gradle.kts index 66379a00d08..0f01d92dd27 100644 --- a/plugins/kapt3/kapt3-cli/build.gradle.kts +++ b/plugins/kapt3/kapt3-cli/build.gradle.kts @@ -6,6 +6,8 @@ plugins { dependencies { compile(project(":compiler:cli")) + compileOnly(intellijCoreDep()) { includeJars("intellij-core", rootProject = rootProject) } + testCompile(projectTests(":compiler:tests-common")) testCompile(projectTests(":compiler")) testCompile(commonDep("junit:junit")) diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/build.gradle.kts b/plugins/kotlin-serialization/kotlin-serialization-compiler/build.gradle.kts index 21fa647468d..92f5a27c984 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/build.gradle.kts +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } dependencies { - compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } compile(project(":compiler:plugin-api")) compile(project(":compiler:frontend")) diff --git a/plugins/kotlin-serialization/kotlin-serialization-ide/build.gradle.kts b/plugins/kotlin-serialization/kotlin-serialization-ide/build.gradle.kts index e33ca669423..458618b6503 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-ide/build.gradle.kts +++ b/plugins/kotlin-serialization/kotlin-serialization-ide/build.gradle.kts @@ -15,6 +15,9 @@ dependencies { compileOnly(intellijDep()) excludeInAndroidStudio(rootProject) { compileOnly(intellijPluginDep("maven")) } compileOnly(intellijPluginDep("gradle")) + + testCompileOnly(intellijDep()) + testRuntimeOnly(intellijDep()) } sourceSets { diff --git a/plugins/sam-with-receiver/sam-with-receiver-ide/build.gradle.kts b/plugins/sam-with-receiver/sam-with-receiver-ide/build.gradle.kts index 9a0a3e42f9c..27ab3b54c33 100644 --- a/plugins/sam-with-receiver/sam-with-receiver-ide/build.gradle.kts +++ b/plugins/sam-with-receiver/sam-with-receiver-ide/build.gradle.kts @@ -21,9 +21,9 @@ dependencies { compile(project(":idea")) compile(project(":idea:idea-jvm")) - compile(intellijDep()) { includeJars("openapi", "extensions", "util") } + compileOnly(intellijDep()) { includeJars("openapi", "extensions", "util") } Platform[181].orHigher { - compile(intellijDep()) { includeJars("platform-api") } + compileOnly(intellijDep()) { includeJars("platform-api") } } } diff --git a/plugins/uast-kotlin/build.gradle.kts b/plugins/uast-kotlin/build.gradle.kts index fcc4a42e14c..ddac9fefbbf 100644 --- a/plugins/uast-kotlin/build.gradle.kts +++ b/plugins/uast-kotlin/build.gradle.kts @@ -12,11 +12,9 @@ dependencies { compile(project(":compiler:frontend.java")) compile(project(":compiler:light-classes")) - Platform[181].orHigher { - // BEWARE: Uast should not depend on IDEA. - compileOnly(intellijCoreDep()) { includeJars("intellij-core") } - compileOnly(intellijDep()) { includeJars("java-api", "java-impl", "asm-all", rootProject = rootProject) } - } + // BEWARE: Uast should not depend on IDEA. + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } + compileOnly(intellijDep()) { includeJars("java-api", "java-impl") } testCompile(project(":kotlin-test:kotlin-test-jvm")) testCompile(projectTests(":compiler:tests-common")) @@ -25,9 +23,8 @@ dependencies { testCompile(project(":compiler:cli")) testCompile(projectTests(":idea:idea-test-framework")) - Platform[181].orHigher { - testCompileOnly(intellijDep()) { includeJars("java-api", "java-impl") } - } + testCompileOnly(intellijCoreDep()) { includeJars("intellij-core") } + testCompileOnly(intellijDep()) { includeJars("java-api", "java-impl") } testCompile(project(":idea:idea-native")) { isTransitive = false } testCompile(project(":idea:idea-gradle-native")) { isTransitive = false } diff --git a/ultimate/build.gradle.kts b/ultimate/build.gradle.kts index 9a9f993d450..13f7aa780a2 100644 --- a/ultimate/build.gradle.kts +++ b/ultimate/build.gradle.kts @@ -74,8 +74,9 @@ dependencies { testRuntime(project(":kotlin-native:kotlin-native-utils")) { isTransitive = false } if (intellijUltimateEnabled) { - testCompileOnly(intellijUltimateDep()) { includeJars("platform-api", "platform-impl", "gson", "trove4j", "openapi", "idea", "util", "jdom", rootProject = rootProject) } + testCompileOnly(intellijUltimateDep()) } + testCompile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false } testRuntime(project(":kotlin-reflect")) diff --git a/ultimate/ultimate-runner/build.gradle.kts b/ultimate/ultimate-runner/build.gradle.kts index 7eb921f8f83..d0969bf28cf 100644 --- a/ultimate/ultimate-runner/build.gradle.kts +++ b/ultimate/ultimate-runner/build.gradle.kts @@ -9,7 +9,7 @@ dependencies { compileOnly(project(":idea:idea-gradle")) compileOnly(project(":idea:idea-jvm")) - compile(intellijDep()) + runtimeOnly(intellijDep()) runtimeOnly(files(toolsJar())) }