Last active
December 22, 2015 02:49
-
-
Save mufumbo/6406033 to your computer and use it in GitHub Desktop.
maven configuration to shrink war package. this is specially useful when using appengine with spring, because you need to reduce classpath scanning and package size as much as possible to reduce cold startup times.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<plugin> | |
<dependencies> | |
<dependency> | |
<groupId>net.sf.proguard</groupId> | |
<artifactId>proguard-base</artifactId> | |
<version>4.8</version> | |
</dependency> | |
</dependencies> | |
<groupId>com.github.wvengen</groupId> | |
<artifactId>proguard-maven-plugin</artifactId> | |
<!-- TODO: need to remove this.. --> | |
<executions> | |
<execution> | |
<id>process-classes-with-proguard</id> | |
<phase>package</phase> | |
<goals> | |
<goal>proguard</goal> | |
</goals> | |
</execution> | |
</executions> | |
<configuration> | |
<options> | |
<option>-dontoptimize</option> | |
</options> | |
<obfuscate>false</obfuscate> | |
<attach>false</attach> | |
<skip>true</skip> | |
<addMavenDescriptor>false</addMavenDescriptor> | |
<maxMemory>1024m</maxMemory> | |
<libs> | |
<lib>${java.home}/lib/rt.jar</lib> | |
<lib>${java.home}/lib/jsse.jar</lib> | |
</libs> | |
<proguardVersion>4.8</proguardVersion> | |
<injar>${project.build.finalName}/WEB-INF/lib/${project.build.finalName}.jar</injar> | |
<outjar>proguard</outjar> | |
<!-- <injar>${project.build.directory}/${project.build.finalName}-jar-with-dependencies.jar</injar> --> | |
<attachArtifactType>jar</attachArtifactType> | |
<proguardInclude>${project.basedir}/proguard.conf</proguardInclude> | |
<includeDependency>true</includeDependency> | |
<assembly> | |
<inclusions> | |
<inclusion> | |
<groupId>com.allthecooks</groupId> | |
<artifactId>allthecooks-conversion</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>javax.servlet</groupId> | |
<artifactId>servlet-api</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.appengine.tools</groupId> | |
<artifactId>appengine-mapreduce</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.appengine</groupId> | |
<artifactId>appengine-endpoints</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.appengine</groupId> | |
<artifactId>appengine-jsr107cache</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>net.sf.jsr107cache</groupId> | |
<artifactId>jsr107cache</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.geronimo.specs</groupId> | |
<artifactId>geronimo-jpa_2.0_spec</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.lucene</groupId> | |
<artifactId>lucene-core</artifactId> | |
<filter>!org/apache/lucene/util/RamUsageEstimator*</filter> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.lucene</groupId> | |
<artifactId>lucene-highlighter</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.lucene</groupId> | |
<artifactId>lucene-facet</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.lucene</groupId> | |
<artifactId>lucene-memory</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.lucene</groupId> | |
<artifactId>lucene-spellchecker</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.restfb</groupId> | |
<artifactId>restfb</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.api-client</groupId> | |
<artifactId>google-api-client-appengine</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.api-client</groupId> | |
<artifactId>google-api-client-servlet</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.http-client</groupId> | |
<artifactId>google-http-client</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.http-client</groupId> | |
<artifactId>google-http-client-gson</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.apis</groupId> | |
<artifactId>google-api-services-plus</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.apis</groupId> | |
<artifactId>google-api-services-oauth2</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.code.gson</groupId> | |
<artifactId>gson</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.datanucleus</groupId> | |
<artifactId>datanucleus-enhancer</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.datanucleus</groupId> | |
<artifactId>datanucleus-jdo-query</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.ow2.asm</groupId> | |
<artifactId>asm</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-codec</groupId> | |
<artifactId>commons-codec</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-io</groupId> | |
<artifactId>commons-io</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.beanshell</groupId> | |
<artifactId>bsh</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.reflections</groupId> | |
<artifactId>reflections</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.reflections</groupId> | |
<artifactId>reflections-spring</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.googlecode.java-diff-utils</groupId> | |
<artifactId>diffutils</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-context</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-webmvc</artifactId> | |
<filter>!org/springframework/web/servlet/support/JstlUtils*</filter> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.velocity</groupId> | |
<artifactId>velocity</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.velocity</groupId> | |
<artifactId>velocity-tools</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.googlecode.htmlcompressor</groupId> | |
<artifactId>htmlcompressor</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.json</groupId> | |
<artifactId>json</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-dbcp</groupId> | |
<artifactId>commons-dbcp</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-fileupload</groupId> | |
<artifactId>commons-fileupload</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-pool</groupId> | |
<artifactId>commons-pool</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>cglib</groupId> | |
<artifactId>cglib-nodep</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.slf4j</groupId> | |
<artifactId>slf4j-api</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>log4j</groupId> | |
<artifactId>log4j</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>javax.inject</groupId> | |
<artifactId>javax.inject</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.yahoo.platform.yui</groupId> | |
<artifactId>yuicompressor</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-asm</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-context-support</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-expression</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-web</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-core</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-beans</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>aopalliance</groupId> | |
<artifactId>aopalliance</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-logging</groupId> | |
<artifactId>commons-logging</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-digester</groupId> | |
<artifactId>commons-digester</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-beanutils</groupId> | |
<artifactId>commons-beanutils</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>sslext</groupId> | |
<artifactId>sslext</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>oro</groupId> | |
<artifactId>oro</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-validator</groupId> | |
<artifactId>commons-validator</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-lang</groupId> | |
<artifactId>commons-lang</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-chain</groupId> | |
<artifactId>commons-chain</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>commons-collections</groupId> | |
<artifactId>commons-collections</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>xml-apis</groupId> | |
<artifactId>xml-apis</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>javax.transaction</groupId> | |
<artifactId>transaction-api</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>com.google.code.findbugs</groupId> | |
<artifactId>jsr305</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>rhino</groupId> | |
<artifactId>js</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>dom4j</groupId> | |
<artifactId>dom4j</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>xpp3</groupId> | |
<artifactId>xpp3</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.httpcomponents</groupId> | |
<artifactId>httpclient</artifactId> | |
</inclusion> | |
<inclusion> | |
<groupId>org.apache.httpcomponents</groupId> | |
<artifactId>httpcore</artifactId> | |
</inclusion> | |
</inclusions> | |
</assembly> | |
</configuration> | |
</plugin> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment