diff --git a/buildSrc/src/main/kotlin/artifacts.kt b/buildSrc/src/main/kotlin/artifacts.kt index 142870933e3..8452ef1fc00 100644 --- a/buildSrc/src/main/kotlin/artifacts.kt +++ b/buildSrc/src/main/kotlin/artifacts.kt @@ -29,6 +29,7 @@ import org.gradle.kotlin.dsl.* import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetContainer import plugins.KotlinBuildPublishingPlugin import plugins.mainPublicationName +import java.io.File private const val MAGIC_DO_NOT_CHANGE_TEST_JAR_TASK_NAME = "testJar" @@ -77,11 +78,19 @@ fun Jar.addEmbeddedRuntime() { dependsOn(embedded) val archiveOperations = project.serviceOf() from { - embedded.map { - if (it.extension.equals("jar", ignoreCase = true)) { - archiveOperations.zipTree(it) + embedded.map { dependency: File -> + check(!dependency.path.contains("kotlin-stdlib")) { + """ + |There's an attempt to have an embedded kotlin-stdlib in $project which is likely a misconfiguration + |All embedded dependencies: + | ${embedded.files.joinToString(separator = "\n| ")} + """.trimMargin() + } + + if (dependency.extension.equals("jar", ignoreCase = true)) { + archiveOperations.zipTree(dependency) } else { - it + dependency } } } diff --git a/plugins/assign-plugin/assign-plugin.embeddable/build.gradle.kts b/plugins/assign-plugin/assign-plugin.embeddable/build.gradle.kts index 48275a4733d..6a0f48fe06f 100644 --- a/plugins/assign-plugin/assign-plugin.embeddable/build.gradle.kts +++ b/plugins/assign-plugin/assign-plugin.embeddable/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } dependencies { - embedded(project(":kotlin-assignment-compiler-plugin")) + embedded(project(":kotlin-assignment-compiler-plugin")) { isTransitive = false } } sourceSets { diff --git a/plugins/assign-plugin/build.gradle.kts b/plugins/assign-plugin/build.gradle.kts index 51d2f47f805..78e3b4e2d77 100644 --- a/plugins/assign-plugin/build.gradle.kts +++ b/plugins/assign-plugin/build.gradle.kts @@ -6,10 +6,10 @@ plugins { } dependencies { - embedded(project(":kotlin-assignment-compiler-plugin.common")) - embedded(project(":kotlin-assignment-compiler-plugin.k1")) - embedded(project(":kotlin-assignment-compiler-plugin.k2")) - embedded(project(":kotlin-assignment-compiler-plugin.cli")) + embedded(project(":kotlin-assignment-compiler-plugin.common")) { isTransitive = false } + embedded(project(":kotlin-assignment-compiler-plugin.k1")) { isTransitive = false } + embedded(project(":kotlin-assignment-compiler-plugin.k2")) { isTransitive = false } + embedded(project(":kotlin-assignment-compiler-plugin.cli")) { isTransitive = false } testApi(project(":compiler:backend")) testApi(project(":compiler:cli")) diff --git a/plugins/kotlinx-serialization/build.gradle.kts b/plugins/kotlinx-serialization/build.gradle.kts index 38ff7df9e8d..1decc3adcee 100644 --- a/plugins/kotlinx-serialization/build.gradle.kts +++ b/plugins/kotlinx-serialization/build.gradle.kts @@ -6,11 +6,11 @@ plugins { } dependencies { - embedded(project(":kotlinx-serialization-compiler-plugin.common")) - embedded(project(":kotlinx-serialization-compiler-plugin.k1")) - embedded(project(":kotlinx-serialization-compiler-plugin.k2")) - embedded(project(":kotlinx-serialization-compiler-plugin.backend")) - embedded(project(":kotlinx-serialization-compiler-plugin.cli")) + embedded(project(":kotlinx-serialization-compiler-plugin.common")) { isTransitive = false } + embedded(project(":kotlinx-serialization-compiler-plugin.k1")) { isTransitive = false } + embedded(project(":kotlinx-serialization-compiler-plugin.k2")) { isTransitive = false } + embedded(project(":kotlinx-serialization-compiler-plugin.backend")) { isTransitive = false } + embedded(project(":kotlinx-serialization-compiler-plugin.cli")) { isTransitive = false } testApi(project(":compiler:backend")) testApi(project(":compiler:cli")) diff --git a/plugins/lombok/build.gradle.kts b/plugins/lombok/build.gradle.kts index e9314368404..f0347e6df40 100644 --- a/plugins/lombok/build.gradle.kts +++ b/plugins/lombok/build.gradle.kts @@ -6,10 +6,10 @@ plugins { } dependencies { - embedded(project(":kotlin-lombok-compiler-plugin.common")) - embedded(project(":kotlin-lombok-compiler-plugin.k1")) - embedded(project(":kotlin-lombok-compiler-plugin.k2")) - embedded(project(":kotlin-lombok-compiler-plugin.cli")) + embedded(project(":kotlin-lombok-compiler-plugin.common")) { isTransitive = false } + embedded(project(":kotlin-lombok-compiler-plugin.k1")) { isTransitive = false } + embedded(project(":kotlin-lombok-compiler-plugin.k2")) { isTransitive = false } + embedded(project(":kotlin-lombok-compiler-plugin.cli")) { isTransitive = false } testImplementation(intellijCore()) testImplementation(project(":kotlin-lombok-compiler-plugin.common")) diff --git a/plugins/noarg/build.gradle.kts b/plugins/noarg/build.gradle.kts index 480dd70203a..92fbc5de9a2 100644 --- a/plugins/noarg/build.gradle.kts +++ b/plugins/noarg/build.gradle.kts @@ -6,11 +6,11 @@ plugins { } dependencies { - embedded(project(":kotlin-noarg-compiler-plugin.common")) - embedded(project(":kotlin-noarg-compiler-plugin.k1")) - embedded(project(":kotlin-noarg-compiler-plugin.k2")) - embedded(project(":kotlin-noarg-compiler-plugin.backend")) - embedded(project(":kotlin-noarg-compiler-plugin.cli")) + embedded(project(":kotlin-noarg-compiler-plugin.common")) { isTransitive = false } + embedded(project(":kotlin-noarg-compiler-plugin.k1")) { isTransitive = false } + embedded(project(":kotlin-noarg-compiler-plugin.k2")) { isTransitive = false } + embedded(project(":kotlin-noarg-compiler-plugin.backend")) { isTransitive = false } + embedded(project(":kotlin-noarg-compiler-plugin.cli")) { isTransitive = false } testApi(project(":compiler:backend")) testApi(project(":compiler:cli")) diff --git a/plugins/sam-with-receiver/build.gradle.kts b/plugins/sam-with-receiver/build.gradle.kts index 4fa7c7ee1fa..a8b7bc83cd2 100644 --- a/plugins/sam-with-receiver/build.gradle.kts +++ b/plugins/sam-with-receiver/build.gradle.kts @@ -6,10 +6,10 @@ plugins { } dependencies { - embedded(project(":kotlin-sam-with-receiver-compiler-plugin.common")) - embedded(project(":kotlin-sam-with-receiver-compiler-plugin.k1")) - embedded(project(":kotlin-sam-with-receiver-compiler-plugin.k2")) - embedded(project(":kotlin-sam-with-receiver-compiler-plugin.cli")) + embedded(project(":kotlin-sam-with-receiver-compiler-plugin.common")) { isTransitive = false } + embedded(project(":kotlin-sam-with-receiver-compiler-plugin.k1")) { isTransitive = false } + embedded(project(":kotlin-sam-with-receiver-compiler-plugin.k2")) { isTransitive = false } + embedded(project(":kotlin-sam-with-receiver-compiler-plugin.cli")) { isTransitive = false } testApi(project(":compiler:backend")) testApi(project(":compiler:cli"))