我在尝试创建包含项目依赖项的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
依赖关系,name未指定,因此,我无法过滤此类依赖关系。
也许,我需要在变量中保存依赖项,也许是smth。其他。你能给我一个建议吗?
修改 此时我在归档时添加了一系列依赖项,就像这样。它很脏,但我认为,工作解决方案。
dependencies {
distributionFiles.each{
compile it
} }
但@Rene的答案对我来说更清楚。
答案 0 :(得分:1)
一种方法是拆分您正在使用的配置。例如创建一个providedCompile配置,并将zip中不需要的deps分配给提供的Compile配置。