0

在尝试创建包含项目依赖项的 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依赖名称是未指定的,所以,我不能过滤这种依赖。

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

编辑: 此时我有一系列依赖项要添加到存档中,就像这样。它很脏,但我认为,可行的解决方案。

dependencies {
    distributionFiles.each{
        compile it
}   }

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

4

1 回答 1

1

一种方法是拆分您正在使用的配置。例如,创建一个providedCompile 配置并将您不需要的压缩文件分配给该providedCompile 配置。

于 2013-10-15T09:23:35.113 回答