我正在使用Kotlin gradle插件编译带有Gradle的Kotlin库jar:
apply plugin: 'kotlin'
我试图找到一种方法将简单的-include-runtime
编译器参数传递给kotlin编译器。我似乎无法找到任何关于此的文档。我试过模仿java插件,但这似乎没有用。 Here是关于使用命令行编译器的一些文档,但是gradle文档没有提及有关传递编译器参数的任何内容。
答案 0 :(得分:11)
您可以在kotlinOptions
类型的任务中在KotlinCompile
闭包内指定编译器args。对于他们所有人,例如:
allprojects {
...
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = '1.6'
freeCompilerArgs += '-include-runtime'
}
}
}
答案 1 :(得分:1)
试试这个:
compileKotlin {
kotlinOptions.includeRuntime = true
}
UPD btw这个确切的选项includeRuntime
无法正常工作,因为它不是Gradle方式。在Gradle中有很多选项可以构建具有依赖关系的jar:Gradle – Create a Jar file with dependencies,Gradle Shadow
答案 2 :(得分:0)
如果有人正在使用kotlin DSL,您也可以尝试以下方法:
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions.includeRuntime = true