サブプロジェクトを含むプロジェクトAがあります
A / B A / C
(BおよびCサブプロジェクト)。BとCはAにコンパイルされて1つのJarファイルになります。以下のコードを使用します。
gradle.taskGraph.whenReady {
jar {
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
manifest {
attributes("Main-Class": "brut.apktool.Main")
}
}
}
これは正常に機能しますが、/ a / b / src / main / resources/prebuilt.jarにビルド済みのJARがあります。このjarファイルは、プログラム中に必要ないくつかのランダムファイルをカプセル化するだけです。Javaなどはありません。inputStreamからそれらを取得しますが、Gradleでビルドした後、バイナリの改行データを変換してから、アーカイブを台無しにします。
ビルドされたCopyTaskポストを使用してjarをコピーしようとしましたが、gradle.TaskGraph.whenReadyの前にタスクを実行することができませんでした。
Mavenに戻ります。そのファイルのフィルタリングを無効にしますが、Gradleで同じ式を見つけることができません。
編集:これは私が現在行っていることであり、変更をプロパティファイルにフィルタリングしますが、改行フィルタリングは行いません。
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)])
}