23

アプリケーションをサーバーにデプロイするタスクを作成しています。ただし、このタスクは、現在のgitブランチがマスターブランチである場合にのみ実行したいと思います。現在のgitブランチを取得するにはどうすればよいですか?

gradle-gitアプローチ:

タスクの下にメソッドを持つgradle-gitプラグインがあることは知っていますが、実行しようとするといつでもgetWorkingBranch()GitBranchList

task getBranchName(type: GitBranchList) {
   print getWorkingBranch().name
}

「タスクはまだ実行されていません」というエラーが表示されます。ソースを調べたところ、ブランチセットがない場合にそのエラーがスローされます。それは、この方法が私が思うことをまったく行わないことを意味しますか?どこかにブランチを設定する必要があるということですか?

4

3 に答える 3

19

いいえ、これはブランチが設定されていないことを意味するものではありません。これは、タスクがまだ実際に実行されていないことを意味します。あなたがやろうとしているのは、構成クロージャでメソッドを呼び出すことですが、おそらくタスクの実行後にそれを呼び出したいと思うでしょう。タスクを次のように変更してみてください。

task getBranchName(type: GitBranchList) << {
    print getWorkingBranch().name
}

これ<<でdoLastを追加します。これは、タスクの実行後に実行されます。

于 2013-02-25T08:21:53.150 に答える