[Gradle] Implement KotlinArtifactsExtensionSetupAction

KT-61634
This commit is contained in:
Sebastian Sellmair
2023-10-17 10:01:14 +02:00
committed by Space Team
parent cc0a9e1cc1
commit 0ccb98f579
3 changed files with 5 additions and 3 deletions
@@ -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.KotlinWasmTargetType
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset 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.gradle.utils.checkGradleCompatibility
import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget.* import org.jetbrains.kotlin.konan.target.KonanTarget.*
@@ -47,7 +46,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
KotlinMetadataTargetPreset(project), KotlinMetadataTargetPreset(project),
METADATA_TARGET_NAME METADATA_TARGET_NAME
) )
project.registerKotlinArtifactsExtension()
} }
@@ -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.js.npm.AddNpmDependencyExtensionProjectSetupAction
import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizedCInteropApiElementsConfigurationsSetupAction 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 import org.jetbrains.kotlin.gradle.tooling.RegisterBuildKotlinToolingMetadataTask
/** /**
@@ -60,6 +61,7 @@ internal fun Project.registerKotlinPluginExtensions() {
} }
if (isMultiplatform) { if (isMultiplatform) {
register(project, KotlinArtifactsExtensionSetupAction)
register(project, MultiplatformPublishingSetupAction) register(project, MultiplatformPublishingSetupAction)
register(project, LanguageSettingsSetupAction) register(project, LanguageSettingsSetupAction)
register(project, GlobalProjectStructureMetadataStorageSetupAction) register(project, GlobalProjectStructureMetadataStorageSetupAction)
@@ -10,6 +10,7 @@ import org.gradle.api.Project
import org.gradle.api.plugins.ExtensionAware import org.gradle.api.plugins.ExtensionAware
import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.KotlinNativeArtifactDSL.ExperimentalArtifactDsl 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.PropertiesProvider.Companion.kotlinPropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
import org.jetbrains.kotlin.gradle.plugin.diagnostics.reportDiagnosticOncePerProject import org.jetbrains.kotlin.gradle.plugin.diagnostics.reportDiagnosticOncePerProject
@@ -17,7 +18,8 @@ import org.jetbrains.kotlin.gradle.utils.castIsolatedKotlinPluginClassLoaderAwar
import javax.inject.Inject import javax.inject.Inject
private const val KOTLIN_ARTIFACTS_EXTENSION_NAME = "kotlinArtifacts" private const val KOTLIN_ARTIFACTS_EXTENSION_NAME = "kotlinArtifacts"
internal fun Project.registerKotlinArtifactsExtension() {
internal val KotlinArtifactsExtensionSetupAction = KotlinProjectSetupAction {
val kotlinArtifactsExt = objects.newInstance(KotlinArtifactsExtensionImpl::class.java, this) val kotlinArtifactsExt = objects.newInstance(KotlinArtifactsExtensionImpl::class.java, this)
extensions.add(KOTLIN_ARTIFACTS_EXTENSION_NAME, kotlinArtifactsExt) extensions.add(KOTLIN_ARTIFACTS_EXTENSION_NAME, kotlinArtifactsExt)
kotlinArtifactsExt.artifacts.all { it.registerAssembleTask(this) } kotlinArtifactsExt.artifacts.all { it.registerAssembleTask(this) }