Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Gradle 6.1.1中使用Gradle Kotlin DSL运行命令行命令?_Gradle_Kotlin_Gradle Kotlin Dsl - Fatal编程技术网

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

如何在Gradle 6.1.1中使用Gradle Kotlin DSL运行命令行命令?,gradle,kotlin,gradle-kotlin-dsl,Gradle,Kotlin,Gradle Kotlin Dsl,在阅读了多篇关于这个主题和Gradle手册的文章之后,我正在尝试运行下面的代码块。我运行下面的命令并得到以下错误:execCommand==null 关于我用下面的代码块做错了什么,有什么想法吗 open class BuildDataClassFromAvro : org.gradle.api.tasks.Exec() { @TaskAction fun build() { println("Building data classes.....")

在阅读了多篇关于这个主题和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"

}
开放类BuildDataClassFromAvro:org.gradle.api.tasks.Exec(){
@任务行动
趣味建筑(){
println(“构建数据类…”)
命令行(“日期”)
}
}
任务。注册(“buildFromAvro”){
description=“做事”
}

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

task<Exec>("buildFromAvro") {
    commandLine("echo", "test")
}
任务(“buildFromAvro”){
命令行(“echo”、“test”)
}
在上面的示例中,
命令行
将简单地运行
echo
,输出值
test
。所以,用你想做的任何事情来代替它

然后可以使用
gradlebuildfromavro


更多信息请点击此处:

您想让任务做什么?
Exec
任务用于运行cmd行进程,因此您不需要实际创建一个Kotlin类对其进行子类化:而是创建一个类型为
Exec
的Gradle任务,并在其中定义
命令行
(请参阅)。您正在尝试运行cmd行进程吗?或者您正在尝试编写一个将运行某些自定义Kotlin代码的任务?我正在尝试作为构建过程的一部分运行命令行过程。