[stdlib-mpp] Add dependency constraint on kotlin-stdlib-common for...
...other variants where it can be expected. Such as: * commonMainMetadataElements (legacy metadata) * metadataElements (klib metadata) * nativeApiElements This would prevent from leaking kotlin-stdlib-common dependencies of older Kotlin versions. So every KGP configuration where stdlib dependencies is configured automatically will enforce dependency constraints on kotlin-stdlib-common. ^KT-61053 Verification Pending
This commit is contained in:
committed by
Space Team
parent
b725cd3e6c
commit
7c5dd7c451
@@ -1,14 +1,14 @@
|
|||||||
@file:Suppress("UNUSED_VARIABLE", "NAME_SHADOWING")
|
@file:Suppress("UNUSED_VARIABLE", "NAME_SHADOWING")
|
||||||
import org.gradle.api.internal.component.SoftwareComponentInternal
|
import org.gradle.api.internal.component.SoftwareComponentInternal
|
||||||
import org.gradle.api.internal.component.UsageContext
|
import org.gradle.api.internal.component.UsageContext
|
||||||
import java.nio.file.*
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
|
||||||
import org.jetbrains.kotlin.gradle.tasks.UsesKotlinJavaToolchain
|
|
||||||
import plugins.configureDefaultPublishing
|
|
||||||
import org.gradle.jvm.tasks.Jar
|
import org.gradle.jvm.tasks.Jar
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
||||||
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
||||||
|
import org.jetbrains.kotlin.gradle.tasks.UsesKotlinJavaToolchain
|
||||||
|
import plugins.configureDefaultPublishing
|
||||||
import plugins.configureKotlinPomAttributes
|
import plugins.configureKotlinPomAttributes
|
||||||
|
import java.nio.file.*
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("kotlin-multiplatform")
|
id("kotlin-multiplatform")
|
||||||
@@ -461,10 +461,16 @@ kotlin {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
val jvmMainImplementation by configurations.getting
|
val jvmMainImplementation by configurations.getting
|
||||||
|
val commonMainMetadataElementsWithClassifier by configurations.creating
|
||||||
|
val metadataApiElements by configurations.getting
|
||||||
|
val nativeApiElements by configurations.creating
|
||||||
constraints {
|
constraints {
|
||||||
// there is no dependency anymore from kotlin-stdlib to kotlin-stdlib-common,
|
// there is no dependency anymore from kotlin-stdlib to kotlin-stdlib-common,
|
||||||
// but use this constraint to align it if another library brings it transitively
|
// but use this constraint to align it if another library brings it transitively
|
||||||
jvmMainImplementation(project(":kotlin-stdlib-common"))
|
jvmMainImplementation(project(":kotlin-stdlib-common"))
|
||||||
|
commonMainMetadataElementsWithClassifier(project(":kotlin-stdlib-common"))
|
||||||
|
metadataApiElements(project(":kotlin-stdlib-common"))
|
||||||
|
nativeApiElements(project(":kotlin-stdlib-common"))
|
||||||
// to avoid split package and duplicate classes on classpath after moving them from these artifacts in 1.8.0
|
// to avoid split package and duplicate classes on classpath after moving them from these artifacts in 1.8.0
|
||||||
jvmMainImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0")
|
jvmMainImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0")
|
||||||
jvmMainImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0")
|
jvmMainImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0")
|
||||||
|
|||||||
Reference in New Issue
Block a user