2011-11-11 46 views
9

我們有一個奇怪的問題,那就是儘管META-INF目錄顯然沒有執行,但是隨機且很少出現的,刪除META-INF文件夾和編譯類以啓動的compileJava任務運行,但processResources任務報告是最新的,不存在。如何確保Gradle構建的processResources任務始終運行?

這讓我們有很大的空閒時間,因爲工件可能會在沒有applicationContext.xml的情況下完成生產。

運行這項任務對我們來說成本非常低,是否有可能強制它運行,不管是什麼?

+1

Gradle 1.0-milestone-5及更高版本將類文件和資源放置到不同的目錄(構建/類和構建/資源)中。如果不使用解決方法,可以解決您的問題,這將是一件好事。 –

回答

12

也許有某種錯誤無法清除gradle緩存。一種可能的解決方案是首先強制任務通過運行cleanProcessResources來清理自己的輸出。

如果不工作,然後嘗試重寫upToDateWhen謂詞你的任務的輸出是這樣的:

processResources.outputs.upToDateWhen{ false } 

但是我不知道這個API是永久性的。

+1

我當然希望是。這很棒。 –

相關問題