在開發過程中,我們使用的是未縮小的javascript和CSS文件。但是,當生產戰爭建立起來時,他們必須被縮小(使用壓縮機)。所以,我想用縮小的替換原來的javascript和CSS文件。 項目結構如下所示(沒有什麼特別):在WAR創建之前使用gradle添加生成的文件
+ webapp
|-- js
|-- css
...
我想要做的是:由搖籃創建WAR之前,我要來縮小上述用的YUICompressor文件,並希望它們被包裝在戰爭中。
我所做的迄今運行任務創建WAR之前,這minifies文件:
war {
it.dependsOn minifyJavaScript
}
任務minifyJavaScript發生在webapp/JS文件夾中的所有文件,minifies他們,並將其儲存在$ {buildDir}/js目錄中。我無法工作的唯一的事情是這些文件被打包到WAR中。我試圖調整sourceSets,但我從搖籃錯誤:
apply plugin: 'java'
...
sourceSets {
main {
webapp {
srcDir "${buildDir}/js"
}
}
}
錯誤:發現不支持的搖籃DSL方法:「)sourceSets(」
我也試過,包括與這些文件:
war {
it.dependsOn minifyJavaScript
include ${buildDir}/js
}
該解決方案的問題在於WAR僅包含縮小的文件。
那麼,有沒有辦法告訴Gradle在WAR創建期間添加$ {buildDir}/js路徑?還是有更好/更簡單的方法來包含縮小的文件?
我不能把「生成」文件,因爲他們必須在js目錄中。縮小過程會覆蓋原始文件或我必須選擇不同的名稱。 – Phillip 2014-09-11 06:49:42
你能準備一個SSCCE並通過github分享嗎? – Opal 2014-09-11 07:37:31