[Gradle] Implement MultiplatformPublishingSetupAction
KT-61634
This commit is contained in:
committed by
Space Team
parent
822cb7f545
commit
cc0a9e1cc1
-2
@@ -48,8 +48,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
|
||||
METADATA_TARGET_NAME
|
||||
)
|
||||
project.registerKotlinArtifactsExtension()
|
||||
|
||||
configurePublishingWithMavenPublish(project)
|
||||
}
|
||||
|
||||
|
||||
|
||||
+10
-8
@@ -28,15 +28,17 @@ import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnab
|
||||
import org.jetbrains.kotlin.gradle.tooling.buildKotlinToolingMetadataTask
|
||||
import org.jetbrains.kotlin.gradle.utils.whenEvaluated
|
||||
|
||||
internal fun configurePublishingWithMavenPublish(project: Project) = project.pluginManager.withPlugin("maven-publish") {
|
||||
if (project.kotlinPropertiesProvider.createDefaultMultiplatformPublications) {
|
||||
project.extensions.configure(PublishingExtension::class.java) { publishing ->
|
||||
createRootPublication(project, publishing)
|
||||
createTargetPublications(project, publishing)
|
||||
internal val MultiplatformPublishingSetupAction = KotlinProjectSetupAction {
|
||||
project.pluginManager.withPlugin("maven-publish") {
|
||||
if (project.kotlinPropertiesProvider.createDefaultMultiplatformPublications) {
|
||||
project.extensions.configure(PublishingExtension::class.java) { publishing ->
|
||||
createRootPublication(project, publishing)
|
||||
createTargetPublications(project, publishing)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
project.components.add(project.multiplatformExtension.rootSoftwareComponent)
|
||||
project.components.add(project.multiplatformExtension.rootSoftwareComponent)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -163,4 +165,4 @@ internal fun Configuration.configureSourcesPublicationAttributes(target: KotlinT
|
||||
// however for Java Gradle Plugin compatibility and in order to prevent weird Variant Resolution errors we include this attribute
|
||||
attributes.attribute(Bundling.BUNDLING_ATTRIBUTE, project.attributeValueByName(Bundling.EXTERNAL))
|
||||
usesPlatformOf(target)
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.gradle.plugin.diagnostics.checkers.WasmSourceSetsNot
|
||||
import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImportSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.ide.IdeResolveDependenciesTaskSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.GlobalProjectStructureMetadataStorageSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.MultiplatformPublishingSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.SyncLanguageSettingsWithKotlinExtensionSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.UserDefinedAttributesSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AddBuildListenerForXCodeSetupAction
|
||||
@@ -59,6 +60,7 @@ internal fun Project.registerKotlinPluginExtensions() {
|
||||
}
|
||||
|
||||
if (isMultiplatform) {
|
||||
register(project, MultiplatformPublishingSetupAction)
|
||||
register(project, LanguageSettingsSetupAction)
|
||||
register(project, GlobalProjectStructureMetadataStorageSetupAction)
|
||||
register(project, IdeMultiplatformImportSetupAction)
|
||||
|
||||
Reference in New Issue
Block a user