[Gradle][Minor] Inline usage of addSourcesToKotlinNativeCompileTask

^KT-54312 Verification Pending
This commit is contained in:
Sebastian Sellmair
2022-10-24 13:25:24 +02:00
committed by Space Team
parent 536448eb32
commit bb2a52a10c
2 changed files with 13 additions and 26 deletions
@@ -12,11 +12,12 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.addSourcesToKotlinCompileTask import org.jetbrains.kotlin.gradle.plugin.mpp.addSourcesToKotlinCompileTask
import org.jetbrains.kotlin.gradle.plugin.mpp.addSourcesToKotlinNativeCompileTask
import org.jetbrains.kotlin.gradle.plugin.sources.defaultSourceSetLanguageSettingsChecker import org.jetbrains.kotlin.gradle.plugin.sources.defaultSourceSetLanguageSettingsChecker
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation
import org.jetbrains.kotlin.tooling.core.extrasKeyOf import org.jetbrains.kotlin.tooling.core.extrasKeyOf
import org.jetbrains.kotlin.tooling.core.getOrPut import org.jetbrains.kotlin.tooling.core.getOrPut
import java.util.concurrent.Callable
internal interface KotlinCompilationSourceSetInclusion { internal interface KotlinCompilationSourceSetInclusion {
fun include(compilation: InternalKotlinCompilation<*>, sourceSet: KotlinSourceSet) fun include(compilation: InternalKotlinCompilation<*>, sourceSet: KotlinSourceSet)
@@ -102,13 +103,17 @@ internal class DefaultKotlinCompilationSourceSetInclusion(
} }
object NativeAddSourcesToCompileTask : AddSourcesToCompileTask { object NativeAddSourcesToCompileTask : AddSourcesToCompileTask {
override fun addSources(compilation: KotlinCompilation<*>, sourceSet: KotlinSourceSet, addAsCommonSources: Lazy<Boolean>) = override fun addSources(compilation: KotlinCompilation<*>, sourceSet: KotlinSourceSet, addAsCommonSources: Lazy<Boolean>) {
addSourcesToKotlinNativeCompileTask( val sourceFiles = { sourceSet.kotlin }
project = compilation.project, compilation.project.tasks.withType(KotlinNativeCompile::class.java)
taskName = compilation.compileKotlinTaskName, .matching { it.name == compilation.compileKotlinTaskName }
sourceFiles = { sourceSet.kotlin }, .configureEach { task ->
addAsCommonSources = addAsCommonSources task.setSource(sourceFiles)
) task.commonSources.from(
compilation.project.files(Callable { if (addAsCommonSources.value) sourceFiles() else emptyList() })
)
}
}
} }
object DefaultAddSourcesToCompileTask : AddSourcesToCompileTask { object DefaultAddSourcesToCompileTask : AddSourcesToCompileTask {
@@ -122,6 +127,4 @@ internal class DefaultKotlinCompilationSourceSetInclusion(
sources = { sourceSet.kotlin } sources = { sourceSet.kotlin }
) )
} }
} }
@@ -17,8 +17,6 @@ import org.jetbrains.kotlin.gradle.targets.native.NativeCompilerOptions
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.target.KonanTarget
import java.io.File
import java.util.concurrent.Callable
import javax.inject.Inject import javax.inject.Inject
abstract class AbstractKotlinNativeCompilation internal constructor( abstract class AbstractKotlinNativeCompilation internal constructor(
@@ -79,19 +77,5 @@ open class KotlinSharedNativeCompilation @Inject internal constructor(
override val target: KotlinMetadataTarget = compilation.target as KotlinMetadataTarget override val target: KotlinMetadataTarget = compilation.target as KotlinMetadataTarget
} }
// TODO SEB: Find home
internal val Project.nativeUseEmbeddableCompilerJar: Boolean internal val Project.nativeUseEmbeddableCompilerJar: Boolean
get() = PropertiesProvider(this).nativeUseEmbeddableCompilerJar get() = PropertiesProvider(this).nativeUseEmbeddableCompilerJar
//TODO SEB: Find home for fuctnion
internal fun addSourcesToKotlinNativeCompileTask(
project: Project,
taskName: String,
sourceFiles: () -> Iterable<File>,
addAsCommonSources: Lazy<Boolean>
) {
project.tasks.withType(KotlinNativeCompile::class.java).matching { it.name == taskName }.configureEach { task ->
task.setSource(sourceFiles)
task.commonSources.from(project.files(Callable { if (addAsCommonSources.value) sourceFiles() else emptyList() }))
}
}