From 26f71c33c06ed87c0240039df8e46722b882c43e Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 16 Mar 2021 19:48:31 +0900 Subject: [PATCH] IDE: Publish JS IR klib artifact --- build.gradle.kts | 57 ++++++++++--------- .../js-ir-runtime-for-ide/build.gradle.kts | 26 +++++++++ settings.gradle | 1 + 3 files changed, 57 insertions(+), 27 deletions(-) create mode 100644 prepare/ide-plugin-dependencies/js-ir-runtime-for-ide/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index 8712a7b52a8..3b582bf6af2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -956,34 +956,37 @@ tasks { register("publishIdeArtifacts") { idePluginDependency { - dependsOn( - ":prepare:ide-plugin-dependencies:android-extensions-compiler-plugin-for-ide:publish", - ":prepare:ide-plugin-dependencies:allopen-compiler-plugin-for-ide:publish", - ":prepare:ide-plugin-dependencies:incremental-compilation-impl-tests-for-ide:publish", - ":prepare:ide-plugin-dependencies:kotlin-build-common-tests-for-ide:publish", - ":prepare:ide-plugin-dependencies:kotlin-compiler-for-ide:publish", - ":prepare:ide-plugin-dependencies:kotlin-gradle-statistics-for-ide:publish", - ":prepare:ide-plugin-dependencies:kotlinx-serialization-compiler-plugin-for-ide:publish", - ":prepare:ide-plugin-dependencies:noarg-compiler-plugin-for-ide:publish", - ":prepare:ide-plugin-dependencies:sam-with-receiver-compiler-plugin-for-ide:publish", - ":prepare:ide-plugin-dependencies:compiler-components-for-jps:publish", - ":prepare:ide-plugin-dependencies:parcelize-compiler-plugin-for-ide:publish", - ":prepare:ide-plugin-dependencies:lombok-compiler-plugin-for-ide:publish", - ":prepare:ide-plugin-dependencies:kotlin-compiler-tests-for-ide:publish", - ":kotlin-script-runtime:publish", - ":kotlin-script-util:publish", - ":kotlin-scripting-common:publish", - ":kotlin-scripting-jvm:publish", - ":kotlin-scripting-compiler:publish", - ":kotlin-scripting-compiler-impl:publish", - ":kotlin-android-extensions-runtime:publish", - ":kotlin-stdlib-common:publish", - ":kotlin-stdlib:publish", - ":kotlin-stdlib-jdk7:publish", - ":kotlin-stdlib-jdk8:publish", - ":kotlin-reflect:publish", - ":kotlin-main-kts:publish" + val projectsToPublish = listOf( + ":prepare:ide-plugin-dependencies:android-extensions-compiler-plugin-for-ide", + ":prepare:ide-plugin-dependencies:allopen-compiler-plugin-for-ide", + ":prepare:ide-plugin-dependencies:incremental-compilation-impl-tests-for-ide", + ":prepare:ide-plugin-dependencies:js-ir-runtime-for-ide", + ":prepare:ide-plugin-dependencies:kotlin-build-common-tests-for-ide", + ":prepare:ide-plugin-dependencies:kotlin-compiler-for-ide", + ":prepare:ide-plugin-dependencies:kotlin-gradle-statistics-for-ide", + ":prepare:ide-plugin-dependencies:kotlinx-serialization-compiler-plugin-for-ide", + ":prepare:ide-plugin-dependencies:noarg-compiler-plugin-for-ide", + ":prepare:ide-plugin-dependencies:sam-with-receiver-compiler-plugin-for-ide", + ":prepare:ide-plugin-dependencies:compiler-components-for-jps", + ":prepare:ide-plugin-dependencies:parcelize-compiler-plugin-for-ide", + ":prepare:ide-plugin-dependencies:lombok-compiler-plugin-for-ide", + ":prepare:ide-plugin-dependencies:kotlin-compiler-tests-for-ide", + ":kotlin-script-runtime", + ":kotlin-script-util", + ":kotlin-scripting-common", + ":kotlin-scripting-jvm", + ":kotlin-scripting-compiler", + ":kotlin-scripting-compiler-impl", + ":kotlin-android-extensions-runtime", + ":kotlin-stdlib-common", + ":kotlin-stdlib", + ":kotlin-stdlib-jdk7", + ":kotlin-stdlib-jdk8", + ":kotlin-reflect", + ":kotlin-main-kts" ) + + dependsOn(projectsToPublish.map { "$it:publish" }) } } } diff --git a/prepare/ide-plugin-dependencies/js-ir-runtime-for-ide/build.gradle.kts b/prepare/ide-plugin-dependencies/js-ir-runtime-for-ide/build.gradle.kts new file mode 100644 index 00000000000..e20a8c07cac --- /dev/null +++ b/prepare/ide-plugin-dependencies/js-ir-runtime-for-ide/build.gradle.kts @@ -0,0 +1,26 @@ +plugins { + java +} + +idePluginDependency { + publish() + + val jar: Jar by tasks + + jar.apply { + archiveExtension.set("klib") + + val jsRuntimeProjectName = ":kotlin-stdlib-js-ir" + val klibTaskName = "packFullRuntimeKLib" + + dependsOn("$jsRuntimeProjectName:$klibTaskName") + + from { + val klibTask = project(jsRuntimeProjectName).tasks.getByName(klibTaskName) + zipTree(klibTask.singleOutputFile()) + } + } + + sourcesJar() + javadocJar() +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index a7efb7a7f8e..8debc657b62 100644 --- a/settings.gradle +++ b/settings.gradle @@ -359,6 +359,7 @@ include ":prepare:ide-plugin-dependencies:android-extensions-compiler-plugin-for ":prepare:ide-plugin-dependencies:allopen-compiler-plugin-for-ide", ":prepare:ide-plugin-dependencies:allopen-compiler-plugin-tests-for-ide", ":prepare:ide-plugin-dependencies:incremental-compilation-impl-tests-for-ide", + ":prepare:ide-plugin-dependencies:js-ir-runtime-for-ide", ":prepare:ide-plugin-dependencies:kotlin-build-common-tests-for-ide", ":prepare:ide-plugin-dependencies:kotlin-compiler-for-ide", ":prepare:ide-plugin-dependencies:kotlin-dist-for-ide",