20種類のタスクを持つビルドスクリプトがあります。各タスクはいくつかのコマンドを実行し、各タスクはいくつかの環境変数を必要とします。いくつかの環境変数はすべてのタスクで共通ですが、いくつかの環境変数は共通ではありません。すべてのタスクの上にそれらの共通の環境変数を設定する方法はありますか?メソッド/タスクに環境変数を置き、それらの環境変数を必要とするタスク内で最初のステップとして呼び出すことができますか?グラブ内からenvirnonment変数を設定します。
task task1 (type:Exec) {
environment COMMON_ENV, VALUE1
commandLine 'touch', 'xyz100.txt'
}
task task2 (type:Exec) {
environment COMMON_ENV, VALUE1
commandLine 'touch', 'xyz200.txt'
}
この例では、task1とtask2の両方に同じ環境変数COMMON_ENVが必要です。ですから、どのように各タスクで定義するのではなく、共通の場所に定義することができますか。
Javaプロジェクトではないことを覚えておいてください。
次は、あなたが必要とするすべてが同じように、さらにそれらを設定することで、同じ型を持つすべてのタスクのためのいくつかの一般的なプロパティを設定することが可能であるすべてのタスク
task setEnv(type: Exec) {
environment COMMON_ENV, VALUE1
}
task task1 (type:Exec, dependsOn: setEnv) {
commandLine 'touch', 'xyz100.txt'//this task does not know COMMON_ENV, though it 'dependsOn' setEnv task
}