From 5bde9720b788f2ff440159391d7e63b29e31559e Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Thu, 6 Jun 2019 20:19:53 +0300 Subject: [PATCH] Build: Fix dependencies on :kotlin-compiler project Dependencies on :kotlin-compiler should never be used in configurations which are imported transitively because ide fails to import it as project dependency. When :kotlin-compiler dependency is imported as kotlin-compiler.jar dependency ide re-indexes it on every change. This behaviour is super annoying. #KT-31120 Fixed --- konan/library-reader/build.gradle.kts | 2 +- .../examples/scripting/jvm-maven-deps/host/build.gradle.kts | 6 ++++-- .../scripting/jvm-simple-script/host/build.gradle.kts | 3 ++- libraries/scripting/jsr223-test/build.gradle.kts | 6 +++++- libraries/scripting/jsr223/build.gradle.kts | 2 -- libraries/scripting/jvm-host-test/build.gradle.kts | 6 ++++++ libraries/scripting/jvm-host/build.gradle.kts | 4 ---- libraries/tools/kotlin-script-util/build.gradle.kts | 2 +- plugins/allopen/allopen-cli/build.gradle.kts | 3 ++- plugins/noarg/noarg-cli/build.gradle.kts | 2 +- ultimate/build.gradle.kts | 2 +- 11 files changed, 23 insertions(+), 15 deletions(-) diff --git a/konan/library-reader/build.gradle.kts b/konan/library-reader/build.gradle.kts index f25eb589d5e..adc211fe894 100644 --- a/konan/library-reader/build.gradle.kts +++ b/konan/library-reader/build.gradle.kts @@ -22,7 +22,7 @@ dependencies { compileOnly(project(":compiler:cli-common")) // This dependency is necessary to keep the right dependency record inside of POM file: - mavenCompileScope(projectRuntimeJar(":kotlin-compiler")) + mavenCompileScope(project(":kotlin-compiler")) compile(project(":kotlin-native:kotlin-native-utils")) diff --git a/libraries/examples/scripting/jvm-maven-deps/host/build.gradle.kts b/libraries/examples/scripting/jvm-maven-deps/host/build.gradle.kts index 37f781c4c8a..39c0a3d312a 100644 --- a/libraries/examples/scripting/jvm-maven-deps/host/build.gradle.kts +++ b/libraries/examples/scripting/jvm-maven-deps/host/build.gradle.kts @@ -9,9 +9,11 @@ dependencies { compile(kotlinStdlib()) compileOnly(project(":kotlin-reflect-api")) compileOnly(project(":compiler:util")) - runtime(project(":kotlin-reflect")) - testRuntimeOnly(projectRuntimeJar(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-reflect")) + testRuntimeOnly(project(":kotlin-scripting-compiler")) + testCompile(commonDep("junit")) } diff --git a/libraries/examples/scripting/jvm-simple-script/host/build.gradle.kts b/libraries/examples/scripting/jvm-simple-script/host/build.gradle.kts index b81a790fedd..0387a92d162 100644 --- a/libraries/examples/scripting/jvm-simple-script/host/build.gradle.kts +++ b/libraries/examples/scripting/jvm-simple-script/host/build.gradle.kts @@ -7,7 +7,8 @@ dependencies { compile(project(":examples:scripting-jvm-simple-script")) compile(project(":kotlin-scripting-jvm-host")) compile(project(":kotlin-script-util")) - testRuntimeOnly(projectRuntimeJar(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-scripting-compiler")) testRuntimeOnly(project(":kotlin-reflect")) testCompile(commonDep("junit")) } diff --git a/libraries/scripting/jsr223-test/build.gradle.kts b/libraries/scripting/jsr223-test/build.gradle.kts index 45e40c347aa..d311772fdba 100644 --- a/libraries/scripting/jsr223-test/build.gradle.kts +++ b/libraries/scripting/jsr223-test/build.gradle.kts @@ -12,7 +12,11 @@ dependencies { testCompileOnly(project(":kotlin-scripting-jvm-host")) testCompileOnly(project(":compiler:cli")) testCompileOnly(project(":core:util.runtime")) - testRuntime(project(":kotlin-scripting-jsr223")) + + testRuntimeOnly(project(":kotlin-scripting-jsr223")) + testRuntimeOnly(project(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-reflect")) + embeddableTestRuntime(commonDep("junit")) embeddableTestRuntime(project(":kotlin-scripting-jsr223-embeddable")) embeddableTestRuntime(testSourceSet.output) diff --git a/libraries/scripting/jsr223/build.gradle.kts b/libraries/scripting/jsr223/build.gradle.kts index c7e87fe2686..431bae42f45 100644 --- a/libraries/scripting/jsr223/build.gradle.kts +++ b/libraries/scripting/jsr223/build.gradle.kts @@ -15,8 +15,6 @@ dependencies { compileOnly(project(":compiler:cli-common")) compileOnly(project(":kotlin-reflect-api")) compileOnly(intellijCoreDep()) - runtime(project(":kotlin-compiler")) - runtime(project(":kotlin-reflect")) } sourceSets { diff --git a/libraries/scripting/jvm-host-test/build.gradle.kts b/libraries/scripting/jvm-host-test/build.gradle.kts index 48e562df0df..c054d320f25 100644 --- a/libraries/scripting/jvm-host-test/build.gradle.kts +++ b/libraries/scripting/jvm-host-test/build.gradle.kts @@ -19,6 +19,12 @@ dependencies { testCompile(project(":kotlin-scripting-jvm-host")) testCompile(projectTests(":compiler:tests-common")) testCompile(project(":daemon-common")) // TODO: fix import (workaround for jps build) + + testRuntimeOnly(project(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-scripting-compiler")) + testRuntimeOnly(project(":kotlin-reflect")) + testRuntimeOnly(commonDep("org.jetbrains.intellij.deps", "trove4j")) + embeddableTestRuntime(project(":kotlin-scripting-jvm-host-embeddable")) embeddableTestRuntime(project(":kotlin-test:kotlin-test-jvm")) embeddableTestRuntime(project(":kotlin-test:kotlin-test-junit")) diff --git a/libraries/scripting/jvm-host/build.gradle.kts b/libraries/scripting/jvm-host/build.gradle.kts index daf3af59547..ee0eb98d65d 100644 --- a/libraries/scripting/jvm-host/build.gradle.kts +++ b/libraries/scripting/jvm-host/build.gradle.kts @@ -14,10 +14,6 @@ dependencies { compileOnly(project(":compiler:cli")) compileOnly(project(":kotlin-reflect-api")) compileOnly(intellijCoreDep()) - runtime(project(":kotlin-compiler")) - runtime(project(":kotlin-scripting-compiler")) - runtime(project(":kotlin-reflect")) - runtime(commonDep("org.jetbrains.intellij.deps", "trove4j")) } sourceSets { diff --git a/libraries/tools/kotlin-script-util/build.gradle.kts b/libraries/tools/kotlin-script-util/build.gradle.kts index c0f8d975fa4..9c0f4c9d7c7 100644 --- a/libraries/tools/kotlin-script-util/build.gradle.kts +++ b/libraries/tools/kotlin-script-util/build.gradle.kts @@ -23,7 +23,7 @@ dependencies { testRuntime(project(":kotlin-reflect")) testCompile(commonDep("junit:junit")) testCompile(project(":kotlin-scripting-compiler")) - testRuntimeOnly(projectRuntimeJar(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-compiler")) testRuntime("org.jetbrains.kotlin:jcabi-aether:1.0-dev-3") testRuntime("org.sonatype.aether:aether-api:1.13.1") testRuntime("org.apache.maven:maven-core:3.0.3") diff --git a/plugins/allopen/allopen-cli/build.gradle.kts b/plugins/allopen/allopen-cli/build.gradle.kts index 005e12f5685..d045219caf6 100644 --- a/plugins/allopen/allopen-cli/build.gradle.kts +++ b/plugins/allopen/allopen-cli/build.gradle.kts @@ -16,7 +16,8 @@ dependencies { testRuntimeOnly(intellijDep()) { includeJars("guava", rootProject = rootProject) } - testRuntimeOnly(projectRuntimeJar(":kotlin-compiler")) + + testRuntimeOnly(project(":kotlin-compiler")) testCompile(project(":compiler:backend")) testCompile(project(":compiler:cli")) diff --git a/plugins/noarg/noarg-cli/build.gradle.kts b/plugins/noarg/noarg-cli/build.gradle.kts index 9b83923b5f8..8e81f9da9b4 100644 --- a/plugins/noarg/noarg-cli/build.gradle.kts +++ b/plugins/noarg/noarg-cli/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { testRuntimeOnly(intellijDep()) { includeJars("guava", rootProject = rootProject) } - testRuntimeOnly(projectRuntimeJar(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-compiler")) testCompile(project(":compiler:backend")) testCompile(project(":compiler:cli")) testCompile(projectTests(":compiler:tests-common")) diff --git a/ultimate/build.gradle.kts b/ultimate/build.gradle.kts index 2f213e7a643..179ca0403a8 100644 --- a/ultimate/build.gradle.kts +++ b/ultimate/build.gradle.kts @@ -80,7 +80,7 @@ dependencies { testRuntime(project(":kotlin-reflect")) testRuntime(project(":kotlin-script-runtime")) - testRuntimeOnly(projectRuntimeJar(":kotlin-compiler")) + testRuntimeOnly(project(":kotlin-compiler")) testRuntime(project(":plugins:android-extensions-ide")) { isTransitive = false } testRuntime(project(":plugins:android-extensions-compiler")) { isTransitive = false } testRuntime(project(":plugins:annotation-based-compiler-plugins-ide-support")) { isTransitive = false }