2012-03-31 81 views
5

我想強制Gradle以自己的方式創建jar。我寫我自己的搖籃任務(單獨的類)要做到這一點,現在我想用它來替換默認jar任務,使:如何正確代替Gradle'jar'任務?

  • 存檔總是帶着我的新任務,並從不與老jar產生任務
  • 我的新任務與其他任務的默認jar任務的關係一樣 - 這取決於classes任務時,build任務使用它,等
  • 我想我的任務不會被調用時,它的UP-TO-DATE(就像默認的jar

我正在努力做到這一點,我很難實現這一點。例如,我無法強制build任務始終使用我的新任務。

我真的很感激,如果有人可以支持我一個簡短的howto。

回答

2

這應該工作:

jar { 
    // reset actions 
    actions = [] 
    // add your action that performs the work based 
    // on the configuration (e.g. 'source') of this task 
    doLast { ... } 
} 
+0

謝謝,這有很大幫助。舊的'jar'永遠不會被執行了。然而,任務總是被執行,即使它應該是'UP-TO-DATE'。我怎樣才能防止呢? – ghik 2012-03-31 15:01:06

+1

如果使用'--info'運行,Gradle會告訴你爲什麼它認爲任務不是最新的。 – 2012-03-31 19:30:41