Я пытаюсь заставить Maven работать с ProGuard.
Я хочу достичь следующего:
-
Запустите ProGuard поверх моих исходных файлов и создайте запутанные классы
-
Создайте файл манифеста, который ссылается на основной класс, чтобы я мог выполнить его как банку
-
Распакуйте все связанные банки библиотеки и создайте одну огромную банку, содержащую их все. Этот файл должен обращаться только к файлам .class и .xml.
-
Соберите их в файлы .zip и tar.gz, которые содержат различные файлы README.txt и т.д.
До сих пор у меня есть что-то вроде этого:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest>
<mainClass>com.class.path.MainClass</mainClass>
</manifest>
</archive>
<includes>
<include>**/*.class</include>
<include>**/*.xml</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>com.pyx4me</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<configuration>
<options>
<option>-allowaccessmodification</option>
</options>
<obfuscate>true</obfuscate>
<injar>classes</injar>
<outjar>${project.build.finalName}.jar</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<proguardInclude>src/main/assembly/proguard.conf</proguardInclude>
<libs>
lib/rt.jar</lib>
</libs>
</configuration>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
<configuration>
<descriptors>
<descriptor>
src/main/assembly/bin.xml
</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
Но у меня нет радости. Может ли кто-нибудь дать мне какие-то смутные указатели на это?
Спасибо заранее, Matt