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

Dan*_*rgo 7 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"

}
Run Code Online (Sandbox Code Playgroud)

Yon*_*bbs 11

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

task<Exec>("buildFromAvro") {
    commandLine("echo", "test")
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,commandLine将简单地运行echo,输出值test。因此,将其替换为您想要实际执行的任何操作。

然后你可以运行它 gradle buildFromAvro

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