GradleのdependsOnがうまく動かない
task clean << { println 'cleaning.' } task build << { println 'building.' } build.doLast { println 'finish!' } task local(dependsOn: [clean, build]) << { println 'local debug.' }
みたいな感じのファイルを用意してlocalタスクを実行すると
$ gradle local
:build
building.
finish!
:clean
cleaning.
:local
local debug.BUILD SUCCESSFUL
Total time: 3.373 secs
となってしまうのはなぜなんだろう。
build前にcleanが走って欲しいのに、この順番だとbuildしたあとに作業ディレクトリを消しに行ってしまうので生成物が何も残らんのよね。
追記(2011-01-17)
@fumokmm dependsOnの実行はアルファベット順っす。いまのところ…
@fumokmm aCleanとか…(笑) メーリングリストだと順序に依存するようなタスクは云々?みたいにいわれつつ、1.0で直るとかいう話もありますけどどうでしょうね http://bit.ly/hKLaPv
なんとdependsOnはアルファベット順らしいです。@literaliceさん、ありがとうございます。