gradle-plugin Don't use ':' in interop command line
This commit is contained in:
@@ -174,30 +174,4 @@ open class KonanCompilerConfig(
|
||||
fun enableAssertions() = with(compilationTask) {
|
||||
enableAssertions = true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -63,37 +63,6 @@ open class KonanCompileTask: DefaultTask() {
|
||||
@Optional @Input var apiVersion : String? = null
|
||||
internal set
|
||||
|
||||
// Useful extensions and functions ---------------------------------------
|
||||
|
||||
protected fun MutableList<String>.addArg(parameter: String, value: String) {
|
||||
add(parameter)
|
||||
add(value)
|
||||
}
|
||||
|
||||
protected fun MutableList<String>.addArgIfNotNull(parameter: String, value: String?) {
|
||||
if (value != null) {
|
||||
addArg(parameter, value)
|
||||
}
|
||||
}
|
||||
|
||||
protected fun MutableList<String>.addKey(key: String, enabled: Boolean) {
|
||||
if (enabled) {
|
||||
add(key)
|
||||
}
|
||||
}
|
||||
|
||||
protected fun MutableList<String>.addFileArgs(parameter: String, values: FileCollection) {
|
||||
values.files.forEach {
|
||||
addArg(parameter, it.canonicalPath)
|
||||
}
|
||||
}
|
||||
|
||||
protected fun MutableList<String>.addFileArgs(parameter: String, values: Collection<FileCollection>) {
|
||||
values.forEach {
|
||||
addFileArgs(parameter, it)
|
||||
}
|
||||
}
|
||||
|
||||
// Task action ------------------------------------------------------------
|
||||
|
||||
protected fun buildArgs() = mutableListOf<String>().apply {
|
||||
@@ -102,9 +71,7 @@ open class KonanCompileTask: DefaultTask() {
|
||||
addFileArgs("-library", libraries)
|
||||
addFileArgs("-nativelibrary", nativeLibraries)
|
||||
|
||||
linkerOpts.forEach {
|
||||
addArg("-linkerArgs", it)
|
||||
}
|
||||
addListArg("-linkerArgs", linkerOpts)
|
||||
|
||||
addArgIfNotNull("-target", target)
|
||||
addArgIfNotNull("-language-version", languageVersion)
|
||||
|
||||
@@ -68,31 +68,26 @@ open class KonanInteropTask: DefaultTask() {
|
||||
}
|
||||
|
||||
protected fun buildArgs() = mutableListOf<String>().apply {
|
||||
add("-properties:${project.konanHome}/konan/konan.properties")
|
||||
add("-flavor:native")
|
||||
add("-generated:$stubsDir")
|
||||
add("-natives:$libsDir")
|
||||
addArg("-properties", "${project.konanHome}/konan/konan.properties")
|
||||
addArg("-flavor", "native")
|
||||
|
||||
target?.let { add("-target:$target") }
|
||||
defFile?.let { add("-def:$it") }
|
||||
pkg?.let { add("-pkg:$it") }
|
||||
linker?.let { add("-linker:$it") }
|
||||
addArg("-generated", stubsDir.canonicalPath)
|
||||
addArg("-natives", libsDir.canonicalPath)
|
||||
|
||||
headers.forEach {
|
||||
add("-h:$it")
|
||||
}
|
||||
addArgIfNotNull("-target", target)
|
||||
addArgIfNotNull("-def", defFile?.canonicalPath)
|
||||
addArgIfNotNull("-pkg", pkg)
|
||||
addArgIfNotNull("-linker", linker)
|
||||
|
||||
compilerOpts.forEach {
|
||||
add("-copt:$it")
|
||||
}
|
||||
addFileArgs("-h", headers)
|
||||
|
||||
addListArg("-copt", compilerOpts)
|
||||
|
||||
val linkerOpts = mutableListOf<String>().apply { addAll(linkerOpts) }
|
||||
linkFiles.forEach {
|
||||
linkerOpts.addAll(it.files.map { it.canonicalPath })
|
||||
}
|
||||
linkerOpts.forEach {
|
||||
add("-lopt:$it")
|
||||
}
|
||||
addListArg("-lopt", linkerOpts)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import org.gradle.api.DefaultTask
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.internal.AbstractNamedDomainObjectContainer
|
||||
import org.gradle.api.internal.project.ProjectInternal
|
||||
import org.gradle.internal.reflect.Instantiator
|
||||
@@ -48,6 +49,43 @@ class KonanInteropContainer(val project: ProjectInternal): AbstractNamedDomainOb
|
||||
KonanInteropConfig(name, project)
|
||||
}
|
||||
|
||||
// Useful extensions and functions ---------------------------------------
|
||||
|
||||
internal fun MutableList<String>.addArg(parameter: String, value: String) {
|
||||
add(parameter)
|
||||
add(value)
|
||||
}
|
||||
|
||||
internal fun MutableList<String>.addArgIfNotNull(parameter: String, value: String?) {
|
||||
if (value != null) {
|
||||
addArg(parameter, value)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun MutableList<String>.addKey(key: String, enabled: Boolean) {
|
||||
if (enabled) {
|
||||
add(key)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun MutableList<String>.addFileArgs(parameter: String, values: FileCollection) {
|
||||
values.files.forEach {
|
||||
addArg(parameter, it.canonicalPath)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun MutableList<String>.addFileArgs(parameter: String, values: Collection<FileCollection>) {
|
||||
values.forEach {
|
||||
addFileArgs(parameter, it)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun MutableList<String>.addListArg(parameter: String, values: List<String>) {
|
||||
if (values.isNotEmpty()) {
|
||||
addArg(parameter, values.joinToString(separator = " "))
|
||||
}
|
||||
}
|
||||
|
||||
class KonanPlugin: Plugin<ProjectInternal> {
|
||||
|
||||
companion object {
|
||||
|
||||
Reference in New Issue
Block a user