Skip to content

Instantly share code, notes, and snippets.

@daneshk
Last active February 28, 2018 19:55
Show Gist options
  • Save daneshk/ac52efe39ca054c448c89966dffdd480 to your computer and use it in GitHub Desktop.
Save daneshk/ac52efe39ca054c448c89966dffdd480 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ballerinalang.orbit.com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0.v1</version>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
<dependency>
<groupId>com.google.j2objc</groupId>
<artifactId>j2objc-annotations</artifactId>
<version>0.1</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>1.3.9</version>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-annotations</artifactId>
<version>1.14</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<includes>
<include>com.google.guava:guava</include>
<include>com.google.j2objc:j2objc-annotations</include>
<include>com.google.code.findbugs:jsr305</include>
<include>com.google.errorprone:error_prone_annotations</include>
<include>org.codehaus.mojo:animal-sniffer-annotations</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.14</version>
<executions>
<execution>
<id>obfuscation-packaging</id>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
<configuration>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
</libs>
<injar>${project.build.finalName}.jar</injar>
<outjar>${project.build.finalName}.jar</outjar>
<options>
<option>-dontnote</option>
<option>-dontwarn
com.google.common.util.concurrent.FuturesGetChecked$GetCheckedTypeValidatorHolder$ClassValueValidator
</option>
<option>-dontoptimize</option>
<option>-dontwarn sun.misc.Unsafe</option>
<option>-dontwarn com.google.common.collect.MinMaxPriorityQueue</option>
<option>-keep class com.google.common.base.** { *; }</option>
<option>-keep class com.google.common.util.concurrent.** { *; }</option>
<option>-keep class com.google.common.collect.Maps { *; }</option>
<option>-keep class com.google.common.collect.ImmutableMultiset { *; }</option>
<option>-keep class com.google.common.collect.ImmutableList { *; }</option>
<option>-keep class com.google.common.collect.HashMultiset { *; }</option>
<option>-keep class com.google.common.collect.Lists { *; }</option>
<option>-keep class com.google.common.collect.Multiset { *; }</option>
<option>-keep class com.google.common.io.** { *; }</option>
<option>-keepattributes *Annotation*</option>
<option>-keepattributes SourceFile,LineNumberTable,Exceptions,InnerClasses,Signature</option>
</options>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>5.3.3</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment