[Gradle, JS] Revert kotlinTargets

^KT-41054 fixed
This commit is contained in:
Ilya Goncharov
2020-08-11 17:26:52 +03:00
parent 855554ac38
commit 5eda8e95bf
@@ -10,24 +10,24 @@ import org.gradle.api.DomainObjectSet
import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.artifacts.ConfigurablePublishArtifact import org.gradle.api.artifacts.ConfigurablePublishArtifact
import org.gradle.api.artifacts.DependencyConstraint
import org.gradle.api.artifacts.PublishArtifact import org.gradle.api.artifacts.PublishArtifact
import org.gradle.api.attributes.Attribute import org.gradle.api.attributes.Attribute
import org.gradle.api.attributes.AttributeContainer import org.gradle.api.attributes.AttributeContainer
import org.gradle.api.attributes.Usage.JAVA_RUNTIME_JARS import org.gradle.api.attributes.Usage.JAVA_RUNTIME_JARS
import org.gradle.api.component.* import org.gradle.api.component.ComponentWithCoordinates
import org.gradle.api.internal.component.IvyPublishingAwareContext import org.gradle.api.component.ComponentWithVariants
import org.gradle.api.internal.component.MavenPublishingAwareContext import org.gradle.api.component.SoftwareComponent
import org.gradle.api.component.SoftwareComponentFactory
import org.gradle.api.internal.component.SoftwareComponentInternal import org.gradle.api.internal.component.SoftwareComponentInternal
import org.gradle.api.internal.component.UsageContext import org.gradle.api.internal.component.UsageContext
import org.gradle.api.internal.project.ProjectInternal import org.gradle.api.internal.project.ProjectInternal
import org.gradle.api.provider.Provider
import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.publish.maven.MavenPublication
import org.gradle.util.ConfigureUtil import org.gradle.util.ConfigureUtil
import org.gradle.util.WrapUtil import org.gradle.util.WrapUtil
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependencyConstraint
import org.jetbrains.kotlin.gradle.utils.dashSeparatedName import org.jetbrains.kotlin.gradle.utils.dashSeparatedName
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
@@ -125,50 +125,22 @@ abstract class AbstractKotlinTarget(
adhocVariant as SoftwareComponent adhocVariant as SoftwareComponent
creatAdHocComponent(kotlinVariant, adhocVariant) if (kotlinVariant is KotlinVariantWithMetadataVariant) {
}.toSet() object : ComponentWithVariants, ComponentWithCoordinates, SoftwareComponentInternal {
} override fun getCoordinates() = kotlinVariant.coordinates
override fun getVariants(): Set<out SoftwareComponent> = kotlinVariant.variants
private fun creatAdHocComponent( override fun getName(): String = adhocVariant.name
kotlinVariant: KotlinTargetComponent, override fun getUsages(): MutableSet<out UsageContext> = (adhocVariant as SoftwareComponentInternal).usages
adhocVariant: AdhocComponentWithVariants }
) = if (kotlinVariant is KotlinVariantWithMetadataVariant) { } else {
object : ComponentWithVariants, ComponentWithCoordinates, SoftwareComponentInternal { object : ComponentWithCoordinates, SoftwareComponentInternal {
override fun getCoordinates() = kotlinVariant.coordinates override fun getCoordinates() = (kotlinVariant as? ComponentWithCoordinates)?.coordinates
override fun getVariants(): Set<out SoftwareComponent> = kotlinVariant.variants override fun getName(): String = adhocVariant.name
override fun getName(): String = adhocVariant.name override fun getUsages(): MutableSet<out UsageContext> = (adhocVariant as SoftwareComponentInternal).usages
override fun getUsages(): MutableSet<out UsageContext> =
getUsages(adhocVariant as SoftwareComponentInternal)
}
} else {
object : ComponentWithCoordinates, SoftwareComponentInternal {
override fun getCoordinates() = (kotlinVariant as? ComponentWithCoordinates)?.coordinates
override fun getName(): String = adhocVariant.name
override fun getUsages(): MutableSet<out UsageContext> =
getUsages(adhocVariant as SoftwareComponentInternal)
}
}
private fun getUsages(component: SoftwareComponentInternal): MutableSet<out UsageContext> =
component
.usages
.map { usageContext ->
object : UsageContext by usageContext,
MavenPublishingAwareContext,
IvyPublishingAwareContext {
override fun getDependencyConstraints(): MutableSet<out DependencyConstraint> =
usageContext.dependencyConstraints
.filter { it !is NpmDependencyConstraint }
.toMutableSet()
override fun getScopeMapping(): MavenPublishingAwareContext.ScopeMapping =
(usageContext as MavenPublishingAwareContext).scopeMapping
override fun isOptional(): Boolean =
(usageContext as IvyPublishingAwareContext).isOptional
} }
} }
.toMutableSet() }.toSet()
}
protected open fun createKotlinVariant( protected open fun createKotlinVariant(
componentName: String, componentName: String,