gradle zip部分依赖项,命名fileTree

时间:2013-10-15 07:55:01

标签: dependencies 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依赖关系,name未指定,因此,我无法过滤此类依赖关系。

也许,我需要在变量中保存依赖项,也许是smth。其他。你能给我一个建议吗?

修改 此时我在归档时添加了一系列依赖项,就像这样。它很脏,但我认为,工作解决方案。

dependencies {
    distributionFiles.each{
        compile it
}   }

但@Rene的答案对我来说更清楚。

1 个答案:

答案 0 :(得分:1)

一种方法是拆分您正在使用的配置。例如创建一个providedCompile配置,并将zip中不需要的deps分配给提供的Compile配置。