如何在Gradle 6.1.1中使用Gradle Kotlin DSL运行命令行命令?
在阅读了多篇关于这个主题和Gradle手册的文章之后,我正在尝试运行下面的代码块。我运行下面的命令并得到以下错误:execCommand==null 关于我用下面的代码块做错了什么,有什么想法吗如何在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.....")
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代码的任务?我正在尝试作为构建过程的一部分运行命令行过程。