내 Gradle 빌드에 두 개의 jar 파일을 생성하는 ShadowJar 및 Proguard 작업이 있습니다.다른 Gradle 작업의 출력 파일을 ziptree로 참조하는 방법은 무엇입니까?
task obfuscate(type: ProguardTask) {
outjars ..
}
shadowJar {
...
}
task release(type: Jar) {
from shadowJar
from obfuscate
classifier 'all'
}
내 문제는이 경우 릴리스 jar 파일이 그림자 항아리와 병 자체에 두 개의 파일로 난독 jar 파일이 포함되어 있다는 것입니다. 나는 이것을 zipTree 입력으로 만들고 싶습니다.
제 문제는 작업 참조를 해당 작업의 실제 출력 zipTree로 변환하는 방법을 모르겠다는 것입니다.
내 시도는 from zipTree(shadowJar.outputs.getFiles())
에 저를 이끌어하지만이 계속 실패 :
> Cannot convert the provided notation to a File or URI: task 'shadowJar' output files.
The following types/formats are supported:
- A String or CharSequence path, for example 'src/main/java' or '/usr/include'.
- A String or CharSequence URI, for example 'file:/usr/include'.
- A File instance.
- A URI or URL instance.
어떻게 제대로 선행 작업의 출력 jar 파일을 참조 할 수 있습니다? zipTree
에
대단히 감사합니다. 이 더 나은 것 같아요,하지만 지금은 얻을 수 없습니다. 메서드 'zipTree() for foo/bar/myjar-2017.05.05-all.jar, build_5mt3ethz91ji36qb1vfayplhl $ _run_cl osure12 $ _closure31 @ 28108b8] org.gradle.api.tasks.bundling.Jar을 입력하십시오. – jabal
그래서 zipTree는 shadow jar 출력 파일 이름을받는 것 같습니다. – jabal
'zipTree' 메서드가 문자열과 클로저를 모두받는 것처럼 보이기 때문에 조금 혼란 스럽습니다. 어떤 예를 시도 했습니까? –