7ade68452e
Separated dist/klib libraries into common and platform parts to exclude name clash.
45 lines
1.4 KiB
Groovy
45 lines
1.4 KiB
Groovy
apply plugin: 'konan'
|
|
|
|
buildscript {
|
|
dependencies {
|
|
classpath files(project.file('../tools/kotlin-native-gradle-plugin/build/libs').listFiles().findAll {
|
|
it.name.endsWith('.jar')
|
|
}.collect().first().absolutePath)
|
|
}
|
|
}
|
|
|
|
def taskName = "${gradle.startParameter.projectProperties['name']}"
|
|
String konanHome = gradle.startParameter.projectProperties['konan.home']
|
|
List<String> libs = gradle.startParameter.projectProperties.libraries.split(" ").findAll { !it.isEmpty() }
|
|
String targetName = gradle.startParameter.projectProperties.target
|
|
|
|
konan.targets = [targetName]
|
|
|
|
konanArtifacts {
|
|
interop("$taskName") {
|
|
defFile gradle.startParameter.projectProperties.defFile
|
|
noDefaultLibs true
|
|
libraries {
|
|
files libs.collect { "$konanHome/klib/platform/$targetName/$it" }
|
|
}
|
|
}
|
|
}
|
|
|
|
def suffix = gradle.startParameter.projectProperties['suffix']
|
|
def klibProgram = suffix?"$konanHome/bin/klib.$suffix" : "$konanHome/bin/klib"
|
|
|
|
task klibInstall(type:Exec) {
|
|
String repo = "$konanHome/klib/platform/$targetName"
|
|
doFirst {
|
|
new File(repo).mkdirs()
|
|
}
|
|
|
|
dependsOn konanArtifacts."$taskName"."$targetName"
|
|
commandLine klibProgram,
|
|
'install',
|
|
konanArtifacts."$taskName"."$targetName".artifact,
|
|
'-target', gradle.startParameter.projectProperties.target,
|
|
'-repository',
|
|
repo
|
|
}
|