[stdlib-mpp] Switch kotlin-stdlib project to multiplatform
#KT-56106
This commit is contained in:
committed by
Space Team
parent
fac620df0b
commit
34720f27d4
+3
-2
@@ -357,8 +357,9 @@ val coreLibProjects by extra {
|
||||
)
|
||||
}
|
||||
val mppProjects by extra {
|
||||
listOf(
|
||||
":kotlin-stdlib-mpp",
|
||||
listOfNotNull(
|
||||
":kotlin-stdlib-mpp".takeUnless { kotlinBuildProperties.kotlinStdlibMpp },
|
||||
":kotlin-stdlib".takeIf { kotlinBuildProperties.kotlinStdlibMpp },
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ kotlin.options.suppressFreeCompilerArgsModificationWarning=true
|
||||
# TODO: add this flag in a granular way to the modules that don't need stdlib?
|
||||
kotlin.stdlib.default.dependency=false
|
||||
kotlin.js.stdlib.dom.api.included=false
|
||||
kotlin.stdlib.mpp=true
|
||||
|
||||
# Suppress warnings about using deprecated and unstable plugins in kotlin-stdlib
|
||||
kotlin.internal.suppressGradlePluginErrors=PreHMPPFlagsError
|
||||
|
||||
@@ -4101,12 +4101,30 @@
|
||||
<sha256 value="4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.3.70">
|
||||
<artifact name="kotlin-stdlib-common-1.3.70.jar">
|
||||
<md5 value="53323436def4746efd414192e1add1bc" origin="Generated by Gradle"/>
|
||||
<sha256 value="6e2377cfc4898f2fb24429951b133b570b250e3f860a8458b2a1f8a63cf53a50" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.4.10">
|
||||
<artifact name="kotlin-stdlib-common-1.4.10.jar">
|
||||
<md5 value="3063be8b21930539e87a1b70819c46fe" origin="Generated by Gradle"/>
|
||||
<sha256 value="4681f2d436a68c7523595d84ed5758e1382f9da0f67c91e6a848690d711274fe" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.4.30">
|
||||
<artifact name="kotlin-stdlib-common-1.4.30.jar">
|
||||
<md5 value="37a1c4363f212e1b123b62167b538a5a" origin="Generated by Gradle"/>
|
||||
<sha256 value="32010683330a6f31b8d309f10433acaa109b61f2df3d252dae7dade9730074c2" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.5.0">
|
||||
<artifact name="kotlin-stdlib-common-1.5.0.jar">
|
||||
<md5 value="df18df1862c2fd6b5c185c8eeb493dc1" origin="Generated by Gradle"/>
|
||||
<sha256 value="c14ce6720a487b5e238f1b0c30ac3ad73e45b90a40731ca0b1cfddec1a37682f" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.5.31">
|
||||
<artifact name="kotlin-stdlib-common-1.5.31.jar">
|
||||
<md5 value="65557bf9158d26bb450352376584b0b8" origin="Generated by Gradle"/>
|
||||
@@ -4125,6 +4143,18 @@
|
||||
<sha256 value="280ddd0994e4560c9a49ee81c1b047ddc2b8f2176159475066025b474b37effd" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.6.21">
|
||||
<artifact name="kotlin-stdlib-common-1.6.21.jar">
|
||||
<md5 value="ef059f351dbf296d43895872bb5a335f" origin="Generated by Gradle"/>
|
||||
<sha256 value="183bec59cd9f3a14957b190e8c879cf1194bd1f106b0a7b6e1cbb8790d242363" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.7.20">
|
||||
<artifact name="kotlin-stdlib-common-1.7.20.jar">
|
||||
<md5 value="9e99345113604b0b2282773bc52f574a" origin="Generated by Gradle"/>
|
||||
<sha256 value="e0e91962bc0007338bf5b1739f62927ac32d14ba3d827fa608ab4e5351729d5d" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.jetbrains.kotlin" name="kotlin-stdlib-common" version="1.8.10">
|
||||
<artifact name="kotlin-stdlib-common-1.8.10.jar">
|
||||
<md5 value="89e214d219dc3e3acf6e5e2d860ff638" origin="Generated by Gradle"/>
|
||||
|
||||
@@ -980,4 +980,13 @@ private class ComponentWithExternalVariants(
|
||||
override fun getVariants(): Set<SoftwareComponent> = externalComponents
|
||||
}
|
||||
|
||||
// endregion
|
||||
// endregion
|
||||
|
||||
// for legacy intra-project dependencies
|
||||
for (name in listOf("sources", "distSources")) {
|
||||
val sourcesConfiguration = configurations.getOrCreate(name).apply {
|
||||
isCanBeResolved = false
|
||||
isCanBeConsumed = true
|
||||
}
|
||||
artifacts.add(sourcesConfiguration.name, tasks["jvmSourcesJar"])
|
||||
}
|
||||
|
||||
@@ -376,3 +376,11 @@ tasks.register("runMocha", NodeTask) {
|
||||
tasks.withType(org.jetbrains.kotlin.gradle.dsl.KotlinJsCompile) {
|
||||
kotlinOptions.freeCompilerArgs += "-Xforce-deprecated-legacy-compiler-usage"
|
||||
}
|
||||
|
||||
if (BuildPropertiesExtKt.getKotlinStdlibMpp(project.kotlinBuildProperties)) {
|
||||
afterEvaluate {
|
||||
tasks.withType(AbstractPublishToMaven).configureEach {
|
||||
enabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,7 +32,7 @@ sourceSets {
|
||||
}
|
||||
|
||||
val copySources by task<Sync> {
|
||||
val stdlibProjectDir = project(":kotlin-stdlib").projectDir
|
||||
val stdlibProjectDir = file("$rootDir/libraries/stdlib/jvm")
|
||||
|
||||
from(stdlibProjectDir.resolve("runtime"))
|
||||
.include("kotlin/TypeAliases.kt",
|
||||
|
||||
@@ -59,3 +59,6 @@ val KotlinBuildProperties.useFirWithLightTree: Boolean
|
||||
|
||||
val KotlinBuildProperties.useFirTightIC: Boolean
|
||||
get() = getBoolean("kotlin.build.useFirIC")
|
||||
|
||||
val KotlinBuildProperties.kotlinStdlibMpp: Boolean
|
||||
get() = getBoolean("kotlin.stdlib.mpp")
|
||||
@@ -86,9 +86,9 @@ fun kotlinDep(artifactBaseName: String, version: String, classifier: String? = n
|
||||
@JvmOverloads
|
||||
fun Project.kotlinStdlib(suffix: String? = null, classifier: String? = null): Any {
|
||||
return if (kotlinBuildProperties.useBootstrapStdlib)
|
||||
kotlinDep(listOfNotNull("stdlib", suffix).joinToString("-"), bootstrapKotlinVersion, classifier)
|
||||
kotlinDep(listOfNotNull("stdlib", suffix.takeUnless { kotlinBuildProperties.kotlinStdlibMpp && it == "mpp" }).joinToString("-"), bootstrapKotlinVersion, classifier)
|
||||
else
|
||||
dependencies.project(listOfNotNull(":kotlin-stdlib", suffix).joinToString("-"), classifier)
|
||||
dependencies.project(listOfNotNull(":kotlin-stdlib", suffix.takeUnless { kotlinBuildProperties.kotlinStdlibMpp && it == "mpp" }).joinToString("-"), classifier)
|
||||
}
|
||||
|
||||
fun Project.kotlinBuiltins(): Any = kotlinBuiltins(forJvm = false)
|
||||
|
||||
+5
-4
@@ -578,7 +578,7 @@ if (buildProperties.inJpsBuildIdeaSync) {
|
||||
project(":kotlin-stdlib:jps-build").projectDir = "$rootDir/libraries/stdlib/jps-build" as File
|
||||
} else {
|
||||
// modules that we are currently cannot compile with jps
|
||||
|
||||
def stdlibMpp = buildProperties.getBoolean("kotlin.stdlib.mpp", false)
|
||||
include ":core:builtins",
|
||||
":kotlin-stdlib-common",
|
||||
":kotlin-stdlib",
|
||||
@@ -587,7 +587,6 @@ if (buildProperties.inJpsBuildIdeaSync) {
|
||||
":kotlin-dom-api-compat",
|
||||
":kotlin-stdlib-js-ir-minimal-for-test",
|
||||
":kotlin-stdlib-wasm",
|
||||
":kotlin-stdlib-mpp",
|
||||
":kotlin-stdlib-jdk7",
|
||||
":kotlin-stdlib-jdk8",
|
||||
":kotlin-stdlib:samples",
|
||||
@@ -605,8 +604,10 @@ if (buildProperties.inJpsBuildIdeaSync) {
|
||||
":kotlin-test:kotlin-test-wasm",
|
||||
":native:native.tests"
|
||||
|
||||
if (!stdlibMpp) include ":kotlin-stdlib-mpp"
|
||||
|
||||
project(':kotlin-stdlib-common').projectDir = "$rootDir/libraries/stdlib/common" as File
|
||||
project(':kotlin-stdlib').projectDir = "$rootDir/libraries/stdlib/jvm" as File
|
||||
project(':kotlin-stdlib').projectDir = "$rootDir/libraries/stdlib" + (stdlibMpp ? "" : "/jvm") as File
|
||||
project(':kotlin-stdlib-js').projectDir = "$rootDir/libraries/stdlib/js-v1" as File
|
||||
project(':kotlin-stdlib-js-ir').projectDir = "$rootDir/libraries/stdlib/js-ir" as File
|
||||
project(':kotlin-dom-api-compat').projectDir = "$rootDir/libraries/kotlin-dom-api-compat" as File
|
||||
@@ -614,7 +615,7 @@ if (buildProperties.inJpsBuildIdeaSync) {
|
||||
project(':kotlin-stdlib-js-ir-minimal-for-test').projectDir = "$rootDir/libraries/stdlib/js-ir-minimal-for-test" as File
|
||||
project(':kotlin-stdlib-jdk7').projectDir = "$rootDir/libraries/stdlib/jdk7" as File
|
||||
project(':kotlin-stdlib-jdk8').projectDir = "$rootDir/libraries/stdlib/jdk8" as File
|
||||
project(':kotlin-stdlib-mpp').projectDir = "$rootDir/libraries/stdlib" as File
|
||||
if (!stdlibMpp) project(':kotlin-stdlib-mpp').projectDir = "$rootDir/libraries/stdlib" as File
|
||||
project(':kotlin-stdlib:samples').projectDir = "$rootDir/libraries/stdlib/samples" as File
|
||||
project(":kotlin-stdlib-jvm-minimal-for-test").projectDir = "$rootDir/libraries/stdlib/jvm-minimal-for-test" as File
|
||||
|
||||
|
||||
Reference in New Issue
Block a user