diff --git a/plugins/uast-kotlin-fir/build.gradle.kts b/plugins/uast-kotlin-fir/build.gradle.kts index 1576d0f7856..6d8bf7e8b3f 100644 --- a/plugins/uast-kotlin-fir/build.gradle.kts +++ b/plugins/uast-kotlin-fir/build.gradle.kts @@ -1,13 +1,21 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + plugins { kotlin("jvm") id("jps-compatible") } +val shadows by configurations.creating { + isTransitive = false +} +configurations.getByName("compileOnly").extendsFrom(shadows) +configurations.getByName("testCompile").extendsFrom(shadows) + dependencies { implementation(kotlinStdlib()) implementation(project(":compiler:psi")) implementation(project(":compiler:light-classes")) - implementation(project(":plugins:uast-kotlin-base")) + shadows(project(":plugins:uast-kotlin-base")) // BEWARE: UAST should not depend on IJ platform so that it can work in Android Lint CLI mode (where IDE is not available) compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } @@ -33,6 +41,15 @@ sourceSets { "test" { projectDefault() } } +noDefaultJar() + +runtimeJar(tasks.register("shadowJar")) { + from(mainSourceSet.output) + configurations = listOf(shadows) +} + +testsJar () + projectTest(parallel = true) { workingDir = rootDir val useFirIdeaPlugin = kotlinBuildProperties.useFirIdeaPlugin @@ -42,5 +59,3 @@ projectTest(parallel = true) { } } } - -testsJar () diff --git a/plugins/uast-kotlin/build.gradle.kts b/plugins/uast-kotlin/build.gradle.kts index e0dcdd8a8bc..5bdeb845a63 100644 --- a/plugins/uast-kotlin/build.gradle.kts +++ b/plugins/uast-kotlin/build.gradle.kts @@ -1,9 +1,16 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar plugins { kotlin("jvm") id("jps-compatible") } +val shadows by configurations.creating { + isTransitive = false +} +configurations.getByName("compileOnly").extendsFrom(shadows) +configurations.getByName("testCompile").extendsFrom(shadows) + dependencies { compile(kotlinStdlib()) compile(project(":core:util.runtime")) @@ -11,7 +18,7 @@ dependencies { compile(project(":compiler:frontend")) compile(project(":compiler:frontend.java")) compile(project(":compiler:light-classes")) - compile(project(":plugins:uast-kotlin-base")) + shadows(project(":plugins:uast-kotlin-base")) // BEWARE: UAST should not depend on IJ platform so that it can work in Android Lint CLI mode (where IDE is not available) compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } @@ -64,6 +71,13 @@ sourceSets { "test" { projectDefault() } } +noDefaultJar() + +runtimeJar(tasks.register("shadowJar")) { + from(mainSourceSet.output) + configurations = listOf(shadows) +} + testsJar {} projectTest(parallel = true) {