[stdlib-mpp] Exclude kotlin-stdlib-js/js-ir projects and use kotlin-stdlib instead

- Specify disambiguating attributes in kotlin-dom-api-compat
  compile dependency configurations
  because it uses the flag that removes JS compiler type attribute
  from all configurations and variants

  KT-56106
This commit is contained in:
Ilya Gorbunov
2023-06-28 05:48:24 +02:00
committed by Space Team
parent a4c75338f3
commit a9bc8fa402
10 changed files with 46 additions and 24 deletions
+3 -4
View File
@@ -325,7 +325,6 @@ extra["compilerArtifactsForIde"] = listOfNotNull(
":plugins:parcelize:parcelize-runtime",
":kotlin-stdlib-common",
":kotlin-stdlib",
":kotlin-stdlib-js",
":kotlin-stdlib-wasm",
":kotlin-test",
":kotlin-daemon",
@@ -342,7 +341,7 @@ val coreLibProjects by extra {
listOfNotNull(
":kotlin-stdlib",
":kotlin-stdlib-common",
":kotlin-stdlib-js",
":kotlin-stdlib-js".takeIf { !kotlinBuildProperties.kotlinStdlibMpp },
":kotlin-stdlib-jdk7",
":kotlin-stdlib-jdk8",
":kotlin-test",
@@ -605,9 +604,9 @@ tasks {
}
register("coreLibsTest") {
(coreLibProjects + listOf(
(coreLibProjects + listOfNotNull(
":kotlin-stdlib:samples",
":kotlin-stdlib-js-ir",
":kotlin-stdlib-js-ir".takeIf { !kotlinBuildProperties.kotlinStdlibMpp },
":kotlin-test:kotlin-test-js-ir".takeIf { !kotlinBuildProperties.isInJpsBuildIdeaSync },
":kotlin-test:kotlin-test-js:kotlin-test-js-it".takeIf { !kotlinBuildProperties.isInJpsBuildIdeaSync },
":kotlin-test:kotlin-test-js-ir:kotlin-test-js-ir-it".takeIf { !kotlinBuildProperties.isInJpsBuildIdeaSync },
+1 -1
View File
@@ -68,7 +68,7 @@ dependencies {
testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:jdom"))
testRuntimeOnly(kotlinStdlib())
testJsRuntime(kotlinStdlib("js"))
testJsRuntime(kotlinStdlib())
if (!kotlinBuildProperties.isInJpsBuildIdeaSync) {
testJsRuntime(project(":kotlin-test:kotlin-test-js")) // to be sure that kotlin-test-js built before tests runned
}
@@ -1,3 +1,4 @@
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsCompilerAttribute
import plugins.configureDefaultPublishing
import plugins.configureKotlinPomAttributes
@@ -20,10 +21,18 @@ kotlin {
kotlin.srcDir("$jsStdlibSources/kotlin/dom")
}
dependencies {
api(project(":kotlin-stdlib-js"))
api(project(":kotlin-stdlib"))
}
}
}
val main by compilations.getting
val test by compilations.getting
// TODO: Remove together with kotlin.js.compiler.publish.attribute=false property
listOf(main, test).forEach { compilation ->
configurations[compilation.compileDependencyConfigurationName].attributes {
attribute(KotlinJsCompilerAttribute.jsCompilerAttribute, KotlinJsCompilerAttribute.ir)
}
}
}
}
+1 -1
View File
@@ -266,7 +266,7 @@ val (jsApi, jsRuntime) = listOf("api", "runtime").map { usage ->
jsRuntime.extendsFrom(jsApi)
dependencies {
jsApi(project(":kotlin-stdlib-js"))
jsApi(project(":kotlin-stdlib"))
}
artifacts {
@@ -9,11 +9,28 @@ kotlin {
nodejs()
}
}
val commonMainFullSources by task<Sync> {
dependsOn(":prepare:build.version:writeStdlibVersion")
val sources = listOf(
"libraries/stdlib/common/src/",
"libraries/stdlib/src/kotlin/",
"libraries/stdlib/unsigned/",
"core/builtins/src/kotlin/internal/",
)
sources.forEach { path ->
from("$rootDir/$path") {
into(path.dropLastWhile { it != '/' })
}
}
into("$buildDir/commonMainFullSources")
}
val commonMainSources by task<Sync> {
dependsOn(":kotlin-stdlib-js-ir:commonMainSources")
dependsOn(commonMainFullSources)
from {
val fullCommonMainSources = tasks.getByPath(":kotlin-stdlib-js-ir:commonMainSources")
exclude(
listOf(
"libraries/stdlib/unsigned/src/kotlin/UByteArray.kt",
@@ -52,28 +69,27 @@ val commonMainSources by task<Sync> {
"libraries/stdlib/src/kotlin/enums/**"
)
)
fullCommonMainSources.outputs.files.singleFile
commonMainFullSources.get().outputs.files.singleFile
}
into("$buildDir/commonMainSources")
}
val commonMainCollectionSources by task<Sync> {
dependsOn(":kotlin-stdlib-js-ir:commonMainSources")
dependsOn(commonMainFullSources)
from {
val fullCommonMainSources = tasks.getByPath(":kotlin-stdlib-js-ir:commonMainSources")
include("libraries/stdlib/src/kotlin/collections/PrimitiveIterators.kt")
fullCommonMainSources.outputs.files.singleFile
commonMainFullSources.get().outputs.files.singleFile
}
into("$buildDir/commonMainCollectionSources")
}
val jsMainSources by task<Sync> {
dependsOn(":kotlin-stdlib-js-ir:jsMainSources")
dependsOn(":kotlin-stdlib:prepareJsIrMainSources")
from {
val fullJsMainSources = tasks.getByPath(":kotlin-stdlib-js-ir:jsMainSources")
val fullJsMainSources = tasks.getByPath(":kotlin-stdlib:prepareJsIrMainSources")
exclude(
listOf(
"libraries/stdlib/js/src/org.w3c/**",
@@ -10,8 +10,8 @@ idePluginDependency {
jar.apply {
archiveExtension.set("klib")
val jsRuntimeProjectName = ":kotlin-stdlib-js-ir"
val klibTaskName = "packFullRuntimeKLib"
val jsRuntimeProjectName = ":kotlin-stdlib"
val klibTaskName = "jsJar"
dependsOn("$jsRuntimeProjectName:$klibTaskName")
@@ -35,7 +35,7 @@
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-js</artifactId>
<artifactId>kotlin-stdlib</artifactId>
<version>ArtifactsTest.version</version>
<scope>compile</scope>
</dependency>
@@ -34,7 +34,7 @@
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-js</artifactId>
<artifactId>kotlin-stdlib</artifactId>
<version>ArtifactsTest.version</version>
<scope>compile</scope>
</dependency>
@@ -64,7 +64,6 @@ val kotlinGradlePluginAndItsRequired = arrayOf(
":kotlin-stdlib",
":kotlin-stdlib-jdk7",
":kotlin-stdlib-jdk8",
":kotlin-stdlib-js",
":kotlin-stdlib-wasm",
":examples:annotation-processor-example",
":kotlin-assignment-compiler-plugin.embeddable",
+3 -4
View File
@@ -582,8 +582,6 @@ if (buildProperties.inJpsBuildIdeaSync) {
include ":core:builtins",
":kotlin-stdlib-common",
":kotlin-stdlib",
":kotlin-stdlib-js",
":kotlin-stdlib-js-ir",
":kotlin-dom-api-compat",
":kotlin-stdlib-js-ir-minimal-for-test",
":kotlin-stdlib-wasm",
@@ -603,12 +601,13 @@ if (buildProperties.inJpsBuildIdeaSync) {
":kotlin-test:kotlin-test-wasm",
":native:native.tests"
if (!stdlibMpp) include ":kotlin-stdlib-js", ":kotlin-stdlib-js-ir"
if (!stdlibMpp) include ":kotlin-stdlib-mpp"
project(':kotlin-stdlib-common').projectDir = "$rootDir/libraries/stdlib/common" 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
if (!stdlibMpp) project(':kotlin-stdlib-js').projectDir = "$rootDir/libraries/stdlib/js-v1" as File
if (!stdlibMpp) 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
project(':kotlin-stdlib-wasm').projectDir = "$rootDir/libraries/stdlib/wasm" as File
project(':kotlin-stdlib-js-ir-minimal-for-test').projectDir = "$rootDir/libraries/stdlib/js-ir-minimal-for-test" as File