2013-10-15 66 views
0

當嘗試創建包含項目依賴關係的zip歸檔文件時,我遇到了一些麻煩。 我有以下依存結構:gradle zip依賴關係的一部分,命名文件樹

dependencies { 
    compile 'org.codehaus.groovy:groovy-all:2.1.7' 
    compile fileTree(dir: 'libs/', include: '*.jar') // I want this to be packed 
    compile fileTree(dir: 'do_not_need_in_zip', include: '*.jar') // This must be excluded. 
} 

我想打包成壓縮文件只有前兩個的依賴。但無法設法過濾它們。我正在努力做到這一點。

task dist(type: Zip, dependsOn ...) { 
    from (project.configurations.compile.files { dep -> 
    dep.name == 'groovy-all' 
}) 
into 'lib' 
} 

fileTree依賴名稱是不確定的,所以,我不能過濾這種依賴。

也許,我需要保存變量的依賴關係,也許不行。其他。你能給我一個建議嗎?

編輯: 在這一刻我有一個依賴關係的數組添加到存檔,就像這樣。它很髒,但我認爲,工作解決方案。

dependencies { 
    distributionFiles.each{ 
     compile it 
} } 

但@Rene的回答看起來更加清晰。

回答

1

一種方法是拆分你正在使用的配置。例如創建一個提供的編譯配置,並將您不需要的代碼分配給您提供的壓縮配置。