2

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

4

2 に答える 2

2

私はちょうど同じ問題に出くわしました。あなたがする必要があるのは、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
}

結果の構造には、フラット化によって残された空のディレクトリは含まれません。

于 2016-05-06T11:35:59.247 に答える
2

私はちょうどこれに出くわしました。その後、削除を行うことで回避しました。理想的ではありませんが、それでも効果的です。

    delete "dojo-release-1.7.2"
于 2012-06-29T16:51:46.713 に答える