Remove packed stdlib from Kotlin compiler plugin artefacts
Remove annotations, kotlin-stdlib-common, kotlin-stdlib. Packing those libraries is wrong and probably unexpected. It leads to artifacts size increase. Can be dangerous because of bad classpath. And also have a reproducibility issue because of caching tricks around KotlinVersionCurrentValue class. KTI-942
This commit is contained in:
committed by
Space Team
parent
2ec264cfa2
commit
f43ad1cb7a
@@ -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<ArchiveOperations>()
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ plugins {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
embedded(project(":kotlin-assignment-compiler-plugin"))
|
||||
embedded(project(":kotlin-assignment-compiler-plugin")) { isTransitive = false }
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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"))
|
||||
|
||||
Reference in New Issue
Block a user