[Gradle, K/N] Compute binaries output dir lazily
#KT-52303 Fixed
This commit is contained in:
committed by
Space
parent
5054e301be
commit
d7c1f6765e
+8
-2
@@ -13,6 +13,8 @@ import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.Dependency
|
||||
import org.gradle.api.attributes.Attribute
|
||||
import org.gradle.api.attributes.HasAttributes
|
||||
import org.gradle.api.file.Directory
|
||||
import org.gradle.api.file.DirectoryProperty
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.tasks.AbstractExecTask
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
@@ -97,9 +99,13 @@ sealed class NativeBinary(
|
||||
|
||||
// Output access.
|
||||
// TODO: Provide output configurations and integrate them with Gradle Native.
|
||||
var outputDirectory: File = with(project) {
|
||||
var outputDirectory: File
|
||||
get() = outputDirectoryProperty.get().asFile
|
||||
set(value) = outputDirectoryProperty.set(value)
|
||||
|
||||
val outputDirectoryProperty: DirectoryProperty = with(project) {
|
||||
val targetSubDirectory = target.disambiguationClassifier?.let { "$it/" }.orEmpty()
|
||||
buildDir.resolve("bin/$targetSubDirectory${this@NativeBinary.name}")
|
||||
objects.directoryProperty().convention(layout.buildDirectory.dir("bin/$targetSubDirectory${this@NativeBinary.name}"))
|
||||
}
|
||||
|
||||
val outputFile: File by lazy {
|
||||
|
||||
+1
-3
@@ -501,9 +501,7 @@ constructor(
|
||||
disallowSourceChanges()
|
||||
}
|
||||
|
||||
override val destinationDirectory: DirectoryProperty = objectFactory.directoryProperty().apply {
|
||||
set(binary.outputDirectory)
|
||||
}
|
||||
override val destinationDirectory: DirectoryProperty = binary.outputDirectoryProperty
|
||||
|
||||
override val outputKind: CompilerOutputKind
|
||||
@Input get() = binary.outputKind.compilerOutputKind
|
||||
|
||||
Reference in New Issue
Block a user