[Gradle][Minor] Rename KotlinCompilationProjection to KotlinCompilationInfo
^KT-54312 Verification Pending
This commit is contained in:
committed by
Space Team
parent
f148390e14
commit
331294c747
+1
-1
@@ -27,7 +27,7 @@ internal open class Kotlin2JsPlugin(
|
||||
project: Project,
|
||||
compilation: KotlinCompilation<*>
|
||||
): KotlinSourceSetProcessor<*> =
|
||||
Kotlin2JsSourceSetProcessor(tasksProvider, KotlinCompilationProjection(compilation))
|
||||
Kotlin2JsSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation))
|
||||
|
||||
override fun apply(project: Project) {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
|
||||
+6
-6
@@ -17,35 +17,35 @@ import java.io.File
|
||||
|
||||
internal class Kotlin2JsSourceSetProcessor(
|
||||
tasksProvider: KotlinTasksProvider,
|
||||
kotlinCompilation: KotlinCompilationProjection
|
||||
kotlinCompilation: KotlinCompilationInfo
|
||||
) : KotlinSourceSetProcessor<Kotlin2JsCompile>(
|
||||
tasksProvider,
|
||||
taskDescription = "Compiles the Kotlin sources in $kotlinCompilation to JavaScript.",
|
||||
kotlinCompilation = kotlinCompilation
|
||||
) {
|
||||
override fun doRegisterTask(project: Project, taskName: String): TaskProvider<out Kotlin2JsCompile> {
|
||||
val configAction = Kotlin2JsCompileConfig(compilationProjection)
|
||||
val configAction = Kotlin2JsCompileConfig(compilationInfo)
|
||||
applyStandardTaskConfiguration(configAction)
|
||||
return tasksProvider.registerKotlinJSTask(
|
||||
project,
|
||||
taskName,
|
||||
compilationProjection.compilerOptions.options as KotlinJsCompilerOptions,
|
||||
compilationInfo.compilerOptions.options as KotlinJsCompilerOptions,
|
||||
configAction
|
||||
)
|
||||
}
|
||||
|
||||
override fun doTargetSpecificProcessing() {
|
||||
project.tasks.named(compilationProjection.compileAllTaskName).configure {
|
||||
project.tasks.named(compilationInfo.compileAllTaskName).configure {
|
||||
it.dependsOn(kotlinTask)
|
||||
}
|
||||
|
||||
compilationProjection.tcsOrNull?.compilation?.run { this as? KotlinWithJavaCompilation<*, *> }?.javaSourceSet?.clearJavaSrcDirs()
|
||||
compilationInfo.tcsOrNull?.compilation?.run { this as? KotlinWithJavaCompilation<*, *> }?.javaSourceSet?.clearJavaSrcDirs()
|
||||
|
||||
project.whenEvaluated {
|
||||
val subpluginEnvironment: SubpluginEnvironment = SubpluginEnvironment.loadSubplugins(project)
|
||||
|
||||
/* Not supported in KPM */
|
||||
compilationProjection.tcsOrNull?.compilation?.let { compilation ->
|
||||
compilationInfo.tcsOrNull?.compilation?.let { compilation ->
|
||||
subpluginEnvironment.addSubpluginOptions(project, compilation)
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -22,32 +22,32 @@ import org.jetbrains.kotlin.gradle.utils.whenKaptEnabled
|
||||
|
||||
internal class Kotlin2JvmSourceSetProcessor(
|
||||
tasksProvider: KotlinTasksProvider,
|
||||
kotlinCompilation: KotlinCompilationProjection
|
||||
kotlinCompilation: KotlinCompilationInfo
|
||||
) : KotlinSourceSetProcessor<KotlinCompile>(
|
||||
tasksProvider, "Compiles the $kotlinCompilation.", kotlinCompilation
|
||||
) {
|
||||
override fun doRegisterTask(project: Project, taskName: String): TaskProvider<out KotlinCompile> {
|
||||
val configAction = KotlinCompileConfig(compilationProjection)
|
||||
val configAction = KotlinCompileConfig(compilationInfo)
|
||||
applyStandardTaskConfiguration(configAction)
|
||||
return tasksProvider.registerKotlinJVMTask(
|
||||
project,
|
||||
taskName,
|
||||
compilationProjection.compilerOptions.options as KotlinJvmCompilerOptions,
|
||||
compilationInfo.compilerOptions.options as KotlinJvmCompilerOptions,
|
||||
configAction
|
||||
)
|
||||
}
|
||||
|
||||
override fun doTargetSpecificProcessing() {
|
||||
project.whenKaptEnabled {
|
||||
Kapt3GradleSubplugin.createAptConfigurationIfNeeded(project, compilationProjection.compilationName)
|
||||
Kapt3GradleSubplugin.createAptConfigurationIfNeeded(project, compilationInfo.compilationName)
|
||||
}
|
||||
|
||||
ScriptingGradleSubplugin.configureForSourceSet(project, compilationProjection.compilationName)
|
||||
ScriptingGradleSubplugin.configureForSourceSet(project, compilationInfo.compilationName)
|
||||
|
||||
project.whenEvaluated {
|
||||
val subpluginEnvironment = SubpluginEnvironment.loadSubplugins(project)
|
||||
/* Not supported in KPM yet */
|
||||
compilationProjection.tcsOrNull?.compilation?.let { compilation ->
|
||||
compilationInfo.tcsOrNull?.compilation?.let { compilation ->
|
||||
subpluginEnvironment.addSubpluginOptions(project, compilation)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ internal open class KotlinCommonPlugin(
|
||||
project: Project,
|
||||
compilation: KotlinCompilation<*>
|
||||
): KotlinSourceSetProcessor<*> =
|
||||
KotlinCommonSourceSetProcessor(KotlinCompilationProjection(compilation), tasksProvider)
|
||||
KotlinCommonSourceSetProcessor(KotlinCompilationInfo(compilation), tasksProvider)
|
||||
|
||||
override fun apply(project: Project) {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
|
||||
+7
-7
@@ -16,16 +16,16 @@ import org.jetbrains.kotlin.gradle.tasks.dependsOn
|
||||
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
||||
|
||||
internal class KotlinCommonSourceSetProcessor(
|
||||
compilation: KotlinCompilationProjection,
|
||||
compilation: KotlinCompilationInfo,
|
||||
tasksProvider: KotlinTasksProvider
|
||||
) : KotlinSourceSetProcessor<KotlinCompileCommon>(
|
||||
tasksProvider, taskDescription = "Compiles the kotlin sources in $compilation to Metadata.", kotlinCompilation = compilation
|
||||
) {
|
||||
override fun doTargetSpecificProcessing() {
|
||||
project.tasks.named(compilationProjection.compileAllTaskName).dependsOn(kotlinTask)
|
||||
project.tasks.named(compilationInfo.compileAllTaskName).dependsOn(kotlinTask)
|
||||
// can be missing (e.g. in case of tests)
|
||||
if (compilationProjection.isMain) {
|
||||
compilationProjection.tcsOrNull?.compilation?.target?.let { target ->
|
||||
if (compilationInfo.isMain) {
|
||||
compilationInfo.tcsOrNull?.compilation?.target?.let { target ->
|
||||
project.locateTask<Task>(target.artifactsTaskName)?.dependsOn(kotlinTask)
|
||||
}
|
||||
}
|
||||
@@ -33,19 +33,19 @@ internal class KotlinCommonSourceSetProcessor(
|
||||
project.whenEvaluated {
|
||||
val subpluginEnvironment: SubpluginEnvironment = SubpluginEnvironment.loadSubplugins(project)
|
||||
/* Not supported in KPM yet */
|
||||
compilationProjection.tcsOrNull?.compilation?.let { compilation ->
|
||||
compilationInfo.tcsOrNull?.compilation?.let { compilation ->
|
||||
subpluginEnvironment.addSubpluginOptions(project, compilation)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun doRegisterTask(project: Project, taskName: String): TaskProvider<out KotlinCompileCommon> {
|
||||
val configAction = KotlinCompileCommonConfig(compilationProjection)
|
||||
val configAction = KotlinCompileCommonConfig(compilationInfo)
|
||||
applyStandardTaskConfiguration(configAction)
|
||||
return tasksProvider.registerKotlinCommonTask(
|
||||
project,
|
||||
taskName,
|
||||
compilationProjection.compilerOptions.options as KotlinMultiplatformCommonCompilerOptions,
|
||||
compilationInfo.compilerOptions.options as KotlinMultiplatformCommonCompilerOptions,
|
||||
configAction
|
||||
)
|
||||
}
|
||||
|
||||
+12
-13
@@ -13,12 +13,12 @@ import org.gradle.api.file.FileCollection
|
||||
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.GradleKpmCompilationData
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmModule
|
||||
import org.jetbrains.kotlin.gradle.utils.filesProvider
|
||||
import org.jetbrains.kotlin.project.model.LanguageSettings
|
||||
|
||||
internal sealed class KotlinCompilationProjection {
|
||||
internal sealed class KotlinCompilationInfo {
|
||||
abstract val origin: Any
|
||||
abstract val project: Project
|
||||
abstract val platformType: KotlinPlatformType
|
||||
@@ -35,7 +35,7 @@ internal sealed class KotlinCompilationProjection {
|
||||
abstract val compileDependencyFiles: FileCollection
|
||||
abstract val sources: List<SourceDirectorySet>
|
||||
|
||||
class TCS(val compilation: KotlinCompilation<*>) : KotlinCompilationProjection() {
|
||||
class TCS(val compilation: KotlinCompilation<*>) : KotlinCompilationInfo() {
|
||||
|
||||
override val origin: KotlinCompilation<*> = compilation
|
||||
|
||||
@@ -83,7 +83,7 @@ internal sealed class KotlinCompilationProjection {
|
||||
get() = origin.allKotlinSourceSets.map { it.kotlin }
|
||||
}
|
||||
|
||||
class KPM(val compilationData: GradleKpmCompilationData<*>) : KotlinCompilationProjection() {
|
||||
class KPM(val compilationData: GradleKpmCompilationData<*>) : KotlinCompilationInfo() {
|
||||
|
||||
override val origin: GradleKpmCompilationData<*> = compilationData
|
||||
|
||||
@@ -99,7 +99,6 @@ internal sealed class KotlinCompilationProjection {
|
||||
override val compilationName: String
|
||||
get() = origin.compilationPurpose
|
||||
|
||||
|
||||
override val moduleName: String
|
||||
get() = origin.moduleName
|
||||
|
||||
@@ -133,18 +132,18 @@ internal sealed class KotlinCompilationProjection {
|
||||
}
|
||||
}
|
||||
|
||||
internal fun KotlinCompilationProjection(compilation: KotlinCompilation<*>): KotlinCompilationProjection.TCS {
|
||||
return KotlinCompilationProjection.TCS(compilation)
|
||||
internal fun KotlinCompilationInfo(compilation: KotlinCompilation<*>): KotlinCompilationInfo.TCS {
|
||||
return KotlinCompilationInfo.TCS(compilation)
|
||||
}
|
||||
|
||||
internal val KotlinCompilationProjection.tcsOrNull: KotlinCompilationProjection.TCS?
|
||||
internal val KotlinCompilationInfo.tcsOrNull: KotlinCompilationInfo.TCS?
|
||||
get() = when (this) {
|
||||
is KotlinCompilationProjection.KPM -> null
|
||||
is KotlinCompilationProjection.TCS -> this
|
||||
is KotlinCompilationInfo.KPM -> null
|
||||
is KotlinCompilationInfo.TCS -> this
|
||||
}
|
||||
|
||||
internal val KotlinCompilationProjection.kpmOrNull: KotlinCompilationProjection.KPM?
|
||||
internal val KotlinCompilationInfo.kpmOrNull: KotlinCompilationInfo.KPM?
|
||||
get() = when (this) {
|
||||
is KotlinCompilationProjection.KPM -> this
|
||||
is KotlinCompilationProjection.TCS -> null
|
||||
is KotlinCompilationInfo.KPM -> this
|
||||
is KotlinCompilationInfo.TCS -> null
|
||||
}
|
||||
+4
-4
@@ -14,14 +14,14 @@ import org.jetbrains.kotlin.gradle.dsl.topLevelExtension
|
||||
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompileTool
|
||||
|
||||
abstract class KotlinCompilationProcessor<out T : AbstractKotlinCompileTool<*>> internal constructor(
|
||||
internal val compilationProjection: KotlinCompilationProjection
|
||||
internal val compilationInfo: KotlinCompilationInfo
|
||||
) {
|
||||
|
||||
abstract val kotlinTask: TaskProvider<out T>
|
||||
abstract fun run()
|
||||
|
||||
protected val project: Project
|
||||
get() = compilationProjection.project
|
||||
get() = compilationInfo.project
|
||||
|
||||
protected val defaultKotlinDestinationDir: Provider<Directory>
|
||||
get() {
|
||||
@@ -30,7 +30,7 @@ abstract class KotlinCompilationProcessor<out T : AbstractKotlinCompileTool<*>>
|
||||
if (kotlinExt is KotlinSingleJavaTargetExtension)
|
||||
"" // In single-target projects, don't add the target name part to this path
|
||||
else
|
||||
compilationProjection.targetDisambiguationClassifier?.let { "$it/" }.orEmpty()
|
||||
return project.layout.buildDirectory.dir("classes/kotlin/$targetSubDirectory${compilationProjection.compilationName}")
|
||||
compilationInfo.targetDisambiguationClassifier?.let { "$it/" }.orEmpty()
|
||||
return project.layout.buildDirectory.dir("classes/kotlin/$targetSubDirectory${compilationInfo.compilationName}")
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -17,28 +17,28 @@ import org.jetbrains.kotlin.gradle.tasks.configuration.KotlinJsIrLinkConfig
|
||||
|
||||
internal class KotlinJsIrSourceSetProcessor(
|
||||
tasksProvider: KotlinTasksProvider,
|
||||
kotlinCompilation: KotlinCompilationProjection
|
||||
kotlinCompilation: KotlinCompilationInfo
|
||||
) : KotlinSourceSetProcessor<Kotlin2JsCompile>(
|
||||
tasksProvider, taskDescription = "Compiles the Kotlin sources in $kotlinCompilation to JavaScript.",
|
||||
kotlinCompilation = kotlinCompilation
|
||||
) {
|
||||
override fun doRegisterTask(project: Project, taskName: String): TaskProvider<out Kotlin2JsCompile> {
|
||||
val configAction = Kotlin2JsCompileConfig(compilationProjection)
|
||||
val configAction = Kotlin2JsCompileConfig(compilationInfo)
|
||||
applyStandardTaskConfiguration(configAction)
|
||||
return tasksProvider.registerKotlinJSTask(
|
||||
project,
|
||||
taskName,
|
||||
compilationProjection.compilerOptions.options as KotlinJsCompilerOptions,
|
||||
compilationInfo.compilerOptions.options as KotlinJsCompilerOptions,
|
||||
configAction
|
||||
)
|
||||
}
|
||||
|
||||
override fun doTargetSpecificProcessing() {
|
||||
project.tasks.named(compilationProjection.compileAllTaskName).configure {
|
||||
project.tasks.named(compilationInfo.compileAllTaskName).configure {
|
||||
it.dependsOn(kotlinTask)
|
||||
}
|
||||
|
||||
val compilation = compilationProjection.tcsOrNull?.compilation as KotlinJsIrCompilation
|
||||
val compilation = compilationInfo.tcsOrNull?.compilation as KotlinJsIrCompilation
|
||||
|
||||
compilation.binaries
|
||||
.withType(JsIrBinary::class.java)
|
||||
@@ -46,7 +46,7 @@ internal class KotlinJsIrSourceSetProcessor(
|
||||
val configAction = KotlinJsIrLinkConfig(binary)
|
||||
configAction.configureTask {
|
||||
it.description = taskDescription
|
||||
it.libraries.from({ compilationProjection.compileDependencyFiles })
|
||||
it.libraries.from({ compilationInfo.compileDependencyFiles })
|
||||
}
|
||||
configAction.configureTask { task ->
|
||||
task.modeProperty.set(binary.mode)
|
||||
@@ -59,7 +59,7 @@ internal class KotlinJsIrSourceSetProcessor(
|
||||
project.whenEvaluated {
|
||||
val subpluginEnvironment: SubpluginEnvironment = SubpluginEnvironment.loadSubplugins(project)
|
||||
/* Not supported in KPM, yet */
|
||||
compilationProjection.tcsOrNull?.compilation?.let { compilation ->
|
||||
compilationInfo.tcsOrNull?.compilation?.let { compilation ->
|
||||
subpluginEnvironment.addSubpluginOptions(project, compilation)
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ internal open class KotlinJvmPlugin(
|
||||
}
|
||||
|
||||
override fun buildSourceSetProcessor(project: Project, compilation: KotlinCompilation<*>) =
|
||||
Kotlin2JvmSourceSetProcessor(tasksProvider, KotlinCompilationProjection(compilation))
|
||||
Kotlin2JvmSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation))
|
||||
|
||||
override fun apply(project: Project) {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
|
||||
+8
-8
@@ -26,7 +26,7 @@ import java.util.concurrent.Callable
|
||||
internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
|
||||
val tasksProvider: KotlinTasksProvider,
|
||||
val taskDescription: String,
|
||||
kotlinCompilation: KotlinCompilationProjection
|
||||
kotlinCompilation: KotlinCompilationInfo
|
||||
) : KotlinCompilationProcessor<T>(kotlinCompilation) {
|
||||
protected abstract fun doTargetSpecificProcessing()
|
||||
protected val logger = Logging.getLogger(this.javaClass)!!
|
||||
@@ -36,7 +36,7 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
|
||||
override val kotlinTask: TaskProvider<out T> = prepareKotlinCompileTask()
|
||||
|
||||
protected val javaSourceSet: SourceSet?
|
||||
get() = when (val compilation = compilationProjection.safeAs<KotlinCompilationProjection.TCS>()?.origin) {
|
||||
get() = when (val compilation = compilationInfo.safeAs<KotlinCompilationInfo.TCS>()?.origin) {
|
||||
is KotlinWithJavaCompilation<*, *> -> compilation.javaSourceSet
|
||||
is KotlinJvmCompilation -> if (compilation.target.withJavaEnabled) {
|
||||
project.gradle.variantImplementationFactory<JavaSourceSetsAccessor.JavaSourceSetsAccessorVariantFactory>()
|
||||
@@ -49,15 +49,15 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
|
||||
}
|
||||
|
||||
private fun prepareKotlinCompileTask(): TaskProvider<out T> =
|
||||
doRegisterTask(project, compilationProjection.compileKotlinTaskName).also { task ->
|
||||
compilationProjection.classesDirs.from(task.flatMap { it.destinationDirectory })
|
||||
doRegisterTask(project, compilationInfo.compileKotlinTaskName).also { task ->
|
||||
compilationInfo.classesDirs.from(task.flatMap { it.destinationDirectory })
|
||||
}
|
||||
|
||||
override fun run() {
|
||||
addKotlinDirectoriesToJavaSourceSet()
|
||||
doTargetSpecificProcessing()
|
||||
|
||||
if (compilationProjection.tcsOrNull?.compilation is KotlinWithJavaCompilation<*, *>) {
|
||||
if (compilationInfo.tcsOrNull?.compilation is KotlinWithJavaCompilation<*, *>) {
|
||||
createAdditionalClassesTaskForIdeRunner()
|
||||
}
|
||||
}
|
||||
@@ -67,7 +67,7 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
|
||||
|
||||
// Try to avoid duplicate Java sources in allSource; run lazily to allow changing the directory set:
|
||||
val kotlinSrcDirsToAdd = Callable {
|
||||
compilationProjection.sources.map { filterOutJavaSrcDirsIfPossible(it) }
|
||||
compilationInfo.sources.map { filterOutJavaSrcDirsIfPossible(it) }
|
||||
}
|
||||
|
||||
java.allJava.srcDirs(kotlinSrcDirsToAdd)
|
||||
@@ -82,7 +82,7 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
|
||||
}
|
||||
|
||||
private fun createAdditionalClassesTaskForIdeRunner() {
|
||||
val kotlinCompilation = compilationProjection.tcsOrNull?.compilation ?: return
|
||||
val kotlinCompilation = compilationInfo.tcsOrNull?.compilation ?: return
|
||||
|
||||
open class IDEClassesTask : DefaultTask()
|
||||
// Workaround: as per KT-26641, when there's a Kotlin compilation with a Java source set, we create another task
|
||||
@@ -106,7 +106,7 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
|
||||
} else {
|
||||
it.destinationDirectory.convention(defaultKotlinDestinationDir)
|
||||
}
|
||||
it.libraries.from({ compilationProjection.compileDependencyFiles })
|
||||
it.libraries.from({ compilationInfo.compileDependencyFiles })
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.jetbrains.kotlin.gradle.plugin.Kotlin2JvmSourceSetProcessor
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinNativeTargetConfigurator
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.addCommonSourcesToKotlinCompileTask
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.addSourcesToKotlinCompileTask
|
||||
@@ -31,7 +31,7 @@ open class GradleKpmCompilationTaskConfigurator(
|
||||
variant: GradleKpmVariant,
|
||||
compilationData: GradleKpmCompilationData<*>
|
||||
): TaskProvider<out KotlinCompile> {
|
||||
Kotlin2JvmSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationProjection.KPM(compilationData)).run()
|
||||
Kotlin2JvmSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationInfo.KPM(compilationData)).run()
|
||||
val allSources = getSourcesForFragmentCompilation(variant)
|
||||
val commonSources = getCommonSourcesForFragmentCompilation(variant)
|
||||
|
||||
@@ -52,7 +52,7 @@ open class GradleKpmCompilationTaskConfigurator(
|
||||
configure: KotlinNativeCompile.() -> Unit
|
||||
): TaskProvider<KotlinNativeCompile> {
|
||||
val compileTask = KotlinNativeTargetConfigurator.createKlibCompilationTask(
|
||||
KotlinCompilationProjection.KPM(compilationData), compilationData.konanTarget
|
||||
KotlinCompilationInfo.KPM(compilationData), compilationData.konanTarget
|
||||
)
|
||||
|
||||
val allSources = getSourcesForFragmentCompilation(fragment)
|
||||
|
||||
+1
-1
@@ -218,7 +218,7 @@ private class GradleKpmMetadataCompilationTasksConfigurator(project: Project) :
|
||||
fragment: GradleKpmFragment,
|
||||
compilationData: GradleKpmCommonFragmentMetadataCompilationData
|
||||
) {
|
||||
KotlinCommonSourceSetProcessor(KotlinCompilationProjection.KPM(compilationData), KotlinTasksProvider()).run()
|
||||
KotlinCommonSourceSetProcessor(KotlinCompilationInfo.KPM(compilationData), KotlinTasksProvider()).run()
|
||||
val allSources = getSourcesForFragmentCompilation(fragment)
|
||||
val commonSources = getCommonSourcesForFragmentCompilation(fragment)
|
||||
|
||||
|
||||
+1
-1
@@ -224,7 +224,7 @@ internal class AndroidProjectHandler(
|
||||
|
||||
val defaultSourceSet = project.kotlinExtension.sourceSets.maybeCreate(compilation.defaultSourceSetName)
|
||||
|
||||
val configAction = KotlinCompileConfig(KotlinCompilationProjection(compilation))
|
||||
val configAction = KotlinCompileConfig(KotlinCompilationInfo(compilation))
|
||||
configAction.configureTask { task ->
|
||||
task.useModuleDetection.value(true).disallowChanges()
|
||||
// store kotlin classes in separate directory. They will serve as class-path to java compiler
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ open class KotlinJsTargetConfigurator :
|
||||
|
||||
override fun buildCompilationProcessor(compilation: KotlinJsCompilation): KotlinSourceSetProcessor<*> {
|
||||
val tasksProvider = KotlinTasksProvider()
|
||||
return Kotlin2JsSourceSetProcessor(tasksProvider, KotlinCompilationProjection(compilation))
|
||||
return Kotlin2JsSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation))
|
||||
}
|
||||
|
||||
override fun configureCompilationDefaults(target: KotlinJsTarget) {
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ open class KotlinJsIrTargetConfigurator() :
|
||||
|
||||
override fun buildCompilationProcessor(compilation: KotlinJsIrCompilation): KotlinSourceSetProcessor<*> {
|
||||
val tasksProvider = KotlinTasksProvider()
|
||||
return KotlinJsIrSourceSetProcessor(tasksProvider, KotlinCompilationProjection(compilation))
|
||||
return KotlinJsIrSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation))
|
||||
}
|
||||
|
||||
override fun createArchiveTasks(target: KotlinJsIrTarget): TaskProvider<out Zip> {
|
||||
|
||||
+1
-1
@@ -72,6 +72,6 @@ open class KotlinJvmTargetConfigurator :
|
||||
|
||||
override fun buildCompilationProcessor(compilation: KotlinJvmCompilation): KotlinSourceSetProcessor<*> {
|
||||
val tasksProvider = KotlinTasksProvider()
|
||||
return Kotlin2JvmSourceSetProcessor(tasksProvider, KotlinCompilationProjection(compilation))
|
||||
return Kotlin2JvmSourceSetProcessor(tasksProvider, KotlinCompilationInfo(compilation))
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ class KotlinJvmWithJavaTargetPreset(
|
||||
}
|
||||
|
||||
AbstractKotlinPlugin.configureTarget(target) { compilation ->
|
||||
Kotlin2JvmSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationProjection(compilation))
|
||||
Kotlin2JvmSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationInfo(compilation))
|
||||
}
|
||||
|
||||
target.compilations.getByName("test").run {
|
||||
|
||||
+3
-3
@@ -117,7 +117,7 @@ class KotlinMetadataTargetConfigurator :
|
||||
override fun buildCompilationProcessor(compilation: KotlinCompilation<*>): KotlinCompilationProcessor<*> = when (compilation) {
|
||||
is KotlinCommonCompilation -> {
|
||||
val tasksProvider = KotlinTasksProvider()
|
||||
KotlinCommonSourceSetProcessor(KotlinCompilationProjection(compilation), tasksProvider)
|
||||
KotlinCommonSourceSetProcessor(KotlinCompilationInfo(compilation), tasksProvider)
|
||||
}
|
||||
|
||||
is KotlinSharedNativeCompilation -> NativeSharedCompilationProcessor(compilation)
|
||||
@@ -488,10 +488,10 @@ class KotlinMetadataTargetConfigurator :
|
||||
|
||||
internal class NativeSharedCompilationProcessor(
|
||||
private val compilation: KotlinSharedNativeCompilation
|
||||
) : KotlinCompilationProcessor<KotlinNativeCompile>(KotlinCompilationProjection(compilation)) {
|
||||
) : KotlinCompilationProcessor<KotlinNativeCompile>(KotlinCompilationInfo(compilation)) {
|
||||
|
||||
override val kotlinTask: TaskProvider<out KotlinNativeCompile> =
|
||||
KotlinNativeTargetConfigurator.createKlibCompilationTask(compilationProjection, compilation.konanTarget)
|
||||
KotlinNativeTargetConfigurator.createKlibCompilationTask(compilationInfo, compilation.konanTarget)
|
||||
|
||||
override fun run() = Unit
|
||||
}
|
||||
|
||||
+32
-32
@@ -26,7 +26,7 @@ import org.gradle.api.tasks.Exec
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation.Companion.TEST_COMPILATION_NAME
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection.KPM
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo.KPM
|
||||
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.KOTLIN_NATIVE_IGNORE_INCORRECT_DEPENDENCIES
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.registerEmbedAndSignAppleFrameworkTask
|
||||
@@ -209,7 +209,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
||||
compilation: KotlinNativeCompilation,
|
||||
cinterops: NamedDomainObjectCollection<DefaultCInteropSettings>
|
||||
) {
|
||||
val compilationProjection = KotlinCompilationProjection(compilation)
|
||||
val compilationInfo = KotlinCompilationInfo(compilation)
|
||||
cinterops.all { interop ->
|
||||
|
||||
val params = CInteropProcess.Params(
|
||||
@@ -225,7 +225,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
||||
)
|
||||
|
||||
val interopTask = registerTask<CInteropProcess>(interop.interopProcessingTaskName, listOf(params)) {
|
||||
it.destinationDir = provider { klibOutputDirectory(compilationProjection).resolve("cinterop") }
|
||||
it.destinationDir = provider { klibOutputDirectory(compilationInfo).resolve("cinterop") }
|
||||
it.group = INTEROP_GROUP
|
||||
it.description = "Generates Kotlin/Native interop library '${interop.name}' " +
|
||||
"for compilation '${compilation.compilationName}'" +
|
||||
@@ -250,7 +250,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
||||
|
||||
// Add the interop library in publication.
|
||||
createKlibArtifact(
|
||||
compilationProjection = compilationProjection,
|
||||
compilationInfo = compilationInfo,
|
||||
konanTarget = konanTarget,
|
||||
artifactFile = interopTask.map { it.outputFile },
|
||||
classifier = "cinterop-${interop.name}",
|
||||
@@ -294,7 +294,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
||||
it.group = BasePlugin.BUILD_GROUP
|
||||
it.description = "Assembles outputs for target '${target.name}'."
|
||||
}
|
||||
target.compilations.all { createKlibCompilationTask(KotlinCompilationProjection(it), it.konanTarget) }
|
||||
target.compilations.all { createKlibCompilationTask(KotlinCompilationInfo(it), it.konanTarget) }
|
||||
|
||||
val apiElements = configurations.getByName(target.apiElementsConfigurationName)
|
||||
|
||||
@@ -473,52 +473,52 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
||||
const val RUN_GROUP = "run"
|
||||
|
||||
internal fun createKlibCompilationTask(
|
||||
compilationProjection: KotlinCompilationProjection,
|
||||
compilationInfo: KotlinCompilationInfo,
|
||||
konanTarget: KonanTarget
|
||||
): TaskProvider<KotlinNativeCompile> {
|
||||
val project = compilationProjection.project
|
||||
val project = compilationInfo.project
|
||||
val compileTaskProvider = project.registerTask<KotlinNativeCompile>(
|
||||
compilationProjection.compileKotlinTaskName,
|
||||
listOf(compilationProjection)
|
||||
compilationInfo.compileKotlinTaskName,
|
||||
listOf(compilationInfo)
|
||||
) {
|
||||
it.group = BasePlugin.BUILD_GROUP
|
||||
it.description = "Compiles a klibrary from the '${compilationProjection.compilationName}' " +
|
||||
"compilation for target '${compilationProjection.platformType.name}'."
|
||||
it.description = "Compiles a klibrary from the '${compilationInfo.compilationName}' " +
|
||||
"compilation for target '${compilationInfo.platformType.name}'."
|
||||
it.enabled = konanTarget.enabledOnCurrentHost
|
||||
|
||||
it.destinationDirectory.set(project.klibOutputDirectory(compilationProjection).resolve("klib"))
|
||||
it.destinationDirectory.set(project.klibOutputDirectory(compilationInfo).resolve("klib"))
|
||||
}
|
||||
|
||||
compilationProjection.classesDirs.from(compileTaskProvider.map { it.outputFile })
|
||||
compilationInfo.classesDirs.from(compileTaskProvider.map { it.outputFile })
|
||||
|
||||
project.project.tasks.named(compilationProjection.compileAllTaskName).dependsOn(compileTaskProvider)
|
||||
project.project.tasks.named(compilationInfo.compileAllTaskName).dependsOn(compileTaskProvider)
|
||||
|
||||
if (compilationProjection.isMain) {
|
||||
if (compilationProjection is KotlinCompilationProjection.TCS && compilationProjection.compilation is KotlinNativeCompilation) {
|
||||
project.project.tasks.named(compilationProjection.compilation.target.artifactsTaskName).dependsOn(compileTaskProvider)
|
||||
if (compilationInfo.isMain) {
|
||||
if (compilationInfo is KotlinCompilationInfo.TCS && compilationInfo.compilation is KotlinNativeCompilation) {
|
||||
project.project.tasks.named(compilationInfo.compilation.target.artifactsTaskName).dependsOn(compileTaskProvider)
|
||||
}
|
||||
|
||||
project.project.tasks.named(LifecycleBasePlugin.ASSEMBLE_TASK_NAME).dependsOn(compileTaskProvider)
|
||||
}
|
||||
val shouldAddCompileOutputsToElements =
|
||||
(compilationProjection is KPM && compilationProjection.compilationData.owner is GradleKpmVariant) ||
|
||||
compilationProjection.isMain
|
||||
(compilationInfo is KPM && compilationInfo.compilationData.owner is GradleKpmVariant) ||
|
||||
compilationInfo.isMain
|
||||
|
||||
|
||||
if (shouldAddCompileOutputsToElements) {
|
||||
createRegularKlibArtifact(compilationProjection, konanTarget, compileTaskProvider)
|
||||
createRegularKlibArtifact(compilationInfo, konanTarget, compileTaskProvider)
|
||||
}
|
||||
|
||||
if (compilationProjection is KotlinCompilationProjection.TCS && compilationProjection.compilation is AbstractKotlinNativeCompilation) {
|
||||
if (compilationInfo is KotlinCompilationInfo.TCS && compilationInfo.compilation is AbstractKotlinNativeCompilation) {
|
||||
// FIXME: support compiler plugins for PM20
|
||||
addCompilerPlugins(compilationProjection.compilation)
|
||||
addCompilerPlugins(compilationInfo.compilation)
|
||||
}
|
||||
|
||||
return compileTaskProvider
|
||||
}
|
||||
|
||||
private fun Project.klibOutputDirectory(
|
||||
compilation: KotlinCompilationProjection
|
||||
compilation: KotlinCompilationInfo
|
||||
): File {
|
||||
val targetSubDirectory = compilation.targetDisambiguationClassifier?.let { "$it/" }.orEmpty()
|
||||
return buildDir.resolve("classes/kotlin/$targetSubDirectory${compilation.compilationName}")
|
||||
@@ -539,27 +539,27 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
||||
}
|
||||
|
||||
internal fun createRegularKlibArtifact(
|
||||
compilation: KotlinCompilationProjection,
|
||||
compilation: KotlinCompilationInfo,
|
||||
konanTarget: KonanTarget,
|
||||
compileTask: TaskProvider<out KotlinNativeCompile>
|
||||
) = createKlibArtifact(compilation, konanTarget, compileTask.map { it.outputFile.get() }, null, compileTask)
|
||||
|
||||
private fun createKlibArtifact(
|
||||
compilationProjection: KotlinCompilationProjection,
|
||||
compilationInfo: KotlinCompilationInfo,
|
||||
konanTarget: KonanTarget,
|
||||
artifactFile: Provider<File>,
|
||||
classifier: String?,
|
||||
producingTask: TaskProvider<*>,
|
||||
copy: Boolean = false
|
||||
) {
|
||||
val project = compilationProjection.project
|
||||
val project = compilationInfo.project
|
||||
if (!konanTarget.enabledOnCurrentHost) {
|
||||
return
|
||||
}
|
||||
|
||||
val apiElementsName = when (compilationProjection) {
|
||||
is KPM -> (compilationProjection.compilationData.owner as GradleKpmVariant).apiElementsConfiguration.name
|
||||
is KotlinCompilationProjection.TCS -> compilationProjection.compilation.target.apiElementsConfigurationName
|
||||
val apiElementsName = when (compilationInfo) {
|
||||
is KPM -> (compilationInfo.compilationData.owner as GradleKpmVariant).apiElementsConfiguration.name
|
||||
is KotlinCompilationInfo.TCS -> compilationInfo.compilation.target.apiElementsConfigurationName
|
||||
}
|
||||
|
||||
val apiElements = project.configurations.getByName(apiElementsName)
|
||||
@@ -568,8 +568,8 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
||||
// TODO: Someone remove this HACK PLEASE!
|
||||
val realArtifactFile = if (copy) {
|
||||
realProducingTask = project.project.registerTask<Copy>("copy${producingTask.name.capitalize()}") {
|
||||
val targetSubDirectory = compilationProjection.targetDisambiguationClassifier?.let { "$it/" }.orEmpty()
|
||||
it.destinationDir = project.project.buildDir.resolve("libs/$targetSubDirectory${compilationProjection.compilationName}")
|
||||
val targetSubDirectory = compilationInfo.targetDisambiguationClassifier?.let { "$it/" }.orEmpty()
|
||||
it.destinationDir = project.project.buildDir.resolve("libs/$targetSubDirectory${compilationInfo.compilationName}")
|
||||
it.from(artifactFile)
|
||||
it.dependsOn(producingTask)
|
||||
}
|
||||
@@ -581,7 +581,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget> : AbstractKotl
|
||||
|
||||
with(apiElements) {
|
||||
val klibArtifact = project.project.artifacts.add(apiElements.name, realArtifactFile) { artifact ->
|
||||
artifact.name = compilationProjection.compilationName
|
||||
artifact.name = compilationInfo.compilationName
|
||||
artifact.extension = "klib"
|
||||
artifact.type = "klib"
|
||||
artifact.classifier = classifier
|
||||
|
||||
+7
-7
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
||||
import org.jetbrains.kotlin.gradle.internal.ensureParentDirsCreated
|
||||
import org.jetbrains.kotlin.gradle.internal.isInIdeaSync
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
||||
import org.jetbrains.kotlin.gradle.plugin.cocoapods.asValidFrameworkName
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmMetadataCompilationData
|
||||
@@ -142,7 +142,7 @@ abstract class AbstractKotlinNativeCompile<
|
||||
protected abstract val projectLayout: ProjectLayout
|
||||
|
||||
@get:Internal
|
||||
internal abstract val compilation: KotlinCompilationProjection
|
||||
internal abstract val compilation: KotlinCompilationInfo
|
||||
|
||||
// region inputs/outputs
|
||||
@get:Input
|
||||
@@ -160,8 +160,8 @@ abstract class AbstractKotlinNativeCompile<
|
||||
@get:Internal
|
||||
protected val konanTarget by project.provider {
|
||||
when (val compilation = compilation) {
|
||||
is KotlinCompilationProjection.KPM -> (compilation.compilationData as GradleKpmNativeCompilationData<*>).konanTarget
|
||||
is KotlinCompilationProjection.TCS -> (compilation.compilation as AbstractKotlinNativeCompilation).konanTarget
|
||||
is KotlinCompilationInfo.KPM -> (compilation.compilationData as GradleKpmNativeCompilationData<*>).konanTarget
|
||||
is KotlinCompilationInfo.TCS -> (compilation.compilation as AbstractKotlinNativeCompilation).konanTarget
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,7 +315,7 @@ abstract class KotlinNativeCompile
|
||||
internal constructor(
|
||||
@get:Internal
|
||||
@Transient // can't be serialized for Gradle configuration cache
|
||||
final override val compilation: KotlinCompilationProjection,
|
||||
final override val compilation: KotlinCompilationInfo,
|
||||
private val objectFactory: ObjectFactory,
|
||||
private val providerFactory: ProviderFactory,
|
||||
private val execOperations: ExecOperations
|
||||
@@ -455,8 +455,8 @@ internal constructor(
|
||||
}
|
||||
|
||||
private val isMetadataCompilation: Boolean = when (compilation) {
|
||||
is KotlinCompilationProjection.KPM -> compilation.compilationData is GradleKpmMetadataCompilationData<*>
|
||||
is KotlinCompilationProjection.TCS -> compilation.compilation is KotlinMetadataCompilation<*>
|
||||
is KotlinCompilationInfo.KPM -> compilation.compilationData is GradleKpmMetadataCompilationData<*>
|
||||
is KotlinCompilationInfo.TCS -> compilation.compilation is KotlinMetadataCompilation<*>
|
||||
}
|
||||
|
||||
private fun createSharedCompilationDataOrNull(): SharedCompilationData? {
|
||||
|
||||
+10
-8
@@ -85,12 +85,14 @@ internal abstract class AbstractKotlinCompileConfig<TASK : AbstractKotlinCompile
|
||||
protected fun getClasspathSnapshotDir(task: TASK): Provider<Directory> =
|
||||
getKotlinBuildDir(task).map { it.dir("classpath-snapshot") }
|
||||
|
||||
constructor(compilationProjection: KotlinCompilationProjection) : this(
|
||||
compilationProjection.project, compilationProjection.project.topLevelExtension, compilationProjection.project.provider { compilationProjection.languageSettings }
|
||||
constructor(compilationInfo: KotlinCompilationInfo) : this(
|
||||
compilationInfo.project,
|
||||
compilationInfo.project.topLevelExtension,
|
||||
compilationInfo.project.provider { compilationInfo.languageSettings }
|
||||
) {
|
||||
configureTask { task ->
|
||||
task.friendPaths.from({ compilationProjection.friendPaths })
|
||||
compilationProjection.tcsOrNull?.compilation?.let { compilation ->
|
||||
task.friendPaths.from({ compilationInfo.friendPaths })
|
||||
compilationInfo.tcsOrNull?.compilation?.let { compilation ->
|
||||
task.friendSourceSets
|
||||
.value(providers.provider { compilation.associateWithClosure.map { it.name } })
|
||||
.disallowChanges()
|
||||
@@ -98,13 +100,13 @@ internal abstract class AbstractKotlinCompileConfig<TASK : AbstractKotlinCompile
|
||||
compilation.internal.configurations.pluginConfiguration
|
||||
)
|
||||
}
|
||||
task.moduleName.set(providers.provider { compilationProjection.moduleName })
|
||||
task.moduleName.set(providers.provider { compilationInfo.moduleName })
|
||||
@Suppress("DEPRECATION")
|
||||
task.ownModuleName.set(project.provider { compilationProjection.moduleName })
|
||||
task.sourceSetName.value(providers.provider { compilationProjection.compilationName })
|
||||
task.ownModuleName.set(project.provider { compilationInfo.moduleName })
|
||||
task.sourceSetName.value(providers.provider { compilationInfo.compilationName })
|
||||
task.multiPlatformEnabled.value(
|
||||
providers.provider {
|
||||
compilationProjection.project.plugins.any {
|
||||
compilationInfo.project.plugins.any {
|
||||
it is KotlinPlatformPluginBase ||
|
||||
it is AbstractKotlinMultiplatformPluginWrapper ||
|
||||
it is AbstractKotlinPm20PluginWrapper
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.KAPT_
|
||||
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.isIncludeCompileClasspath
|
||||
import org.jetbrains.kotlin.gradle.plugin.KaptExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
||||
import org.jetbrains.kotlin.gradle.tasks.CompilerPluginOptions
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompilerArgumentsProvider
|
||||
@@ -34,7 +34,7 @@ internal class KaptGenerateStubsConfig : BaseKotlinCompileConfig<KaptGenerateStu
|
||||
compilation: KotlinCompilation<*>,
|
||||
kotlinTaskProvider: TaskProvider<KotlinCompile>,
|
||||
kaptClassesDir: File
|
||||
) : super(KotlinCompilationProjection(compilation)) {
|
||||
) : super(KotlinCompilationInfo(compilation)) {
|
||||
configureFromExtension(project.extensions.getByType(KaptExtension::class.java))
|
||||
configureTask { task ->
|
||||
val kotlinCompileTask = kotlinTaskProvider.get()
|
||||
|
||||
+3
-4
@@ -5,7 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.tasks.configuration
|
||||
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.*
|
||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
||||
import org.jetbrains.kotlin.gradle.utils.klibModuleName
|
||||
@@ -14,7 +13,7 @@ import java.io.File
|
||||
internal typealias Kotlin2JsCompileConfig = BaseKotlin2JsCompileConfig<Kotlin2JsCompile>
|
||||
|
||||
internal open class BaseKotlin2JsCompileConfig<TASK : Kotlin2JsCompile>(
|
||||
compilation: KotlinCompilationProjection
|
||||
compilation: KotlinCompilationInfo
|
||||
) : AbstractKotlinCompileConfig<TASK>(compilation) {
|
||||
|
||||
init {
|
||||
@@ -69,7 +68,7 @@ internal open class BaseKotlin2JsCompileConfig<TASK : Kotlin2JsCompile>(
|
||||
|
||||
protected open fun configureAdditionalFreeCompilerArguments(
|
||||
task: TASK,
|
||||
compilation: KotlinCompilationProjection
|
||||
compilation: KotlinCompilationInfo
|
||||
) {
|
||||
task.enhancedFreeCompilerArgs.value(
|
||||
task.compilerOptions.freeCompilerArgs.map { freeArgs ->
|
||||
@@ -81,7 +80,7 @@ internal open class BaseKotlin2JsCompileConfig<TASK : Kotlin2JsCompile>(
|
||||
}
|
||||
|
||||
protected fun MutableList<String>.commonJsAdditionalCompilerFlags(
|
||||
compilation: KotlinCompilationProjection
|
||||
compilation: KotlinCompilationInfo
|
||||
) {
|
||||
if (contains(DISABLE_PRE_IR) &&
|
||||
!contains(PRODUCE_UNZIPPED_KLIB) &&
|
||||
|
||||
+11
-11
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.gradle.tasks.configuration
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCommonCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmAbstractFragmentMetadataCompilationData
|
||||
@@ -17,14 +17,14 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon
|
||||
import java.io.File
|
||||
|
||||
internal class KotlinCompileCommonConfig(
|
||||
private val compilationProjection: KotlinCompilationProjection,
|
||||
) : AbstractKotlinCompileConfig<KotlinCompileCommon>(compilationProjection) {
|
||||
private val compilationInfo: KotlinCompilationInfo,
|
||||
) : AbstractKotlinCompileConfig<KotlinCompileCommon>(compilationInfo) {
|
||||
init {
|
||||
configureTask { task ->
|
||||
task.expectActualLinker.value(
|
||||
providers.provider {
|
||||
(compilationProjection.origin as? KotlinCommonCompilation)?.isKlibCompilation == true ||
|
||||
compilationProjection.origin is GradleKpmMetadataCompilationData<*>
|
||||
(compilationInfo.origin as? KotlinCommonCompilation)?.isKlibCompilation == true ||
|
||||
compilationInfo.origin is GradleKpmMetadataCompilationData<*>
|
||||
}
|
||||
).disallowChanges()
|
||||
task.refinesMetadataPaths.from(getRefinesMetadataPaths(project)).disallowChanges()
|
||||
@@ -33,17 +33,17 @@ internal class KotlinCompileCommonConfig(
|
||||
|
||||
private fun getRefinesMetadataPaths(project: Project): Provider<Iterable<File>> {
|
||||
return project.provider {
|
||||
when (compilationProjection) {
|
||||
is KotlinCompilationProjection.TCS -> {
|
||||
val defaultKotlinSourceSet: KotlinSourceSet = compilationProjection.compilation.defaultSourceSet
|
||||
val metadataTarget = compilationProjection.compilation.target
|
||||
when (compilationInfo) {
|
||||
is KotlinCompilationInfo.TCS -> {
|
||||
val defaultKotlinSourceSet: KotlinSourceSet = compilationInfo.compilation.defaultSourceSet
|
||||
val metadataTarget = compilationInfo.compilation.target
|
||||
defaultKotlinSourceSet.internal.dependsOnClosure
|
||||
.mapNotNull { sourceSet -> metadataTarget.compilations.findByName(sourceSet.name)?.output?.classesDirs }
|
||||
.flatten()
|
||||
}
|
||||
|
||||
is KotlinCompilationProjection.KPM -> {
|
||||
val compilationData = compilationProjection.compilationData as GradleKpmAbstractFragmentMetadataCompilationData<*>
|
||||
is KotlinCompilationInfo.KPM -> {
|
||||
val compilationData = compilationInfo.compilationData as GradleKpmAbstractFragmentMetadataCompilationData<*>
|
||||
val fragment = compilationData.fragment
|
||||
project.files(
|
||||
fragment.refinesClosure.minus(fragment).map {
|
||||
|
||||
+4
-4
@@ -10,7 +10,7 @@ import org.gradle.api.attributes.Attribute
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtension
|
||||
import org.jetbrains.kotlin.gradle.internal.transforms.ClasspathEntrySnapshotTransform
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaCompilation
|
||||
@@ -60,8 +60,8 @@ internal open class BaseKotlinCompileConfig<TASK : KotlinCompile> : AbstractKotl
|
||||
}
|
||||
}
|
||||
|
||||
constructor(compilationProjection: KotlinCompilationProjection) : super(compilationProjection) {
|
||||
val javaTaskProvider = when (val compilation = compilationProjection.tcsOrNull?.compilation) {
|
||||
constructor(compilationInfo: KotlinCompilationInfo) : super(compilationInfo) {
|
||||
val javaTaskProvider = when (val compilation = compilationInfo.tcsOrNull?.compilation) {
|
||||
is KotlinJvmCompilation -> compilation.compileJavaTaskProvider
|
||||
is KotlinJvmAndroidCompilation -> compilation.compileJavaTaskProvider
|
||||
is KotlinWithJavaCompilation<*, *> -> compilation.compileJavaTaskProvider
|
||||
@@ -79,7 +79,7 @@ internal open class BaseKotlinCompileConfig<TASK : KotlinCompile> : AbstractKotl
|
||||
@Suppress("DEPRECATION")
|
||||
task.ownModuleName.value(
|
||||
providers.provider {
|
||||
task.parentKotlinOptions.orNull?.moduleName ?: compilationProjection.moduleName
|
||||
task.parentKotlinOptions.orNull?.moduleName ?: compilationInfo.moduleName
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.gradle.tasks.configuration
|
||||
|
||||
import org.gradle.api.InvalidUserDataException
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationProjection
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.*
|
||||
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||
|
||||
internal open class KotlinJsIrLinkConfig(
|
||||
private val binary: JsIrBinary
|
||||
) : BaseKotlin2JsCompileConfig<KotlinJsIrLink>(KotlinCompilationProjection(binary.compilation)) {
|
||||
) : BaseKotlin2JsCompileConfig<KotlinJsIrLink>(KotlinCompilationInfo(binary.compilation)) {
|
||||
|
||||
private val compilation
|
||||
get() = binary.compilation
|
||||
@@ -49,7 +49,7 @@ internal open class KotlinJsIrLinkConfig(
|
||||
|
||||
override fun configureAdditionalFreeCompilerArguments(
|
||||
task: KotlinJsIrLink,
|
||||
compilation: KotlinCompilationProjection
|
||||
compilation: KotlinCompilationInfo
|
||||
) {
|
||||
task.enhancedFreeCompilerArgs.value(
|
||||
task.compilerOptions.freeCompilerArgs.zip(task.modeProperty) { freeArgs, mode ->
|
||||
@@ -85,7 +85,7 @@ internal open class KotlinJsIrLinkConfig(
|
||||
}
|
||||
|
||||
private fun MutableList<String>.configureOptions(
|
||||
compilation: KotlinCompilationProjection,
|
||||
compilation: KotlinCompilationInfo,
|
||||
vararg additionalCompilerArgs: String
|
||||
) {
|
||||
additionalCompilerArgs.forEach { arg ->
|
||||
|
||||
Reference in New Issue
Block a user