2012-05-01 4 views
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 

내가 만든되는 도장 - 릴리즈 디렉토리를 방지 할 수있는 방법이 있나요 생산?

심판 : 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 
} 

결과 구조는 병합 남긴 빈 디렉토리가 포함되지 않습니다.

관련 문제