2013-10-15 2 views
0

프로젝트 종속성이 포함 된 zip 아카이브를 만들려고 할 때 몇 가지 문제가 있습니다. 내가 보관 만 처음 두 의존성으로 포장하기 위해 노력하고있어gradle 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 종속 이름이 지정되지 않은, 그래서, 나는 종속성 이런 종류의 필터링 할 수 없습니다

.

어쩌면 변수에 종속성을 저장할 필요가 있을지도 모릅니다. 그밖에. 나에게 조언을 해줄 수 있니?

편집 : 현재로서는 아카이브에 추가 할 종속성 배열이 있습니다. 그것은 더럽지 만, 제 생각에는 작동하는 솔루션입니다.

dependencies { 
    distributionFiles.each{ 
     compile it 
} } 

하지만 @ 르네의 대답은 나에게 분명해 보입니다.

답변

1

한 가지 방법은 사용중인 구성을 분할하는 것입니다. 예 : 제공된Compile 구성을 작성하고 zip에 원하지 않는 deps를 해당 provideCompile 구성에 지정하십시오.

관련 문제