如何使用Gradle将编译器参数传递给Kotlin Compiler

时间:2015-08-06 05:12:35

标签: gradle kotlin

我正在使用Kotlin gradle插件编译带有Gradle的Kotlin库jar:

apply plugin: 'kotlin'

我试图找到一种方法将简单的-include-runtime编译器参数传递给kotlin编译器。我似乎无法找到任何关于此的文档。我试过模仿java插件,但这似乎没有用。 Here是关于使用命令行编译器的一些文档,但是gradle文档没有提及有关传递编译器参数的任何内容。

3 个答案:

答案 0 :(得分:11)

您可以在kotlinOptions类型的任务中在KotlinCompile闭包内指定编译器args。对于他们所有人,例如:

allprojects {
    ...

    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = '1.6'
            freeCompilerArgs += '-include-runtime'
        }
    }
}

Kotlin docs: using Gradle

答案 1 :(得分:1)

试试这个:

compileKotlin {
    kotlinOptions.includeRuntime = true
}

UPD btw这个确切的选项includeRuntime无法正常工作,因为它不是Gradle方式。在Gradle中有很多选项可以构建具有依赖关系的jar:Gradle – Create a Jar file with dependenciesGradle Shadow

答案 2 :(得分:0)

如果有人正在使用kotlin DSL,您也可以尝试以下方法:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions.includeRuntime = true