[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.mpp.InternalKotlinCompilation
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.tasks.KotlinNativeCompile
import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation
import org.jetbrains.kotlin.tooling.core.extrasKeyOf
import org.jetbrains.kotlin.tooling.core.getOrPut
import java.util.concurrent.Callable
internal interface KotlinCompilationSourceSetInclusion {
fun include(compilation: InternalKotlinCompilation<*>, sourceSet: KotlinSourceSet)
@@ -102,13 +103,17 @@ internal class DefaultKotlinCompilationSourceSetInclusion(
}
object NativeAddSourcesToCompileTask : AddSourcesToCompileTask {
override fun addSources(compilation: KotlinCompilation<*>, sourceSet: KotlinSourceSet, addAsCommonSources: Lazy<Boolean>) =
addSourcesToKotlinNativeCompileTask(
project = compilation.project,
taskName = compilation.compileKotlinTaskName,
sourceFiles = { sourceSet.kotlin },
addAsCommonSources = addAsCommonSources
)
override fun addSources(compilation: KotlinCompilation<*>, sourceSet: KotlinSourceSet, addAsCommonSources: Lazy<Boolean>) {
val sourceFiles = { sourceSet.kotlin }
compilation.project.tasks.withType(KotlinNativeCompile::class.java)
.matching { it.name == compilation.compileKotlinTaskName }
.configureEach { task ->
task.setSource(sourceFiles)
task.commonSources.from(
compilation.project.files(Callable { if (addAsCommonSources.value) sourceFiles() else emptyList() })
)
}
}
}
object DefaultAddSourcesToCompileTask : AddSourcesToCompileTask {
@@ -122,6 +127,4 @@ internal class DefaultKotlinCompilationSourceSetInclusion(
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.utils.lowerCamelCaseName
import org.jetbrains.kotlin.konan.target.KonanTarget
import java.io.File
import java.util.concurrent.Callable
import javax.inject.Inject
abstract class AbstractKotlinNativeCompilation internal constructor(
@@ -79,19 +77,5 @@ open class KotlinSharedNativeCompilation @Inject internal constructor(
override val target: KotlinMetadataTarget = compilation.target as KotlinMetadataTarget
}
// TODO SEB: Find home
internal val Project.nativeUseEmbeddableCompilerJar: Boolean
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() }))
}
}