From 0ccb98f57944affd31bfda4416bc09f1481ee53b Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Tue, 17 Oct 2023 10:01:14 +0200 Subject: [PATCH] [Gradle] Implement KotlinArtifactsExtensionSetupAction KT-61634 --- .../kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt | 2 -- .../kotlin/gradle/plugin/registerKotlinPluginExtensions.kt | 2 ++ .../targets/native/tasks/artifact/KotlinArtifactsExtension.kt | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt index 88890f12581..4860c7677e2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt @@ -20,7 +20,6 @@ import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset -import org.jetbrains.kotlin.gradle.targets.native.tasks.artifact.registerKotlinArtifactsExtension import org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.KonanTarget.* @@ -47,7 +46,6 @@ class KotlinMultiplatformPlugin : Plugin { KotlinMetadataTargetPreset(project), METADATA_TARGET_NAME ) - project.registerKotlinArtifactsExtension() } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/registerKotlinPluginExtensions.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/registerKotlinPluginExtensions.kt index 3c61171595c..41f97caca8a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/registerKotlinPluginExtensions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/registerKotlinPluginExtensions.kt @@ -41,6 +41,7 @@ import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubpluginSe import org.jetbrains.kotlin.gradle.targets.js.npm.AddNpmDependencyExtensionProjectSetupAction import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizedCInteropApiElementsConfigurationsSetupAction +import org.jetbrains.kotlin.gradle.targets.native.tasks.artifact.KotlinArtifactsExtensionSetupAction import org.jetbrains.kotlin.gradle.tooling.RegisterBuildKotlinToolingMetadataTask /** @@ -60,6 +61,7 @@ internal fun Project.registerKotlinPluginExtensions() { } if (isMultiplatform) { + register(project, KotlinArtifactsExtensionSetupAction) register(project, MultiplatformPublishingSetupAction) register(project, LanguageSettingsSetupAction) register(project, GlobalProjectStructureMetadataStorageSetupAction) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinArtifactsExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinArtifactsExtension.kt index 78bab42da36..4bbec17eb6c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinArtifactsExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinArtifactsExtension.kt @@ -10,6 +10,7 @@ import org.gradle.api.Project import org.gradle.api.plugins.ExtensionAware import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.dsl.KotlinNativeArtifactDSL.ExperimentalArtifactDsl +import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupAction import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.kotlinPropertiesProvider import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics import org.jetbrains.kotlin.gradle.plugin.diagnostics.reportDiagnosticOncePerProject @@ -17,7 +18,8 @@ import org.jetbrains.kotlin.gradle.utils.castIsolatedKotlinPluginClassLoaderAwar import javax.inject.Inject private const val KOTLIN_ARTIFACTS_EXTENSION_NAME = "kotlinArtifacts" -internal fun Project.registerKotlinArtifactsExtension() { + +internal val KotlinArtifactsExtensionSetupAction = KotlinProjectSetupAction { val kotlinArtifactsExt = objects.newInstance(KotlinArtifactsExtensionImpl::class.java, this) extensions.add(KOTLIN_ARTIFACTS_EXTENSION_NAME, kotlinArtifactsExt) kotlinArtifactsExt.artifacts.all { it.registerAssembleTask(this) }