제가 하위 Gradle을은 -
A/B A/C
(B 및 C의 하위)
함께 프로젝트 A를 가지고 이진 바꿈 필터링없이 JAR 포함. B와 C는 하나의 Jar 파일로 A로 컴파일됩니다. 아래 코드를 사용하십시오. 잘 작동하지만 내가 /a/b/src/main/resources/prebuilt.jar에서 미리 만들어진 JAR이gradle.taskGraph.whenReady {
jar {
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
manifest {
attributes("Main-Class": "brut.apktool.Main")
}
}
}
. 이 항아리는 프로그램 중에 필요한 임의의 파일을 캡슐화합니다. 자바 나 아무것도 없습니다. 그것들을 inputStream에서 가져 오지만 Gradle로 빌드 한 후에는 바이너리 개행 데이터를 변환 한 다음 아카이브를 엉망으로 만든다.
CopyTask 게시물을 사용하여 병을 복사하려고 시도했지만 gradle.TaskGraph.whenReady 이전에 실행되는 작업을 얻을 수 없었습니다.
위로 가기 나는 그 파일에 대한 필터링을 막지 만, Gradle에서 같은 표현식을 찾을 수 없다.
EDIT : 이것은 현재 내가하는 일이며 내 변경 사항을 특성 파일로 필터링하지만 개행을 필터링하지는 않습니다.
processResources {
ext.fullrev = ''
ant.loadfile(srcFile: "../../.git/refs/heads/master", property: ext.fullrev)
filter(FixCrLfFilter)
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [version: apktoolversion, gitrev: ant.properties[ext.fullrev].substring(0,10)])
}
일반적으로 'a/b'의 Jar 작업에 대한 필터를 구성 했습니까? –
예. 나는 그것을 (그냥 편집하고 위의 그림과 같이) 추가하려고했습니다. –