私の単純なグラデルビルドでShadowJarとProGuardを併用したいと思います。私はfound examplesを持っています。ここでshadowJarタスクの出力はproguardの入力ですが、私の場合は最初に小さな難読化されたjarファイルを作成してライブラリの依存関係をうまく指定し、proguardを私のコードとし、fatjarパッケージのshadowjarプラグインに渡したいと思います。Gradle ShadowJar出力に難読化されたクラスと難読化されていないクラスが含まれています
task obfuscate(type: proguard.gradle.ProGuardTask) {
injars jar
outjars "build/libs/foo-${project.version}-pg.jar"
...
}
shadowJar {
from obfuscate
configurations = [project.configurations.embed]
}
shadowJar.dependsOn obfuscate
そして、私の問題はshadowJar出力は、難読化されていないすべてのライブラリ(ファイン)、私の難読化コード(罰金)と私の難読化されていないコードが含まれていることです:
私のセットアップは以下の通りです。だから、どういうわけか元のクラスが忍び寄って、私はそれがどうなっているのか見ていない。依存関係とproguard出力jarを一緒にパッケージ化するためにshadowJarを指定することはできません。
私のアプローチでどこが問題になっていますか?