私は階層的なgradle3.1プロジェクトを持っています。これは次のようになります。
root
- build.gradle
- settings.gradle
- server (Java + WAR plugin)
- build.gradle
- client (Node plugin)
- build.gradle
したがって、settings.gradle
は次のようになります。
include ':server', ':client'
ここで実行したいのは、:client:build
タスクの出力を*.war
タスクによって生成された:server:war
ファイルにバンドルすることです。そのためには、:server:war
の出力ファイルを:client:build
にコピーする必要があるときに常に存在するようにするために、:client:build
から:server:war
への依存関係が必要です。仕事。
質問は:これはどのように機能しますか?
ここで達成したいこと::server:war
が実行されるたびに、:client:build
が実行されますfirst。
// in server/build.gradle
task war {
dependsOn ':client:build'
}
私も試しました:
// in server/build.gradle
war.dependsOn = ':client:build'
...そしてまた:
// in server/build.gradle
task war(dependsOn: ':client:build') {
}
上記の試みはどれも機能しません。私が間違っていることについて何か考えはありますか?
試してみてください:
war.dependsOn ':client:build'
そして:
task war {
dependsOn ':client:build'
}
war
と呼ばれる新しいタスクを定義します
そして:
war.dependsOn = ':client:build'
理論的には this メソッドを呼び出しますが、引数の型が間違っています
そして:
task war(dependsOn: ':client:build') {
}
ここでは、新しいタスクも定義します。