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 org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetContainer
|
||||||
import plugins.KotlinBuildPublishingPlugin
|
import plugins.KotlinBuildPublishingPlugin
|
||||||
import plugins.mainPublicationName
|
import plugins.mainPublicationName
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
|
|
||||||
private const val MAGIC_DO_NOT_CHANGE_TEST_JAR_TASK_NAME = "testJar"
|
private const val MAGIC_DO_NOT_CHANGE_TEST_JAR_TASK_NAME = "testJar"
|
||||||
@@ -77,11 +78,19 @@ fun Jar.addEmbeddedRuntime() {
|
|||||||
dependsOn(embedded)
|
dependsOn(embedded)
|
||||||
val archiveOperations = project.serviceOf<ArchiveOperations>()
|
val archiveOperations = project.serviceOf<ArchiveOperations>()
|
||||||
from {
|
from {
|
||||||
embedded.map {
|
embedded.map { dependency: File ->
|
||||||
if (it.extension.equals("jar", ignoreCase = true)) {
|
check(!dependency.path.contains("kotlin-stdlib")) {
|
||||||
archiveOperations.zipTree(it)
|
"""
|
||||||
|
|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 {
|
} else {
|
||||||
it
|
dependency
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
embedded(project(":kotlin-assignment-compiler-plugin"))
|
embedded(project(":kotlin-assignment-compiler-plugin")) { isTransitive = false }
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
embedded(project(":kotlin-assignment-compiler-plugin.common"))
|
embedded(project(":kotlin-assignment-compiler-plugin.common")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-assignment-compiler-plugin.k1"))
|
embedded(project(":kotlin-assignment-compiler-plugin.k1")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-assignment-compiler-plugin.k2"))
|
embedded(project(":kotlin-assignment-compiler-plugin.k2")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-assignment-compiler-plugin.cli"))
|
embedded(project(":kotlin-assignment-compiler-plugin.cli")) { isTransitive = false }
|
||||||
|
|
||||||
testApi(project(":compiler:backend"))
|
testApi(project(":compiler:backend"))
|
||||||
testApi(project(":compiler:cli"))
|
testApi(project(":compiler:cli"))
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
embedded(project(":kotlinx-serialization-compiler-plugin.common"))
|
embedded(project(":kotlinx-serialization-compiler-plugin.common")) { isTransitive = false }
|
||||||
embedded(project(":kotlinx-serialization-compiler-plugin.k1"))
|
embedded(project(":kotlinx-serialization-compiler-plugin.k1")) { isTransitive = false }
|
||||||
embedded(project(":kotlinx-serialization-compiler-plugin.k2"))
|
embedded(project(":kotlinx-serialization-compiler-plugin.k2")) { isTransitive = false }
|
||||||
embedded(project(":kotlinx-serialization-compiler-plugin.backend"))
|
embedded(project(":kotlinx-serialization-compiler-plugin.backend")) { isTransitive = false }
|
||||||
embedded(project(":kotlinx-serialization-compiler-plugin.cli"))
|
embedded(project(":kotlinx-serialization-compiler-plugin.cli")) { isTransitive = false }
|
||||||
|
|
||||||
testApi(project(":compiler:backend"))
|
testApi(project(":compiler:backend"))
|
||||||
testApi(project(":compiler:cli"))
|
testApi(project(":compiler:cli"))
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
embedded(project(":kotlin-lombok-compiler-plugin.common"))
|
embedded(project(":kotlin-lombok-compiler-plugin.common")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-lombok-compiler-plugin.k1"))
|
embedded(project(":kotlin-lombok-compiler-plugin.k1")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-lombok-compiler-plugin.k2"))
|
embedded(project(":kotlin-lombok-compiler-plugin.k2")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-lombok-compiler-plugin.cli"))
|
embedded(project(":kotlin-lombok-compiler-plugin.cli")) { isTransitive = false }
|
||||||
|
|
||||||
testImplementation(intellijCore())
|
testImplementation(intellijCore())
|
||||||
testImplementation(project(":kotlin-lombok-compiler-plugin.common"))
|
testImplementation(project(":kotlin-lombok-compiler-plugin.common"))
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
embedded(project(":kotlin-noarg-compiler-plugin.common"))
|
embedded(project(":kotlin-noarg-compiler-plugin.common")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-noarg-compiler-plugin.k1"))
|
embedded(project(":kotlin-noarg-compiler-plugin.k1")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-noarg-compiler-plugin.k2"))
|
embedded(project(":kotlin-noarg-compiler-plugin.k2")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-noarg-compiler-plugin.backend"))
|
embedded(project(":kotlin-noarg-compiler-plugin.backend")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-noarg-compiler-plugin.cli"))
|
embedded(project(":kotlin-noarg-compiler-plugin.cli")) { isTransitive = false }
|
||||||
|
|
||||||
testApi(project(":compiler:backend"))
|
testApi(project(":compiler:backend"))
|
||||||
testApi(project(":compiler:cli"))
|
testApi(project(":compiler:cli"))
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
embedded(project(":kotlin-sam-with-receiver-compiler-plugin.common"))
|
embedded(project(":kotlin-sam-with-receiver-compiler-plugin.common")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-sam-with-receiver-compiler-plugin.k1"))
|
embedded(project(":kotlin-sam-with-receiver-compiler-plugin.k1")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-sam-with-receiver-compiler-plugin.k2"))
|
embedded(project(":kotlin-sam-with-receiver-compiler-plugin.k2")) { isTransitive = false }
|
||||||
embedded(project(":kotlin-sam-with-receiver-compiler-plugin.cli"))
|
embedded(project(":kotlin-sam-with-receiver-compiler-plugin.cli")) { isTransitive = false }
|
||||||
|
|
||||||
testApi(project(":compiler:backend"))
|
testApi(project(":compiler:backend"))
|
||||||
testApi(project(":compiler:cli"))
|
testApi(project(":compiler:cli"))
|
||||||
|
|||||||
Reference in New Issue
Block a user