[Minor] Add commonizer classpath to HierarchicalNativeDistributionCommonizerTask
This commit is contained in:
+2
-2
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.kotlinSourceSetsIncludingDefault
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.resolveAllDependsOnSourceSets
|
||||
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerTask.CInteropGist
|
||||
import org.jetbrains.kotlin.gradle.tasks.CInteropProcess
|
||||
import org.jetbrains.kotlin.gradle.utils.fileProvider
|
||||
import org.jetbrains.kotlin.gradle.utils.filesProvider
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import java.io.File
|
||||
|
||||
@@ -180,7 +180,7 @@ private fun CInteropProcess.toGist(): CInteropGist {
|
||||
konanTarget = konanTarget,
|
||||
sourceSets = project.provider { settings.compilation.kotlinSourceSetsIncludingDefault },
|
||||
libraryFile = outputFileProvider,
|
||||
dependencies = project.fileProvider { settings.dependencyFiles }.filter(File::isValidDependency)
|
||||
dependencies = project.filesProvider { settings.dependencyFiles }.filter(File::isValidDependency)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+3
-9
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.native.internal
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.ConfigurableFileCollection
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.jetbrains.kotlin.commonizer.HierarchicalCommonizerOutputLayout
|
||||
import org.jetbrains.kotlin.commonizer.KonanDistribution
|
||||
@@ -16,7 +15,7 @@ import org.jetbrains.kotlin.compilerRunner.konanHome
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.targets.metadata.getMetadataCompilationForSourceSet
|
||||
import java.io.File
|
||||
import org.jetbrains.kotlin.gradle.utils.filesProvider
|
||||
|
||||
internal fun Project.setUpHierarchicalKotlinNativePlatformDependencies() {
|
||||
val task = commonizeNativeDistributionHierarchicalTask?.get() ?: return
|
||||
@@ -31,8 +30,8 @@ internal fun Project.setUpHierarchicalKotlinNativePlatformDependencies() {
|
||||
val rootOutputDirectory = task.getRootOutputDirectory(rootTarget)
|
||||
val targetOutputDirectory = HierarchicalCommonizerOutputLayout.getTargetDirectory(rootOutputDirectory, target)
|
||||
|
||||
val dependencies = project.lazyFiles { targetOutputDirectory.listFiles().orEmpty().toList() }.builtBy(task)
|
||||
val stdlib = project.lazyFiles { listOf(konanDistribution.stdlib) }
|
||||
val dependencies = project.filesProvider { targetOutputDirectory.listFiles().orEmpty().toList() }.builtBy(task)
|
||||
val stdlib = project.filesProvider { listOf(konanDistribution.stdlib) }
|
||||
addDependencies(sourceSet, dependencies)
|
||||
addDependencies(sourceSet, stdlib)
|
||||
}
|
||||
@@ -45,10 +44,5 @@ private fun Project.addDependencies(sourceSet: KotlinSourceSet, libraries: FileC
|
||||
dependencies.add(sourceSet.implementationMetadataConfigurationName, libraries)
|
||||
}
|
||||
|
||||
|
||||
private fun Project.lazyFiles(provider: () -> Iterable<File>): ConfigurableFileCollection {
|
||||
return project.files(project.provider { provider() })
|
||||
}
|
||||
|
||||
private val Project.konanDistribution: KonanDistribution
|
||||
get() = KonanDistribution(project.file(konanHome))
|
||||
|
||||
+14
-1
@@ -50,6 +50,19 @@ internal open class HierarchicalNativeDistributionCommonizerTask : DefaultTask()
|
||||
val outputDirectories: Set<File>
|
||||
get() = rootCommonizerTargets.map(::getRootOutputDirectory).toSet()
|
||||
|
||||
@get:Internal
|
||||
internal val commonizerRunner = KotlinNativeCommonizerToolRunner(project)
|
||||
|
||||
@get:Classpath
|
||||
@Suppress("unused") // Only for up-to-date checker. The directory with the original platform libs.
|
||||
internal val commonizerClasspath: Set<File>
|
||||
get() = commonizerRunner.classpath
|
||||
|
||||
@get:Input
|
||||
@Suppress("unused") // Only for up-to-date checker. The directory with the original platform libs.
|
||||
internal val commonizerJvmArgs: List<String>
|
||||
get() = commonizerRunner.getCustomJvmArgs()
|
||||
|
||||
internal fun getRootOutputDirectory(target: SharedCommonizerTarget): File {
|
||||
val kotlinVersion = checkNotNull(project.getKotlinPluginVersion()) { "Missing Kotlin Plugin version" }
|
||||
|
||||
@@ -69,7 +82,7 @@ internal open class HierarchicalNativeDistributionCommonizerTask : DefaultTask()
|
||||
protected fun run() {
|
||||
for (target in rootCommonizerTargets) {
|
||||
getRootOutputDirectory(target).deleteRecursively()
|
||||
KotlinNativeCommonizerToolRunner(project).run(getCommandLineArguments(target))
|
||||
commonizerRunner.run(getCommandLineArguments(target))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.gradle.utils
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.file.ConfigurableFileCollection
|
||||
import org.gradle.api.file.RegularFileProperty
|
||||
import org.gradle.api.provider.Property
|
||||
import org.gradle.api.provider.Provider
|
||||
@@ -49,6 +49,6 @@ internal fun Project.newFileProperty(initialize: (() -> File)? = null): RegularF
|
||||
}
|
||||
}
|
||||
|
||||
internal fun Project.fileProvider(provider: () -> Any) : FileCollection {
|
||||
internal fun Project.filesProvider(provider: () -> Any) : ConfigurableFileCollection {
|
||||
return project.files(project.provider(provider))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user