Skip to content

Instantly share code, notes, and snippets.

@lukespragg
Created May 9, 2014 19:31
Show Gist options
  • Select an option

  • Save lukespragg/2e322c8d9817e7ec7cc6 to your computer and use it in GitHub Desktop.

Select an option

Save lukespragg/2e322c8d9817e7ec7cc6 to your computer and use it in GitHub Desktop.
ProGuard obfuscation configuration for Maven
<!-- ProGuard obfuscation plugin -->
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.6</version>
<executions>
<execution>
<configuration>
<proguardVersion>4.9</proguardVersion>
<options>
<option>-target 1.7</option>
<option>-dontnote</option>
<option>-dontshrink</option>
<option>-dontoptimize</option>
<option>-dontpreverify</option>
<option>-dontskipnonpubliclibraryclasses</option>
<option>-dontskipnonpubliclibraryclassmembers</option>
<option>-allowaccessmodification</option>
<option>-repackageclasses ''</option>
<option>-keep public class ${mainClass} { public static void main(java.lang.String[]); }</option>
<option>-keepattributes InnerClasses,Signature,LineNumberTable,*Annotation*,EnclosingMethod</option>
<option>-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); }</option>
<option>-dontwarn org.spout.**</option>
<option>-dontwarn com.google.**</option>
</options>
<includeDependency>false</includeDependency>
<libs>
<lib>${java.home}/lib/jce.jar</lib>
<lib>${java.home}/lib/jfxrt.jar</lib>
<lib>${java.home}/lib/rt.jar</lib>
</libs>
</configuration>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>4.9</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment