[Gradle] Rename KotlinCompilationData to GradleKpmCompilationData
^KT-54312 Verification Pending
This commit is contained in:
committed by
Space Team
parent
b3d82c74fe
commit
f148390e14
+19
-19
@@ -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;
|
||||
|
||||
+5
-1
@@ -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<T : KotlinCommonOptionsDeprecated> {
|
||||
/*
|
||||
Previously used to find a common representation for KPM and TCS.
|
||||
Not in use anymore. Can be removed/inlined into KPM later.
|
||||
*/
|
||||
interface GradleKpmCompilationData<T : KotlinCommonOptionsDeprecated> {
|
||||
val project: Project
|
||||
val owner: Any?
|
||||
|
||||
+1
-1
@@ -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<T : KotlinCommonOptionsDeprecated> : KotlinCompilationData<T> {
|
||||
interface GradleKpmVariantCompilationData<T : KotlinCommonOptionsDeprecated> : GradleKpmCompilationData<T> {
|
||||
override val owner: GradleKpmVariant
|
||||
|
||||
override val project: Project get() = owner.containingModule.project
|
||||
|
||||
+3
-3
@@ -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
|
||||
|
||||
+3
-3
@@ -29,7 +29,7 @@ open class GradleKpmCompilationTaskConfigurator(
|
||||
|
||||
fun createKotlinJvmCompilationTask(
|
||||
variant: GradleKpmVariant,
|
||||
compilationData: KotlinCompilationData<*>
|
||||
compilationData: GradleKpmCompilationData<*>
|
||||
): TaskProvider<out KotlinCompile> {
|
||||
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<KotlinNativeCompile> {
|
||||
val compileTask = KotlinNativeTargetConfigurator.createKlibCompilationTask(
|
||||
@@ -69,7 +69,7 @@ open class GradleKpmCompilationTaskConfigurator(
|
||||
|
||||
fun createKotlinNativeCompilationTask(
|
||||
variant: GradleKpmNativeVariantInternal,
|
||||
compilationData: KotlinNativeCompilationData<*>
|
||||
compilationData: GradleKpmNativeCompilationData<*>
|
||||
): TaskProvider<KotlinNativeCompile> = createKotlinNativeCompilationTask(variant, compilationData) {
|
||||
kotlinPluginData = project.compilerPluginProviderForPlatformCompilation(variant, compilationData)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -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))
|
||||
|
||||
+21
-21
@@ -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<T : KotlinCommonOptions> : KotlinCompilationData<T> {
|
||||
interface GradleKpmMetadataCompilationData<T : KotlinCommonOptions> : GradleKpmCompilationData<T> {
|
||||
val isActive: Boolean
|
||||
}
|
||||
|
||||
interface KotlinCommonFragmentMetadataCompilationData : KotlinMetadataCompilationData<KotlinMultiplatformCommonOptions>
|
||||
interface GradleKpmCommonFragmentMetadataCompilationData : GradleKpmMetadataCompilationData<KotlinMultiplatformCommonOptions>
|
||||
|
||||
internal abstract class AbstractKotlinFragmentMetadataCompilationData<T : KotlinCommonOptions>(
|
||||
internal abstract class GradleKpmAbstractFragmentMetadataCompilationData<T : KotlinCommonOptions>(
|
||||
final override val project: Project,
|
||||
val fragment: GradleKpmFragment,
|
||||
private val module: GradleKpmModule,
|
||||
private val compileAllTask: TaskProvider<DefaultTask>,
|
||||
val metadataCompilationRegistry: MetadataCompilationRegistry,
|
||||
private val resolvedMetadataFiles: Lazy<Iterable<ResolvedMetadataFilesProvider>>
|
||||
) : KotlinMetadataCompilationData<T> {
|
||||
) : GradleKpmMetadataCompilationData<T> {
|
||||
|
||||
override val owner
|
||||
get() = project.topLevelExtension
|
||||
@@ -103,21 +103,21 @@ internal abstract class AbstractKotlinFragmentMetadataCompilationData<T : Kotlin
|
||||
}
|
||||
}
|
||||
|
||||
internal open class KotlinCommonFragmentMetadataCompilationDataImpl(
|
||||
internal open class GradleKpmCommonFragmentMetadataCompilationDataImpl(
|
||||
project: Project,
|
||||
fragment: GradleKpmFragment,
|
||||
module: GradleKpmModule,
|
||||
compileAllTask: TaskProvider<DefaultTask>,
|
||||
metadataCompilationRegistry: MetadataCompilationRegistry,
|
||||
resolvedMetadataFiles: Lazy<Iterable<ResolvedMetadataFilesProvider>>
|
||||
) : AbstractKotlinFragmentMetadataCompilationData<KotlinMultiplatformCommonOptions>(
|
||||
) : GradleKpmAbstractFragmentMetadataCompilationData<KotlinMultiplatformCommonOptions>(
|
||||
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<KotlinCommonOptions>,
|
||||
KotlinNativeCompilationData<KotlinCommonOptions>
|
||||
interface GradleKpmNativeFragmentMetadataCompilationData :
|
||||
GradleKpmMetadataCompilationData<KotlinCommonOptions>,
|
||||
GradleKpmNativeCompilationData<KotlinCommonOptions>
|
||||
|
||||
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<DefaultTask>,
|
||||
metadataCompilationRegistry: MetadataCompilationRegistry,
|
||||
resolvedMetadataFiles: Lazy<Iterable<ResolvedMetadataFilesProvider>>
|
||||
) : AbstractKotlinFragmentMetadataCompilationData<KotlinCommonOptions>(
|
||||
) : GradleKpmAbstractFragmentMetadataCompilationData<KotlinCommonOptions>(
|
||||
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<GradleKpmFragment, KotlinCommonFragmentMetadataCompilationDataImpl>()
|
||||
private val nativeCompilationDataPerFragment = LinkedHashMap<GradleKpmFragment, KotlinNativeFragmentMetadataCompilationDataImpl>()
|
||||
private val commonCompilationDataPerFragment = LinkedHashMap<GradleKpmFragment, GradleKpmCommonFragmentMetadataCompilationDataImpl>()
|
||||
private val nativeCompilationDataPerFragment = LinkedHashMap<GradleKpmFragment, GradleKpmNativeFragmentMetadataCompilationDataImpl>()
|
||||
|
||||
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
|
||||
+1
-1
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
|
||||
internal class GradleKpmNativeVariantCompilationData(
|
||||
val variant: GradleKpmNativeVariantInternal
|
||||
) : GradleKpmVariantCompilationDataInternal<KotlinCommonOptions>, KotlinNativeCompilationData<KotlinCommonOptions> {
|
||||
) : GradleKpmVariantCompilationDataInternal<KotlinCommonOptions>, GradleKpmNativeCompilationData<KotlinCommonOptions> {
|
||||
override val konanTarget: KonanTarget
|
||||
get() = variant.konanTarget
|
||||
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ abstract class GradleKpmNativeVariantInternal(
|
||||
override val compilationData by lazy { GradleKpmNativeVariantCompilationData(this) }
|
||||
}
|
||||
|
||||
interface KotlinNativeCompilationData<T : KotlinCommonOptions> : KotlinCompilationData<T> {
|
||||
interface GradleKpmNativeCompilationData<T : KotlinCommonOptions> : GradleKpmCompilationData<T> {
|
||||
val konanTarget: KonanTarget
|
||||
|
||||
@Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0")
|
||||
|
||||
+5
-5
@@ -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<PluginData>
|
||||
): Provider<KotlinCompilerPluginData> {
|
||||
return newProperty {
|
||||
|
||||
+5
-5
@@ -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<KotlinNativeCompile> = 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()
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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}")
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -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<*>
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user