[Gradle, JS] Add module dom-api-compat

This reverts commit ba8cc877fd.
This commit is contained in:
Ilya Goncharov
2023-01-06 15:59:10 +01:00
committed by Space Team
parent 492a161d2c
commit 9b4821be28
6 changed files with 64 additions and 0 deletions
+1
View File
@@ -56,6 +56,7 @@ build/
.idea/artifacts/kotlin_reflect_jar.xml
.idea/artifacts/kotlin_stdlib_js_ir_*
.idea/artifacts/kotlin_test_js_ir_*
.idea/artifacts/kotlin_dom_api_compat_*
.idea/artifacts/kotlin_stdlib_wasm_*
.idea/artifacts/kotlin_test_wasm_*
.idea/artifacts/kotlinx_atomicfu_runtime_*
@@ -0,0 +1,55 @@
import plugins.configureDefaultPublishing
plugins {
`maven-publish`
kotlin("js")
}
val jsStdlibSources = "${projectDir}/../stdlib/js/src"
kotlin {
js(IR) {
sourceSets {
val main by getting {
kotlin.srcDir("$jsStdlibSources/org.w3c")
kotlin.srcDir("$jsStdlibSources/kotlinx")
kotlin.srcDir("$jsStdlibSources/kotlin/browser")
kotlin.srcDir("$jsStdlibSources/kotlin/dom")
dependencies {
api(project(":kotlin-stdlib-js"))
}
}
}
}
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile>().configureEach {
compilerOptions.freeCompilerArgs
.addAll(
"-Xallow-kotlin-package",
"-opt-in=kotlin.ExperimentalMultiplatform",
"-opt-in=kotlin.contracts.ExperimentalContracts",
// TODO: Better to use friendPaths property, but it does not work
// KT-56690
"-Xfriend-modules=${libraries.joinToString(File.pathSeparator) { it.absolutePath }}"
)
compilerOptions.allWarningsAsErrors.set(true)
}
val emptyJavadocJar by tasks.creating(Jar::class) {
archiveClassifier.set("javadoc")
}
publishing {
publications {
create<MavenPublication>("maven") {
from(components["kotlin"])
}
withType<MavenPublication> {
artifact(emptyJavadocJar)
}
}
}
configureDefaultPublishing()
@@ -0,0 +1 @@
kotlin.js.compiler.publish.attribute=false
+4
View File
@@ -59,6 +59,10 @@ val jsMainSources by task<Sync> {
val excluded = listOf(
// stdlib/js/src/generated is used exclusively for current `js-v1` backend.
"libraries/stdlib/js/src/generated/**",
"libraries/stdlib/js/src/kotlin/browser",
"libraries/stdlib/js/src/kotlin/dom",
"libraries/stdlib/js/src/org.w3c",
"libraries/stdlib/js/src/kotlinx",
// JS-specific optimized version of emptyArray() already defined
"core/builtins/src/kotlin/ArrayIntrinsics.kt"
@@ -334,6 +334,7 @@ tasks.withType<Test> {
dependsOn(":gradle:android-test-fixes:install")
dependsOn(":gradle:gradle-warnings-detector:install")
dependsOn(":examples:annotation-processor-example:install")
dependsOn(":kotlin-dom-api-compat:install")
systemProperty("kotlinVersion", rootProject.extra["kotlinVersion"] as String)
systemProperty("runnerGradleVersion", gradle.gradleVersion)
+2
View File
@@ -555,6 +555,7 @@ if (buildProperties.inJpsBuildIdeaSync) {
":kotlin-stdlib",
":kotlin-stdlib-js",
":kotlin-stdlib-js-ir",
":kotlin-dom-api-compat",
":kotlin-stdlib-js-ir-minimal-for-test",
":kotlin-stdlib-wasm",
":kotlin-stdlib-jdk7",
@@ -576,6 +577,7 @@ if (buildProperties.inJpsBuildIdeaSync) {
project(':kotlin-stdlib').projectDir = "$rootDir/libraries/stdlib/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
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
project(':kotlin-stdlib-jdk7').projectDir = "$rootDir/libraries/stdlib/jdk7" as File