[Gradle] Implement KotlinMetadataTargetSetupAction
KT-61634
This commit is contained in:
committed by
Space Team
parent
0ccb98f579
commit
070b80a05f
-11
@@ -8,9 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.plugins.JavaBasePlugin
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.targetFromPresetInternal
|
||||
import org.jetbrains.kotlin.gradle.internal.customizeKotlinDependencies
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.hierarchy.setupDefaultKotlinHierarchy
|
||||
@@ -34,21 +32,12 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
|
||||
|
||||
project.plugins.apply(JavaBasePlugin::class.java)
|
||||
|
||||
val kotlinMultiplatformExtension = project.extensions.getByType(KotlinMultiplatformExtension::class.java)
|
||||
|
||||
setupDefaultPresets(project)
|
||||
customizeKotlinDependencies(project)
|
||||
configureSourceSets(project)
|
||||
setupTargetsBuildStatsReport(project)
|
||||
|
||||
// set up metadata publishing
|
||||
kotlinMultiplatformExtension.targetFromPresetInternal(
|
||||
KotlinMetadataTargetPreset(project),
|
||||
METADATA_TARGET_NAME
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
fun setupDefaultPresets(project: Project) {
|
||||
with(project.multiplatformExtension.presets) {
|
||||
add(KotlinJvmTargetPreset(project))
|
||||
|
||||
+2
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AddBuildListenerForXCodeSetu
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.LanguageSettingsSetupAction
|
||||
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubpluginSetupAction
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.AddNpmDependencyExtensionProjectSetupAction
|
||||
import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetSetupAction
|
||||
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
|
||||
@@ -61,6 +62,7 @@ internal fun Project.registerKotlinPluginExtensions() {
|
||||
}
|
||||
|
||||
if (isMultiplatform) {
|
||||
register(project, KotlinMetadataTargetSetupAction)
|
||||
register(project, KotlinArtifactsExtensionSetupAction)
|
||||
register(project, MultiplatformPublishingSetupAction)
|
||||
register(project, LanguageSettingsSetupAction)
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.targets.metadata
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.targetFromPresetInternal
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTargetPreset
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin
|
||||
|
||||
internal val KotlinMetadataTargetSetupAction = KotlinProjectSetupAction {
|
||||
/* Create metadata target */
|
||||
multiplatformExtension.targetFromPresetInternal(
|
||||
KotlinMetadataTargetPreset(project),
|
||||
KotlinMultiplatformPlugin.METADATA_TARGET_NAME
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user