Gradle, native: Allow setting destination directory for binaries

Issue #KT-29395 fixed
This commit is contained in:
Ilya Matveev
2019-12-13 13:12:04 +07:00
parent df46dfc63d
commit 2c66c3b0b6
3 changed files with 11 additions and 2 deletions
@@ -122,7 +122,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget>(
group = BasePlugin.BUILD_GROUP
description = "Links ${binary.outputKind.description} '${binary.name}' for a target '${target.name}'."
enabled = binary.konanTarget.enabledOnCurrentHost
destinationDir = binary.outputDirectory
addCompilerPlugins()
if (binary !is TestExecutable) {
@@ -83,7 +83,7 @@ sealed class NativeBinary(
// Output access.
// TODO: Provide output configurations and integrate them with Gradle Native.
val outputDirectory: File = with(project) {
var outputDirectory: File = with(project) {
val targetSubDirectory = target.disambiguationClassifier?.let { "$it/" }.orEmpty()
buildDir.resolve("bin/$targetSubDirectory${this@NativeBinary.name}")
}
@@ -425,6 +425,15 @@ open class KotlinNativeLink : AbstractKotlinNativeCompile<KotlinCommonToolOption
project.files(intermediateLibrary.get()).asFileTree
}
@OutputDirectory
override fun getDestinationDir(): File {
return binary.outputDirectory
}
override fun setDestinationDir(destinationDir: File) {
binary.outputDirectory = destinationDir
}
@get:Input
override val outputKind: CompilerOutputKind
get() = binary.outputKind.compilerOutputKind