From a6812e5d6add7ad7abcf102706481d83979b05c0 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 19 May 2020 17:56:42 +0300 Subject: [PATCH] [Gradle, JS] Add fake common usage context for single js plugin publish #KT-38592 fixed --- .../kotlin/gradle/targets/js/KotlinJsTarget.kt | 8 ++++++-- .../gradle/targets/js/ir/KotlinJsIrTarget.kt | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt index 286718a3119..c4453ca5c57 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt @@ -84,11 +84,15 @@ constructor( } override fun createUsageContexts(producingCompilation: KotlinCompilation<*>): Set { - return super.createUsageContexts(producingCompilation) + + val usageContexts = super.createUsageContexts(producingCompilation) + + if (isMpp!!) return usageContexts + + return usageContexts + DefaultKotlinUsageContext( compilation = compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME), usage = project.usageByName("java-api-jars"), - dependencyConfigurationName = apiElementsConfigurationName, + dependencyConfigurationName = commonFakeApiElementsConfigurationName, overrideConfigurationArtifacts = emptySet() ) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt index 47a47f117f7..c15bc768a10 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt @@ -11,6 +11,7 @@ import org.gradle.api.Task import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Companion.runTaskNameSuffix import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation.Companion.MAIN_COMPILATION_NAME +import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultKotlinUsageContext import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinTargetWithBinaries import org.jetbrains.kotlin.gradle.plugin.mpp.disambiguateName import org.jetbrains.kotlin.gradle.targets.js.JsAggregatingExecutionSource @@ -48,6 +49,20 @@ constructor( field = value } + override fun createUsageContexts(producingCompilation: KotlinCompilation<*>): Set { + val usageContexts = super.createUsageContexts(producingCompilation) + + if (isMpp!!) return usageContexts + + return usageContexts + + DefaultKotlinUsageContext( + compilation = compilations.getByName(MAIN_COMPILATION_NAME), + usage = project.usageByName("java-api-jars"), + dependencyConfigurationName = commonFakeApiElementsConfigurationName, + overrideConfigurationArtifacts = emptySet() + ) + } + internal val commonFakeApiElementsConfigurationName: String get() = disambiguateName("commonFakeApiElements")