如何在Gradle 6.1.1中使用Gradle Kotlin DSL运行命令行命令?

时间:2020-02-04 15:57:56

标签: gradle kotlin gradle-kotlin-dsl

在阅读了有关该主题和Gradle手册的多篇文章之后,我试图运行下面的代码块。我在下面运行并得到以下错误:execCommand == null!

关于以下代码块我在做什么错的任何想法?

open class BuildDataClassFromAvro : org.gradle.api.tasks.Exec() {

    @TaskAction
    fun build() {
        println("Building data classes.....")
        commandLine("date")
    }
}

tasks.register<BuildDataClassFromAvro>("buildFromAvro"){

        description = "Do stuff"

}

1 个答案:

答案 0 :(得分:6)

要定义使用Gradle Kotlin DSL运行命令行的Gradle任务,请在构建文件中执行以下操作:

task<Exec>("buildFromAvro") {
    commandLine("echo", "test")
}

在上面的示例中,commandLine将仅运行echo,输出值test。因此,将其替换为您想要实际执行的操作。

然后您可以使用gradle buildFromAvro

此处有更多信息:https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Exec.html