From f148390e146001a31c095112349bee59be6b8c11 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Wed, 26 Oct 2022 16:17:27 +0200 Subject: [PATCH] [Gradle] Rename KotlinCompilationData to GradleKpmCompilationData ^KT-54312 Verification Pending --- .../kotlin-gradle-plugin-api.txt | 38 ++++++++--------- ...ionData.kt => GradleKpmCompilationData.kt} | 6 ++- .../pm20/GradleKpmVariantCompilationData.kt | 2 +- .../plugin/KotlinCompilationProjection.kt | 6 +-- .../GradleKpmCompilationTaskConfigurator.kt | 6 +-- .../pm20/GradleKpmFragmentSourcesProvider.kt | 2 +- .../GradleKpmHostSpecificMetadataArtifact.kt | 2 +- ...kt => GradleKpmMetadataCompilationData.kt} | 42 +++++++++---------- .../GradleKpmNativeVariantCompilationData.kt | 2 +- .../pm20/GradleKpmNativeVariantInternal.kt | 2 +- .../plugin/mpp/pm20/compilerPluginProvider.kt | 10 ++--- .../setupFragmentsMetadataForKpmModules.kt | 10 ++--- .../util/GradleKpmDependencyFilesHolder.kt | 4 +- .../native/internal/CInteropIdentifier.kt | 4 +- .../targets/native/tasks/KotlinNativeTasks.kt | 8 ++-- .../KotlinCompileCommonConfig.kt | 8 ++-- 16 files changed, 78 insertions(+), 74 deletions(-) rename libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/{KotlinCompilationData.kt => GradleKpmCompilationData.kt} (88%) rename libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/{KotlinMetadataCompilationData.kt => GradleKpmMetadataCompilationData.kt} (84%) diff --git a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-gradle-plugin-api.txt b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-gradle-plugin-api.txt index 5dc7ed108d2..f71d6462d4a 100644 --- a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-gradle-plugin-api.txt +++ b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-gradle-plugin-api.txt @@ -1199,6 +1199,24 @@ public class org/jetbrains/kotlin/gradle/plugin/mpp/NativeOutputKind : java/lang public static fun values ()[Lorg/jetbrains/kotlin/gradle/plugin/mpp/NativeOutputKind; } +public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationData { + public abstract fun getCompilationClassifier ()Ljava/lang/String; + public abstract fun getCompilationPurpose ()Ljava/lang/String; + public abstract fun getCompileAllTaskName ()Ljava/lang/String; + public abstract fun getCompileDependencyFiles ()Lorg/gradle/api/file/FileCollection; + public abstract fun getCompileKotlinTaskName ()Ljava/lang/String; + public abstract fun getCompilerOptions ()Lorg/jetbrains/kotlin/gradle/plugin/HasCompilerOptions; + public abstract fun getFriendPaths ()Ljava/lang/Iterable; + public abstract fun getKotlinOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions; + public abstract fun getKotlinSourceDirectoriesByFragmentName ()Ljava/util/Map; + public abstract fun getLanguageSettings ()Lorg/jetbrains/kotlin/project/model/LanguageSettings; + public abstract fun getModuleName ()Ljava/lang/String; + public abstract fun getOutput ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinCompilationOutput; + public abstract fun getOwner ()Ljava/lang/Object; + public abstract fun getPlatformType ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinPlatformType; + public abstract fun getProject ()Lorg/gradle/api/Project; +} + public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilerPlugin : org/gradle/api/Plugin { public abstract fun getKpmCompilerPlugin ()Lorg/jetbrains/kotlin/project/model/KpmCompilerPlugin; } @@ -1359,7 +1377,7 @@ public final class org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariant$ public static fun getWithRefinesClosure (Lorg/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariant;)Ljava/util/Set; } -public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariantCompilationData : org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinCompilationData { +public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariantCompilationData : org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationData { public abstract fun getCompilationClassifier ()Ljava/lang/String; public abstract fun getCompilationPurpose ()Ljava/lang/String; public abstract fun getCompileAllTaskName ()Ljava/lang/String; @@ -1404,24 +1422,6 @@ public final class org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariantW public static fun getWithRefinesClosure (Lorg/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariantWithRuntime;)Ljava/util/Set; } -public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinCompilationData { - public abstract fun getCompilationClassifier ()Ljava/lang/String; - public abstract fun getCompilationPurpose ()Ljava/lang/String; - public abstract fun getCompileAllTaskName ()Ljava/lang/String; - public abstract fun getCompileDependencyFiles ()Lorg/gradle/api/file/FileCollection; - public abstract fun getCompileKotlinTaskName ()Ljava/lang/String; - public abstract fun getCompilerOptions ()Lorg/jetbrains/kotlin/gradle/plugin/HasCompilerOptions; - public abstract fun getFriendPaths ()Ljava/lang/Iterable; - public abstract fun getKotlinOptions ()Lorg/jetbrains/kotlin/gradle/dsl/KotlinCommonOptions; - public abstract fun getKotlinSourceDirectoriesByFragmentName ()Ljava/util/Map; - public abstract fun getLanguageSettings ()Lorg/jetbrains/kotlin/project/model/LanguageSettings; - public abstract fun getModuleName ()Ljava/lang/String; - public abstract fun getOutput ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinCompilationOutput; - public abstract fun getOwner ()Ljava/lang/Object; - public abstract fun getPlatformType ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinPlatformType; - public abstract fun getProject ()Lorg/gradle/api/Project; -} - public abstract interface class org/jetbrains/kotlin/gradle/plugin/mpp/pm20/PublishedModuleCoordinatesProvider { public abstract fun getCapabilities ()Ljava/lang/Iterable; public abstract fun getGroup ()Ljava/lang/String; diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinCompilationData.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationData.kt similarity index 88% rename from libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinCompilationData.kt rename to libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationData.kt index 33bb77c6807..3630040498c 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinCompilationData.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationData.kt @@ -16,7 +16,11 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.project.model.LanguageSettings -interface KotlinCompilationData { +/* +Previously used to find a common representation for KPM and TCS. +Not in use anymore. Can be removed/inlined into KPM later. + */ +interface GradleKpmCompilationData { val project: Project val owner: Any? diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariantCompilationData.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariantCompilationData.kt index 6da9ac23a58..94180b93962 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariantCompilationData.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmVariantCompilationData.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.project.model.LanguageSettings -interface GradleKpmVariantCompilationData : KotlinCompilationData { +interface GradleKpmVariantCompilationData : GradleKpmCompilationData { override val owner: GradleKpmVariant override val project: Project get() = owner.containingModule.project diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilationProjection.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilationProjection.kt index 657d41ffcdc..b07c7ae34b4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilationProjection.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilationProjection.kt @@ -14,7 +14,7 @@ import org.gradle.api.file.SourceDirectorySet import org.jetbrains.kotlin.gradle.plugin.mpp.internal import org.jetbrains.kotlin.gradle.plugin.mpp.isMain import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmModule -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmCompilationData import org.jetbrains.kotlin.gradle.utils.filesProvider import org.jetbrains.kotlin.project.model.LanguageSettings @@ -83,9 +83,9 @@ internal sealed class KotlinCompilationProjection { get() = origin.allKotlinSourceSets.map { it.kotlin } } - class KPM(val compilationData: KotlinCompilationData<*>) : KotlinCompilationProjection() { + class KPM(val compilationData: GradleKpmCompilationData<*>) : KotlinCompilationProjection() { - override val origin: KotlinCompilationData<*> = compilationData + override val origin: GradleKpmCompilationData<*> = compilationData override val project: Project get() = origin.project diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationTaskConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationTaskConfigurator.kt index d2467c548c7..1f184fade64 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationTaskConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmCompilationTaskConfigurator.kt @@ -29,7 +29,7 @@ open class GradleKpmCompilationTaskConfigurator( fun createKotlinJvmCompilationTask( variant: GradleKpmVariant, - compilationData: KotlinCompilationData<*> + compilationData: GradleKpmCompilationData<*> ): TaskProvider { Kotlin2JvmSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationProjection.KPM(compilationData)).run() val allSources = getSourcesForFragmentCompilation(variant) @@ -48,7 +48,7 @@ open class GradleKpmCompilationTaskConfigurator( protected fun createKotlinNativeCompilationTask( fragment: GradleKpmFragment, - compilationData: KotlinNativeCompilationData<*>, + compilationData: GradleKpmNativeCompilationData<*>, configure: KotlinNativeCompile.() -> Unit ): TaskProvider { val compileTask = KotlinNativeTargetConfigurator.createKlibCompilationTask( @@ -69,7 +69,7 @@ open class GradleKpmCompilationTaskConfigurator( fun createKotlinNativeCompilationTask( variant: GradleKpmNativeVariantInternal, - compilationData: KotlinNativeCompilationData<*> + compilationData: GradleKpmNativeCompilationData<*> ): TaskProvider = createKotlinNativeCompilationTask(variant, compilationData) { kotlinPluginData = project.compilerPluginProviderForPlatformCompilation(variant, compilationData) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmFragmentSourcesProvider.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmFragmentSourcesProvider.kt index fce5f322b7e..31822082b51 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmFragmentSourcesProvider.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmFragmentSourcesProvider.kt @@ -50,7 +50,7 @@ open class GradleKpmFragmentSourcesProvider { } open class LifecycleTasksManager(private val project: Project) { - open fun registerClassesTask(compilationData: KotlinCompilationData<*>) = with(project) { + open fun registerClassesTask(compilationData: GradleKpmCompilationData<*>) = with(project) { val classesTaskName = compilationData.compileAllTaskName val classesTask = project.tasks.register(classesTaskName) { classesTask -> classesTask.inputs.files(compilationData.output.allOutputs) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmHostSpecificMetadataArtifact.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmHostSpecificMetadataArtifact.kt index a2a8c17b3da..4d7f83976b6 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmHostSpecificMetadataArtifact.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmHostSpecificMetadataArtifact.kt @@ -26,7 +26,7 @@ val GradleKpmHostSpecificMetadataArtifact = GradleKpmConfigurationArtifactsSetup project.metadataCompilationRegistryByModuleId.getValue(fragment.containingModule.moduleIdentifier) .withAll { metadataCompilation -> val metadataFragment = metadataCompilation.fragment - if (metadataCompilation is KotlinNativeFragmentMetadataCompilationData) { + if (metadataCompilation is GradleKpmNativeFragmentMetadataCompilationData) { jar.from(project.files(project.provider { if (metadataFragment in fragment.withRefinesClosure && metadataFragment.isNativeHostSpecific()) project.filesWithUnpackedArchives(metadataCompilation.output.allOutputs, setOf(KLIB_FILE_EXTENSION)) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinMetadataCompilationData.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmMetadataCompilationData.kt similarity index 84% rename from libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinMetadataCompilationData.kt rename to libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmMetadataCompilationData.kt index 14a3376cdb3..06b47962f9a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/KotlinMetadataCompilationData.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmMetadataCompilationData.kt @@ -25,20 +25,20 @@ import org.jetbrains.kotlin.gradle.utils.setValue import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.KonanTarget -interface KotlinMetadataCompilationData : KotlinCompilationData { +interface GradleKpmMetadataCompilationData : GradleKpmCompilationData { val isActive: Boolean } -interface KotlinCommonFragmentMetadataCompilationData : KotlinMetadataCompilationData +interface GradleKpmCommonFragmentMetadataCompilationData : GradleKpmMetadataCompilationData -internal abstract class AbstractKotlinFragmentMetadataCompilationData( +internal abstract class GradleKpmAbstractFragmentMetadataCompilationData( final override val project: Project, val fragment: GradleKpmFragment, private val module: GradleKpmModule, private val compileAllTask: TaskProvider, val metadataCompilationRegistry: MetadataCompilationRegistry, private val resolvedMetadataFiles: Lazy> -) : KotlinMetadataCompilationData { +) : GradleKpmMetadataCompilationData { override val owner get() = project.topLevelExtension @@ -103,21 +103,21 @@ internal abstract class AbstractKotlinFragmentMetadataCompilationData, metadataCompilationRegistry: MetadataCompilationRegistry, resolvedMetadataFiles: Lazy> -) : AbstractKotlinFragmentMetadataCompilationData( +) : GradleKpmAbstractFragmentMetadataCompilationData( project, fragment, module, compileAllTask, metadataCompilationRegistry, resolvedMetadataFiles -), KotlinCommonFragmentMetadataCompilationData { +), GradleKpmCommonFragmentMetadataCompilationData { override val isActive: Boolean get() = !fragment.isNativeShared() && @@ -141,9 +141,9 @@ internal open class KotlinCommonFragmentMetadataCompilationDataImpl( } } -interface KotlinNativeFragmentMetadataCompilationData : - KotlinMetadataCompilationData, - KotlinNativeCompilationData +interface GradleKpmNativeFragmentMetadataCompilationData : + GradleKpmMetadataCompilationData, + GradleKpmNativeCompilationData internal fun GradleKpmFragment.isNativeShared(): Boolean = containingVariants.run { @@ -153,21 +153,21 @@ internal fun GradleKpmFragment.isNativeShared(): Boolean = internal fun GradleKpmFragment.isNativeHostSpecific(): Boolean = this in getHostSpecificFragments(containingModule) -internal open class KotlinNativeFragmentMetadataCompilationDataImpl( +internal open class GradleKpmNativeFragmentMetadataCompilationDataImpl( project: Project, fragment: GradleKpmFragment, module: GradleKpmModule, compileAllTask: TaskProvider, metadataCompilationRegistry: MetadataCompilationRegistry, resolvedMetadataFiles: Lazy> -) : AbstractKotlinFragmentMetadataCompilationData( +) : GradleKpmAbstractFragmentMetadataCompilationData( project, fragment, module, compileAllTask, metadataCompilationRegistry, resolvedMetadataFiles -), KotlinNativeFragmentMetadataCompilationData { +), GradleKpmNativeFragmentMetadataCompilationData { override val compileKotlinTaskName: String get() = lowerCamelCaseName("compile", fragment.disambiguateName(""), "KotlinNativeMetadata") @@ -202,10 +202,10 @@ internal open class KotlinNativeFragmentMetadataCompilationDataImpl( // TODO think about more generic case: a fragment that can be compiled by an arbitrary compiler // what tasks should we create? should there be a generic task for that? internal class MetadataCompilationRegistry { - private val commonCompilationDataPerFragment = LinkedHashMap() - private val nativeCompilationDataPerFragment = LinkedHashMap() + private val commonCompilationDataPerFragment = LinkedHashMap() + private val nativeCompilationDataPerFragment = LinkedHashMap() - fun registerCommon(fragment: GradleKpmFragment, compilationData: KotlinCommonFragmentMetadataCompilationDataImpl) { + fun registerCommon(fragment: GradleKpmFragment, compilationData: GradleKpmCommonFragmentMetadataCompilationDataImpl) { commonCompilationDataPerFragment.compute(fragment) { _, existing -> existing?.let { error("common compilation data for fragment $fragment already registered") } compilationData @@ -213,7 +213,7 @@ internal class MetadataCompilationRegistry { withAllCommonCallbacks.forEach { it.invoke(compilationData) } } - fun registerNative(fragment: GradleKpmFragment, compilationData: KotlinNativeFragmentMetadataCompilationDataImpl) { + fun registerNative(fragment: GradleKpmFragment, compilationData: GradleKpmNativeFragmentMetadataCompilationDataImpl) { nativeCompilationDataPerFragment.compute(fragment) { _, existing -> existing?.let { error("native compilation data for fragment $fragment already registered") } compilationData @@ -221,15 +221,15 @@ internal class MetadataCompilationRegistry { withAllNativeCallbacks.forEach { it.invoke(compilationData) } } - fun getForFragmentOrNull(fragment: GradleKpmFragment): AbstractKotlinFragmentMetadataCompilationData<*>? = + fun getForFragmentOrNull(fragment: GradleKpmFragment): GradleKpmAbstractFragmentMetadataCompilationData<*>? = listOf(commonCompilationDataPerFragment.getValue(fragment), nativeCompilationDataPerFragment.getValue(fragment)).singleOrNull { it.isActive } - private val withAllCommonCallbacks = mutableListOf<(AbstractKotlinFragmentMetadataCompilationData<*>) -> Unit>() - private val withAllNativeCallbacks = mutableListOf<(AbstractKotlinFragmentMetadataCompilationData<*>) -> Unit>() + private val withAllCommonCallbacks = mutableListOf<(GradleKpmAbstractFragmentMetadataCompilationData<*>) -> Unit>() + private val withAllNativeCallbacks = mutableListOf<(GradleKpmAbstractFragmentMetadataCompilationData<*>) -> Unit>() - fun withAll(action: (AbstractKotlinFragmentMetadataCompilationData<*>) -> Unit) { + fun withAll(action: (GradleKpmAbstractFragmentMetadataCompilationData<*>) -> Unit) { commonCompilationDataPerFragment.forEach { action(it.value) } nativeCompilationDataPerFragment.forEach { action(it.value) } withAllCommonCallbacks += action diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantCompilationData.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantCompilationData.kt index ae85d96cd90..1509e1cd813 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantCompilationData.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantCompilationData.kt @@ -13,7 +13,7 @@ import org.jetbrains.kotlin.konan.target.KonanTarget internal class GradleKpmNativeVariantCompilationData( val variant: GradleKpmNativeVariantInternal -) : GradleKpmVariantCompilationDataInternal, KotlinNativeCompilationData { +) : GradleKpmVariantCompilationDataInternal, GradleKpmNativeCompilationData { override val konanTarget: KonanTarget get() = variant.konanTarget diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantInternal.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantInternal.kt index 9ba705c88c1..1d822913763 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantInternal.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantInternal.kt @@ -45,7 +45,7 @@ abstract class GradleKpmNativeVariantInternal( override val compilationData by lazy { GradleKpmNativeVariantCompilationData(this) } } -interface KotlinNativeCompilationData : KotlinCompilationData { +interface GradleKpmNativeCompilationData : GradleKpmCompilationData { val konanTarget: KonanTarget @Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0") diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/compilerPluginProvider.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/compilerPluginProvider.kt index 7c424645950..a1a43eaa40b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/compilerPluginProvider.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/compilerPluginProvider.kt @@ -19,23 +19,23 @@ import java.io.File internal fun Project.compilerPluginProviderForMetadata( fragment: GradleKpmFragment, - compilationData: KotlinCommonFragmentMetadataCompilationData + compilationData: GradleKpmCommonFragmentMetadataCompilationData ) = compilerPluginDataProvider(compilationData, fragment::metadataCompilationPluginData) internal fun Project.compilerPluginProviderForNativeMetadata( fragment: GradleKpmFragment, - compilationData: KotlinNativeFragmentMetadataCompilationData + compilationData: GradleKpmNativeFragmentMetadataCompilationData ) = compilerPluginDataProvider(compilationData, fragment::nativeMetadataCompilationPluginData) internal fun Project.compilerPluginProviderForPlatformCompilation( variant: GradleKpmVariant, - compilationData: KotlinCompilationData<*> + compilationData: GradleKpmCompilationData<*> ) = compilerPluginDataProvider(compilationData, variant::platformCompilationPluginData) -internal fun KotlinCompilationData<*>.pluginClasspathConfigurationName() = "${compileKotlinTaskName}PluginClasspath" +internal fun GradleKpmCompilationData<*>.pluginClasspathConfigurationName() = "${compileKotlinTaskName}PluginClasspath" private fun Project.compilerPluginDataProvider( - compilationData: KotlinCompilationData<*>, + compilationData: GradleKpmCompilationData<*>, pluginDataList: () -> List ): Provider { return newProperty { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/setupFragmentsMetadataForKpmModules.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/setupFragmentsMetadataForKpmModules.kt index c986045edef..d0d64507436 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/setupFragmentsMetadataForKpmModules.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/setupFragmentsMetadataForKpmModules.kt @@ -180,7 +180,7 @@ private fun createCommonMetadataCompilation( val project = module.project val metadataCompilationData = - KotlinCommonFragmentMetadataCompilationDataImpl( + GradleKpmCommonFragmentMetadataCompilationDataImpl( project, fragment, module, @@ -201,7 +201,7 @@ private fun createNativeMetadataCompilation( val project = module.project val metadataCompilationData = - KotlinNativeFragmentMetadataCompilationDataImpl( + GradleKpmNativeFragmentMetadataCompilationDataImpl( project, fragment, module, @@ -216,7 +216,7 @@ private fun createNativeMetadataCompilation( private class GradleKpmMetadataCompilationTasksConfigurator(project: Project) : GradleKpmCompilationTaskConfigurator(project) { fun createKotlinCommonCompilationTask( fragment: GradleKpmFragment, - compilationData: KotlinCommonFragmentMetadataCompilationData + compilationData: GradleKpmCommonFragmentMetadataCompilationData ) { KotlinCommonSourceSetProcessor(KotlinCompilationProjection.KPM(compilationData), KotlinTasksProvider()).run() val allSources = getSourcesForFragmentCompilation(fragment) @@ -232,7 +232,7 @@ private class GradleKpmMetadataCompilationTasksConfigurator(project: Project) : fun createKotlinNativeMetadataCompilationTask( fragment: GradleKpmFragment, - compilationData: KotlinNativeFragmentMetadataCompilationData + compilationData: GradleKpmNativeFragmentMetadataCompilationData ): TaskProvider = createKotlinNativeCompilationTask(fragment, compilationData) { kotlinPluginData = project.compilerPluginProviderForNativeMetadata(fragment, compilationData) } @@ -276,7 +276,7 @@ private fun createExtractMetadataTask( // FIXME: use this function once more than one platform is supported private fun disableMetadataCompilationIfNotYetSupported( - metadataCompilationData: AbstractKotlinFragmentMetadataCompilationData<*> + metadataCompilationData: GradleKpmAbstractFragmentMetadataCompilationData<*> ) { val fragment = metadataCompilationData.fragment val platforms = fragment.containingVariants.map { it.platformType }.toSet() diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/util/GradleKpmDependencyFilesHolder.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/util/GradleKpmDependencyFilesHolder.kt index 37d7c443bb6..a70e319bbfa 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/util/GradleKpmDependencyFilesHolder.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/util/GradleKpmDependencyFilesHolder.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util import org.gradle.api.Project import org.gradle.api.file.FileCollection -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.AbstractKotlinFragmentMetadataCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmAbstractFragmentMetadataCompilationData import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmVariant import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmVariantWithRuntime import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.resolvableMetadataConfigurationName @@ -39,7 +39,7 @@ internal fun GradleKpmDependencyFilesHolder.Companion.ofVariantRuntimeDependenci } internal fun GradleKpmDependencyFilesHolder.Companion.ofMetadataCompilationDependencies( - compilationData: AbstractKotlinFragmentMetadataCompilationData<*> + compilationData: GradleKpmAbstractFragmentMetadataCompilationData<*> ) = object : GradleKpmDependencyFilesHolder { override val dependencyConfigurationName: String get() = compilationData.fragment.containingModule.resolvableMetadataConfigurationName diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropIdentifier.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropIdentifier.kt index 54d2ab1dd91..ca74abd51d8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropIdentifier.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/CInteropIdentifier.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.gradle.targets.native.internal import org.gradle.api.tasks.Input import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmCompilationData import org.jetbrains.kotlin.tooling.core.UnsafeApi import java.io.Serializable @@ -26,7 +26,7 @@ internal data class CInteropIdentifier internal constructor( } @OptIn(UnsafeApi::class) - fun create(compilation: KotlinCompilationData<*>): Scope { + fun create(compilation: GradleKpmCompilationData<*>): Scope { return Scope("compilation/${compilation.compileKotlinTaskName}") } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index 1cff12c17fd..9844985d582 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -33,8 +33,8 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection import org.jetbrains.kotlin.gradle.plugin.cocoapods.asValidFrameworkName import org.jetbrains.kotlin.gradle.plugin.mpp.* -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinMetadataCompilationData -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinNativeCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmMetadataCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmNativeCompilationData import org.jetbrains.kotlin.gradle.plugin.sources.DefaultLanguageSettingsBuilder import org.jetbrains.kotlin.gradle.plugin.tcsOrNull import org.jetbrains.kotlin.gradle.targets.native.KonanPropertiesBuildService @@ -160,7 +160,7 @@ abstract class AbstractKotlinNativeCompile< @get:Internal protected val konanTarget by project.provider { when (val compilation = compilation) { - is KotlinCompilationProjection.KPM -> (compilation.compilationData as KotlinNativeCompilationData<*>).konanTarget + is KotlinCompilationProjection.KPM -> (compilation.compilationData as GradleKpmNativeCompilationData<*>).konanTarget is KotlinCompilationProjection.TCS -> (compilation.compilation as AbstractKotlinNativeCompilation).konanTarget } } @@ -455,7 +455,7 @@ internal constructor( } private val isMetadataCompilation: Boolean = when (compilation) { - is KotlinCompilationProjection.KPM -> compilation.compilationData is KotlinMetadataCompilationData<*> + is KotlinCompilationProjection.KPM -> compilation.compilationData is GradleKpmMetadataCompilationData<*> is KotlinCompilationProjection.TCS -> compilation.compilation is KotlinMetadataCompilation<*> } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/KotlinCompileCommonConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/KotlinCompileCommonConfig.kt index 5c82114bd35..fadff7aa83a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/KotlinCompileCommonConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/configuration/KotlinCompileCommonConfig.kt @@ -10,8 +10,8 @@ import org.gradle.api.provider.Provider import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCommonCompilation -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.AbstractKotlinFragmentMetadataCompilationData -import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinMetadataCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmAbstractFragmentMetadataCompilationData +import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmMetadataCompilationData import org.jetbrains.kotlin.gradle.plugin.sources.internal import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon import java.io.File @@ -24,7 +24,7 @@ internal class KotlinCompileCommonConfig( task.expectActualLinker.value( providers.provider { (compilationProjection.origin as? KotlinCommonCompilation)?.isKlibCompilation == true || - compilationProjection.origin is KotlinMetadataCompilationData<*> + compilationProjection.origin is GradleKpmMetadataCompilationData<*> } ).disallowChanges() task.refinesMetadataPaths.from(getRefinesMetadataPaths(project)).disallowChanges() @@ -43,7 +43,7 @@ internal class KotlinCompileCommonConfig( } is KotlinCompilationProjection.KPM -> { - val compilationData = compilationProjection.compilationData as AbstractKotlinFragmentMetadataCompilationData<*> + val compilationData = compilationProjection.compilationData as GradleKpmAbstractFragmentMetadataCompilationData<*> val fragment = compilationData.fragment project.files( fragment.refinesClosure.minus(fragment).map {