既存の卒業のタスクを拡張し、設定をオーバーライドします
-
21-12-2019 - |
質問
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
とまったく同じではないとは限りません。これはBuild jar
に対して稼働していないため、私が信じていないが、目的で機能します。
解決
タスクはこのように「拡張」できません。代わりに、別のタスクを宣言し、必要に応じて設定します。(コードの重複を避けるために複数のタスクを一度に設定するのが一般的です。)
所属していません StackOverflow