[Gradle, JS] Add fake common usage context for single js plugin publish

#KT-38592 fixed
This commit is contained in:
Ilya Goncharov
2020-05-19 17:56:42 +03:00
parent 4f747072f4
commit a6812e5d6a
2 changed files with 21 additions and 2 deletions
@@ -84,11 +84,15 @@ constructor(
}
override fun createUsageContexts(producingCompilation: KotlinCompilation<*>): Set<DefaultKotlinUsageContext> {
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()
)
}
@@ -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<DefaultKotlinUsageContext> {
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")