我想定义一个新的任务叫 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 我不相信,但它符合我的目的。

有帮助吗?

解决方案

任务不能以这种方式"扩展"。相反,声明另一个任务并根据需要进行配置。(通常一次配置多个任务以避免代码重复。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top