我正在将zip文件解压缩到一个目录中。 zip文件有一个额外的顶级目录,我不想在解压缩的目标中。
task unpackDojoSource(type: Copy) {
new File("build/dojo/src").mkdirs()
from(zipTree(dojoSource)) {
eachFile { details -> details.path =
details.path.substring(details.relativePath.segments[0].length()) }
} into "build/dojo/src"
}
该任务产生以下输出
/dijit
/dojo
/dojo-release-1.7.2
/dijit
/dojo
/dojox
/util
/dojox
/util
有没有办法阻止创建dojo-release目录?
价: http://gradle.markmail.org/thread/x6gmbrhhen63rybe#query:+page:1+mid:lws7nlqcncjumnvs+state:results
答案 0 :(得分:2)
我自己也遇到了这个问题。我之后通过删除来解决这个问题。不太理想但仍然有效。
delete "dojo-release-1.7.2"
答案 1 :(得分:1)
我只是偶然发现了同样的问题。您唯一需要做的就是将includeEmptyDirs = false
添加到您的副本规范中,如下所示:
task unpackDojoSource(type: Copy) {
new File("build/dojo/src").mkdirs()
from(zipTree(dojoSource)) {
eachFile { details -> details.path =
details.path.substring(details.relativePath.segments[0].length()) }
} into "build/dojo/src"
includeEmptyDirs = false
}
生成的结构不会包含展平所留下的空目录。