题
我想定义一个新的任务叫 dbStatus
这调用(或扩展?) run
, ,而只是复盖 args
财产。
apply plugin: 'application'
run {
args "server", "service.yml"
}
task(dbStatus, type: run) {
args "db", "status", "service.yml
}
这不起作用,因为 "run"
不是有效的任务类。有没有快速的方法来扩展一个任务,只是复盖一个属性?
更新资料:决议案
不幸的是,我不得不定义一个全新的 JavaExec
任务,并重新创建逻辑 run
被配置为这样做。这是我想出来的:
task(dbStatus, type: JavaExec) {
main mainClassName
classpath sourceSets.main.runtimeClasspath
args "db", "status", "service.yml"
}
我不认为这是完全一样的 run
, ,因为它不是针对构建运行 jar
我不相信,但它符合我的目的。
解决方案
任务不能以这种方式"扩展"。相反,声明另一个任务并根据需要进行配置。(通常一次配置多个任务以避免代码重复。)
不隶属于 StackOverflow