読者です 読者をやめる 読者になる 読者になる

No Programming, No Life

新しいNPNLです。http://d.hatena.ne.jp/fumokmm/ から引っ越してきました。

GradleのdependsOnがうまく動かない

Gradle Groovy
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の実行はアルファベット順っす。いまのところ…less than a minute ago via Tween

@fumokmm aCleanとか…(笑) メーリングリストだと順序に依存するようなタスクは云々?みたいにいわれつつ、1.0で直るとかいう話もありますけどどうでしょうね http://bit.ly/hKLaPvless than a minute ago via Tween

なんとdependsOnはアルファベット順らしいです。@literaliceさん、ありがとうございます。