Files
kotlin-fork/klib/platform.gradle
T
Alexander Gorshenev 7ade68452e Brought back our ability to have non-platform specific default libraries.
Separated dist/klib libraries into common and platform parts to exclude name clash.
2017-10-23 16:03:20 +03:00

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
}