[Gradle] Move KotlinMultiplatformPlugin.METADATA_TARGET_NAME to KotlinMetadataTarget

KT-61634
This commit is contained in:
Sebastian Sellmair
2023-10-18 14:07:01 +02:00
committed by Space Team
parent d5be59a8ec
commit 7650264de3
7 changed files with 12 additions and 9 deletions
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.cli.common.arguments.K2NativeCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments
import org.jetbrains.kotlin.gradle.plugin.ProjectLocalConfigurations
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin
import org.jetbrains.kotlin.gradle.plugin.sources.METADATA_CONFIGURATION_NAME_SUFFIX
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
import org.jetbrains.kotlin.gradle.testbase.MPPNativeTargets
@@ -825,7 +824,7 @@ open class NewMultiplatformIT : BaseGradleIT() {
build("printMetadataFiles") {
assertSuccessful()
val expectedFileName = "sample-lib-${KotlinMultiplatformPlugin.METADATA_TARGET_NAME}-1.0.jar"
val expectedFileName = "sample-lib-metadata-1.0.jar"
val paths = metadataDependencyRegex
.findAll(output).map { it.groupValues[1] to it.groupValues[2] }
@@ -153,7 +153,7 @@ abstract class KotlinMultiplatformExtension
fun metadata(configure: KotlinOnlyTarget<KotlinMetadataCompilation<*>>.() -> Unit = { }): KotlinOnlyTarget<KotlinMetadataCompilation<*>> =
@Suppress("UNCHECKED_CAST")
(targets.getByName(KotlinMultiplatformPlugin.METADATA_TARGET_NAME) as KotlinOnlyTarget<KotlinMetadataCompilation<*>>).also(configure)
(targets.getByName(KotlinMetadataTarget.METADATA_TARGET_NAME) as KotlinOnlyTarget<KotlinMetadataCompilation<*>>).also(configure)
fun metadata(configure: Action<KotlinOnlyTarget<KotlinMetadataCompilation<*>>>) = metadata { configure.execute(this) }
@@ -109,11 +109,11 @@ abstract class AbstractKotlinTarget(
val kotlinExtension = project.kotlinExtension
val result =
if (kotlinExtension !is KotlinMultiplatformExtension || targetName == KotlinMultiplatformPlugin.METADATA_TARGET_NAME)
if (kotlinExtension !is KotlinMultiplatformExtension || targetName == KotlinMetadataTarget.METADATA_TARGET_NAME)
KotlinVariantWithCoordinates(compilation, usageContexts)
else {
val metadataTarget =
kotlinExtension.targets.getByName(KotlinMultiplatformPlugin.METADATA_TARGET_NAME) as AbstractKotlinTarget
kotlinExtension.targets.getByName(KotlinMetadataTarget.METADATA_TARGET_NAME) as AbstractKotlinTarget
KotlinVariantWithMetadataVariant(compilation, usageContexts, metadataTarget)
}
@@ -52,5 +52,9 @@ abstract class KotlinMetadataTarget @Inject constructor(
internal fun compilerOptions(configure: Action<KotlinCommonCompilerOptions>) {
configure.execute(compilerOptions)
}
companion object {
const val METADATA_TARGET_NAME = "metadata"
}
}
@@ -12,6 +12,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
override fun apply(project: Project) = Unit
companion object {
const val METADATA_TARGET_NAME = "metadata"
const val METADATA_TARGET_NAME = KotlinMetadataTarget.METADATA_TARGET_NAME
}
}
@@ -173,7 +173,7 @@ private fun buildKotlinProjectStructureMetadata(extension: KotlinMultiplatformEx
require(project.state.executed) { "Cannot build 'KotlinProjectStructureMetadata' during project configuration phase" }
val sourceSetsWithMetadataCompilations = extension.targets
.getByName(KotlinMultiplatformPlugin.METADATA_TARGET_NAME)
.getByName(KotlinMetadataTarget.METADATA_TARGET_NAME)
.compilations.associateBy { it.defaultSourceSet }
val publishedVariantsNamesWithCompilation = project.future { getPublishedPlatformCompilations(project).mapKeys { it.key.variantName } }
@@ -8,13 +8,13 @@ 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.KotlinMetadataTarget
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
KotlinMetadataTarget.METADATA_TARGET_NAME
)
}