2012-05-01 94 views
2

我打開一個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 

有沒有一種辦法可以防止創建道場-release目錄?

編號: http://gradle.markmail.org/thread/x6gmbrhhen63rybe#query:+page:1+mid:lws7nlqcncjumnvs+state:results

+0

我正在使用1.0-RC2 –

回答

2

我只是碰到這種跑自己。之後我通過做刪除來解決它。不理想但仍然有效。

delete "dojo-release-1.7.2" 
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 
} 

所生成的結構將不包含通過壓平留下的空目錄。