既存の卒業のタスクを拡張し、設定をオーバーライドします

StackOverflow https://stackoverflow.com//questions/25026632

  •  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に対して稼働していないため、私が信じていないが、目的で機能します。

役に立ちましたか?

解決

タスクはこのように「拡張」できません。代わりに、別のタスクを宣言し、必要に応じて設定します。(コードの重複を避けるために複数のタスクを一度に設定するのが一般的です。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top