[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.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.plugins.JavaBasePlugin
|
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.multiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.dsl.targetFromPresetInternal
|
|
||||||
import org.jetbrains.kotlin.gradle.internal.customizeKotlinDependencies
|
import org.jetbrains.kotlin.gradle.internal.customizeKotlinDependencies
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.hierarchy.setupDefaultKotlinHierarchy
|
import org.jetbrains.kotlin.gradle.plugin.hierarchy.setupDefaultKotlinHierarchy
|
||||||
@@ -34,21 +32,12 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
|
|||||||
|
|
||||||
project.plugins.apply(JavaBasePlugin::class.java)
|
project.plugins.apply(JavaBasePlugin::class.java)
|
||||||
|
|
||||||
val kotlinMultiplatformExtension = project.extensions.getByType(KotlinMultiplatformExtension::class.java)
|
|
||||||
|
|
||||||
setupDefaultPresets(project)
|
setupDefaultPresets(project)
|
||||||
customizeKotlinDependencies(project)
|
customizeKotlinDependencies(project)
|
||||||
configureSourceSets(project)
|
configureSourceSets(project)
|
||||||
setupTargetsBuildStatsReport(project)
|
setupTargetsBuildStatsReport(project)
|
||||||
|
|
||||||
// set up metadata publishing
|
|
||||||
kotlinMultiplatformExtension.targetFromPresetInternal(
|
|
||||||
KotlinMetadataTargetPreset(project),
|
|
||||||
METADATA_TARGET_NAME
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun setupDefaultPresets(project: Project) {
|
fun setupDefaultPresets(project: Project) {
|
||||||
with(project.multiplatformExtension.presets) {
|
with(project.multiplatformExtension.presets) {
|
||||||
add(KotlinJvmTargetPreset(project))
|
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.plugin.sources.LanguageSettingsSetupAction
|
||||||
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubpluginSetupAction
|
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubpluginSetupAction
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.AddNpmDependencyExtensionProjectSetupAction
|
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.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.targets.native.tasks.artifact.KotlinArtifactsExtensionSetupAction
|
||||||
@@ -61,6 +62,7 @@ internal fun Project.registerKotlinPluginExtensions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isMultiplatform) {
|
if (isMultiplatform) {
|
||||||
|
register(project, KotlinMetadataTargetSetupAction)
|
||||||
register(project, KotlinArtifactsExtensionSetupAction)
|
register(project, KotlinArtifactsExtensionSetupAction)
|
||||||
register(project, MultiplatformPublishingSetupAction)
|
register(project, MultiplatformPublishingSetupAction)
|
||||||
register(project, LanguageSettingsSetupAction)
|
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