summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2013-09-20 16:17:43 -0700
committerYing Wang <wangying@google.com>2013-09-20 16:32:42 -0700
commitb9cc48a43ed984587c939d02fba5316bf5c0df6e (patch)
tree7d42e31a97264803b1147ef6001e8a5e6968a122 /build
parent54f59ac04f3e21d5aecdd46bb1e7f4577924ab92 (diff)
downloadproguard-b9cc48a43ed984587c939d02fba5316bf5c0df6e.tar.gz
Upgrade Proguard to 4.10.
Downloaded from: http://sourceforge.net/projects/proguard/files/proguard/4.10/ Bug: 8992787 Change-Id: Ia07cc5b3feed443982b7e8f2a1f361479e735b18
Diffstat (limited to 'build')
-rw-r--r--build/README40
-rw-r--r--build/build.properties4
-rwxr-xr-xbuild/build.sh16
-rw-r--r--build/build.xml117
-rw-r--r--build/makefile27
-rw-r--r--build/maven/ant/pom.xml78
-rw-r--r--build/maven/base/pom.xml69
-rw-r--r--build/maven/gradle/pom.xml85
-rw-r--r--build/maven/gui/pom.xml78
-rw-r--r--build/maven/pom.xml162
-rw-r--r--build/maven/retrace/pom.xml61
-rw-r--r--build/maven/wtk/pom.xml79
12 files changed, 772 insertions, 44 deletions
diff --git a/build/README b/build/README
new file mode 100644
index 0000000..36a235b
--- /dev/null
+++ b/build/README
@@ -0,0 +1,40 @@
+ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier
+==========================================================================
+
+This directory contains a number of alternative ways to build ProGuard:
+
+- build.sh : a shell script for GNU/Linux
+- makefile : a makefile for GNU/Linux
+- build.xml : an Ant build file for all platforms
+- maven/pom.xml : a Maven POM for building the Maven artifacts
+
+- As a final alternative, you can also easily compile the code from the
+ command line:
+
+ mkdir classes
+ javac -sourcepath src -d classes src/proguard/ProGuard.java
+ javac -sourcepath src -d classes src/proguard/gui/ProGuardGUI.java
+ javac -sourcepath src -d classes src/proguard/retrace/ReTrace.java
+
+ For the ProGuard Ant task:
+
+ javac -sourcepath src -d classes -classpath lib/ant.jar \
+ src/proguard/ant/ProGuardTask.java
+
+ For the ProGuard Gradle task:
+
+ javac -sourcepath src -d classes -classpath ..... \
+ src/proguard/gradle/ProGuardTask.java
+
+ For the Java Micro Edition Wireless Tool Kit (JME WTK) obfuscator plug-in:
+
+ javac -sourcepath src -d classes -classpath wtklib/kenv.zip \
+ src/proguard/wtk/ProGuardObfuscator.java
+
+Note that you'll have to install Ant and the JME WTK yourself.
+
+Enjoy!
+
+http://proguard.sourceforge.net/
+
+Copyright (c) 2002-2013 Eric Lafortune (eric@graphics.cornell.edu)
diff --git a/build/build.properties b/build/build.properties
new file mode 100644
index 0000000..a6d2bbf
--- /dev/null
+++ b/build/build.properties
@@ -0,0 +1,4 @@
+# Ant build properties for ProGuard.
+
+gradle.home = /usr/local/java/gradle
+wtk.home = /usr/local/java/wtk
diff --git a/build/build.sh b/build/build.sh
index eb5fcf7..adb2ee7 100755
--- a/build/build.sh
+++ b/build/build.sh
@@ -7,6 +7,7 @@
#
ANT_HOME=${ANT_HOME:-/usr/local/java/ant}
+GRADLE_HOME=${GRADLE_HOME:-/usr/local/java/gradle}
WTK_HOME=${WTK_HOME:-/usr/local/java/wtk}
if [ -z $PROGUARD_HOME ]; then
@@ -24,9 +25,15 @@ PROGUARD=proguard/ProGuard
PROGUARD_GUI=proguard/gui/ProGuardGUI
RETRACE=proguard/retrace/ReTrace
ANT_TASK=proguard/ant/ProGuardTask
+GRADLE_TASK=proguard/gradle/ProGuardTask
WTK_PLUGIN=proguard/wtk/ProGuardObfuscator
ANT_JAR=$ANT_HOME/lib/ant.jar
+GRADLE_PATH=\
+$GRADLE_HOME/lib/plugins/gradle-plugins-1.3.jar:\
+$GRADLE_HOME/lib/gradle-base-services-1.3.jar:\
+$GRADLE_HOME/lib/gradle-core-1.3.jar:\
+$GRADLE_HOME/lib/groovy-all-1.8.6.jar
WTK_JAR=$WTK_HOME/wtklib/kenv.zip
PROGUARD_JAR=$LIB/proguard.jar
@@ -84,6 +91,15 @@ else
echo "if you want to compile the optional ProGuard Ant task."
fi
+if [ -f "${GRADLE_PATH%%:*}" ]; then
+ export CLASSPATH=$GRADLE_PATH
+ compile $GRADLE_TASK
+ updatejar $GRADLE_TASK
+else
+ echo "Please make sure the environment variable GRADLE_HOME is set correctly,"
+ echo "if you want to compile the optional ProGuard Gradle task."
+fi
+
if [ -f "$WTK_JAR" ]; then
export CLASSPATH=$WTK_JAR
compile $WTK_PLUGIN
diff --git a/build/build.xml b/build/build.xml
index a592945..7c67c68 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -9,19 +9,23 @@
<property name = "classes" value = "classes"/>
<property name = "lib" value = "lib"/>
- <property name = "ant.jar" value = "${ant.home}/lib/ant.jar"/>
- <property name = "wtk.jar" value = "${wtk.home}/wtklib/kenv.jar"/>
+ <property name = "gradle.jar1" value = "${gradle.home}/lib/plugins/gradle-plugins-1.3.jar"/>
+ <property name = "gradle.jar2" value = "${gradle.home}/lib/gradle-base-services-1.3.jar"/>
+ <property name = "gradle.jar3" value = "${gradle.home}/lib/gradle-core-1.3.jar"/>
+ <property name = "gradle.jar4" value = "${gradle.home}/lib/groovy-all-1.8.6.jar"/>
+ <property name = "wtk.jar" value = "${wtk.home}/wtklib/kenv.zip"/>
<target name = "all" depends = "basic,options"/>
<target name = "basic" depends = "proguard,proguardgui,retrace"/>
<target name = "options" depends = "anttask,wtkplugin"/>
<target name = "proguard" depends = "classes,lib">
- <javac nowarn = "true"
- deprecation = "false"
- srcdir = "${src}"
- destdir = "${classes}"
- includes = "proguard/ProGuard.java">
+ <javac nowarn = "true"
+ deprecation = "false"
+ includeantruntime = "false"
+ srcdir = "${src}"
+ destdir = "${classes}"
+ includes = "proguard/ProGuard.java">
<compilerarg value = "-Xlint:none"/>
</javac>
@@ -41,11 +45,12 @@
</target>
<target name = "proguardgui" depends = "proguard">
- <javac nowarn = "true"
- deprecation = "false"
- srcdir = "${src}"
- destdir = "${classes}"
- includes = "proguard/gui/ProGuardGUI.java">
+ <javac nowarn = "true"
+ deprecation = "false"
+ includeantruntime = "false"
+ srcdir = "${src}"
+ destdir = "${classes}"
+ includes = "proguard/gui/ProGuardGUI.java">
<compilerarg value = "-Xlint:none"/>
</javac>
@@ -65,11 +70,12 @@
</target>
<target name = "retrace" depends = "classes,lib">
- <javac nowarn = "true"
- deprecation = "false"
- srcdir = "${src}"
- destdir = "${classes}"
- includes = "proguard/retrace/ReTrace.java">
+ <javac nowarn = "true"
+ deprecation = "false"
+ includeantruntime = "false"
+ srcdir = "${src}"
+ destdir = "${classes}"
+ includes = "proguard/retrace/ReTrace.java">
<compilerarg value = "-Xlint:none"/>
</javac>
@@ -89,40 +95,76 @@
</target>
<target name = "anttask" depends = "proguard">
- <fail message="Please set the value of the property ant.home in the file build/build.properties, if you want to build the optional ProGuard Ant task.">
+ <javac nowarn = "true"
+ deprecation = "false"
+ includeantruntime = "true"
+ srcdir = "${src}"
+ destdir = "${classes}"
+ includes = "proguard/ant/ProGuardTask.java">
+ <compilerarg value = "-Xlint:none"/>
+ </javac>
+
+ <copy todir = "${classes}">
+ <fileset dir = "${src}">
+ <include name = "proguard/ant/*.properties"/>
+ <include name = "proguard/ant/*.png"/>
+ <include name = "proguard/ant/*.gif"/>
+ <include name = "proguard/ant/*.pro"/>
+ </fileset>
+ </copy>
+
+ <jar jarfile = "${lib}/proguard.jar"
+ update = "true"
+ basedir = "${classes}"
+ includes = "proguard/ant/**"/>
+ </target>
+
+ <target name = "gradletask" depends = "proguard">
+ <fail message="Please set the value of the property gradle.home in the file build.properties, if you want to build the optional ProGuard Gradle task.">
<condition>
<not>
- <available file="${ant.jar}"/>
+ <and>
+ <available file="${gradle.jar1}"/>
+ <available file="${gradle.jar2}"/>
+ <available file="${gradle.jar3}"/>
+ <available file="${gradle.jar4}"/>
+ </and>
</not>
</condition>
</fail>
- <javac nowarn = "true"
- deprecation = "false"
- classpath = "${ant.jar}"
- srcdir = "${src}"
- destdir = "${classes}"
- includes = "proguard/ant/ProGuardTask.java">
+ <javac nowarn = "true"
+ deprecation = "false"
+ includeantruntime = "false"
+ srcdir = "${src}"
+ destdir = "${classes}"
+ includes = "proguard/gradle/ProGuardTask.java">
<compilerarg value = "-Xlint:none"/>
+ <classpath>
+ <path location="${gradle.jar1}"/>
+ <path location="${gradle.jar2}"/>
+ <path location="${gradle.jar3}"/>
+ <path location="${gradle.jar4}"/>
+ </classpath>
</javac>
<copy todir = "${classes}">
<fileset dir = "${src}">
- <include name = "proguard/ant/*.properties"/>
- <include name = "proguard/ant/*.png"/>
- <include name = "proguard/ant/*.gif"/>
- <include name = "proguard/ant/*.pro"/>
+ <include name = "proguard/gradle/*.properties"/>
+ <include name = "proguard/gradle/*.png"/>
+ <include name = "proguard/gradle/*.gif"/>
+ <include name = "proguard/gradle/*.pro"/>
</fileset>
</copy>
<jar jarfile = "${lib}/proguard.jar"
update = "true"
basedir = "${classes}"
- includes = "proguard/ant/**"/>
+ includes = "proguard/gradle/**"/>
</target>
<target name = "wtkplugin" depends = "proguard">
- <fail message="Please set the value of the property wtk.home in the file build/build.properties, if you want to build the optional ProGuard WTK plugin.">
+ <fail message="Please set the value of the property wtk.home in the file build.properties, if you want to build the optional ProGuard WTK plugin.">
<condition>
<not>
<available file="${wtk.jar}"/>
@@ -130,12 +172,13 @@
</condition>
</fail>
- <javac nowarn = "true"
- deprecation = "false"
- classpath = "${wtk.jar}"
- srcdir = "${src}"
- destdir = "${classes}"
- includes = "proguard/wtk/ProGuardObfuscator.java">
+ <javac nowarn = "true"
+ deprecation = "false"
+ includeantruntime = "false"
+ classpath = "${wtk.jar}"
+ srcdir = "${src}"
+ destdir = "${classes}"
+ includes = "proguard/wtk/ProGuardObfuscator.java">
<compilerarg value = "-Xlint:none"/>
</javac>
diff --git a/build/makefile b/build/makefile
index 0508eb4..264a2ac 100644
--- a/build/makefile
+++ b/build/makefile
@@ -1,25 +1,33 @@
# GNU/Linux makefile for ProGuard.
-ANT_HOME = /usr/local/java/ant
-WTK_HOME = /usr/local/java/wtk
+ANT_HOME = /usr/local/java/ant
+GRADLE_HOME = /usr/local/java/gradle
+WTK_HOME = /usr/local/java/wtk
PROGUARD_HOME := $(subst ./..,..,$(subst /build/..,/,$(dir $(MAKEFILE_LIST))..))
SRC = $(PROGUARD_HOME)/src
CLASSES = $(PROGUARD_HOME)/classes
LIB = $(PROGUARD_HOME)/lib
-ANT_JAR = $(ANT_HOME)/lib/ant.jar
-WTK_JAR = $(WTK_HOME)/wtklib/kenv.zip
+ANT_JAR = $(ANT_HOME)/lib/ant.jar
+GRADLE_JARS = $(GRADLE_HOME)/lib/plugins/gradle-plugins-1.3.jar \
+ $(GRADLE_HOME)/lib/gradle-base-services-1.3.jar \
+ $(GRADLE_HOME)/lib/gradle-core-1.3.jar \
+ $(GRADLE_HOME)/lib/groovy-all-1.8.6.jar
+WTK_JAR = $(WTK_HOME)/wtklib/kenv.zip
-CLASSPATH = $(ANT_JAR):$(WTK_JAR)
+NOTHING:=
+SPACE:=$(NOTHING) $(NOTHING)
+CLASSPATH = $(ANT_JAR):$(subst $(SPACE),:,$(GRADLE_JARS)):$(WTK_JAR)
PROGUARD = proguard/ProGuard
PROGUARD_GUI = proguard/gui/ProGuardGUI
RETRACE = proguard/retrace/ReTrace
ANT_TASK = proguard/ant/ProGuardTask
+GRADLE_TASK = proguard/gradle/ProGuardTask
WTK_PLUGIN = proguard/wtk/ProGuardObfuscator
-TARGETS = $(PROGUARD) $(PROGUARD_GUI) $(RETRACE) $(ANT_TASK) $(WTK_PLUGIN)
+TARGETS = $(PROGUARD) $(PROGUARD_GUI) $(RETRACE) $(ANT_TASK) $(GRADLE_TASK) $(WTK_PLUGIN)
JAVAC_OPTIONS = -nowarn -Xlint:none -classpath $(CLASSPATH) -sourcepath $(SRC) -d $(CLASSES)
@@ -39,7 +47,7 @@ endef
all: basic options
basic: proguard proguardgui retrace
-options: anttask wtkplugin
+options: anttask gradletask wtkplugin
proguard: $(PROGUARD)
$(createjar)
@@ -56,6 +64,11 @@ anttask: $(PROGUARD)
anttask: $(ANT_TASK)
$(updatejar)
+gradletask: $(GRADLE_JARS)
+gradletask: $(PROGUARD)
+gradletask: $(GRADLE_TASK)
+ $(updatejar)
+
wtkplugin: $(WTK_JAR)
wtkplugin: $(PROGUARD)
wtkplugin: $(WTK_PLUGIN)
diff --git a/build/maven/ant/pom.xml b/build/maven/ant/pom.xml
new file mode 100644
index 0000000..ab3bc52
--- /dev/null
+++ b/build/maven/ant/pom.xml
@@ -0,0 +1,78 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.proguard</groupId>
+ <artifactId>proguard-parent</artifactId>
+ <version>4.10</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>proguard-anttask</artifactId>
+ <name>[${project.groupId}] ${project.artifactId}</name>
+
+ <build>
+ <sourceDirectory>../../../src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/ant/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/ant/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <subpackages>proguard.ant</subpackages>
+ </configuration>
+ </plugin>
+ </plugins>
+ <resources>
+ <resource>
+ <directory>../../../src</directory>
+ <includes>
+ <include>proguard/ant/**</include>
+ </includes>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>proguard-base</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>1.7.0</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/build/maven/base/pom.xml b/build/maven/base/pom.xml
new file mode 100644
index 0000000..e61471d
--- /dev/null
+++ b/build/maven/base/pom.xml
@@ -0,0 +1,69 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.proguard</groupId>
+ <artifactId>proguard-parent</artifactId>
+ <version>4.10</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>proguard-base</artifactId>
+ <name>[${project.groupId}] ${project.artifactId}</name>
+
+ <build>
+ <sourceDirectory>../../../src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>proguard/gui/**</exclude>
+ <exclude>proguard/ant/**</exclude>
+ <exclude>proguard/gradle/**</exclude>
+ <exclude>proguard/wtk/**</exclude>
+ <exclude>proguard/retrace/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>proguard/gui/**</exclude>
+ <exclude>proguard/ant/**</exclude>
+ <exclude>proguard/gradle/**</exclude>
+ <exclude>proguard/wtk/**</exclude>
+ <exclude>proguard/retrace/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <excludePackageNames>proguard.gui:proguard.ant:proguard.gradle:proguard.wtk:proguard.retrace</excludePackageNames>
+ <!-- sourceFileExcludes doesn't seem to work, so we're using excludePackageNames -->
+ <sourceFileExcludes>
+ <sourceFileExclude>proguard/gui/**</sourceFileExclude>
+ <sourceFileExclude>proguard/ant/**</sourceFileExclude>
+ <sourceFileExclude>proguard/gradle/**</sourceFileExclude>
+ <sourceFileExclude>proguard/wtk/**</sourceFileExclude>
+ <sourceFileExclude>proguard/retrace/**</sourceFileExclude>
+ </sourceFileExcludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <mainClass>proguard.ProGuard</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/build/maven/gradle/pom.xml b/build/maven/gradle/pom.xml
new file mode 100644
index 0000000..86fa2fc
--- /dev/null
+++ b/build/maven/gradle/pom.xml
@@ -0,0 +1,85 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.proguard</groupId>
+ <artifactId>proguard-parent</artifactId>
+ <version>4.10</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>proguard-gradle</artifactId>
+ <name>[${project.groupId}] ${project.artifactId}</name>
+
+ <build>
+ <sourceDirectory>../../../src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/gradle/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/gradle/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <subpackages>proguard.gradle</subpackages>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>proguard-base</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.gradle</groupId>
+ <artifactId>gradle-core</artifactId>
+ <version>1.3</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.gradle</groupId>
+ <artifactId>gradle-base-services</artifactId>
+ <version>1.3</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ <version>2.0.6</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <repositories>
+ <repository>
+ <id>gradle</id>
+ <url>http://repo.gradle.org/gradle/libs-releases-local/</url>
+ </repository>
+ </repositories>
+</project>
diff --git a/build/maven/gui/pom.xml b/build/maven/gui/pom.xml
new file mode 100644
index 0000000..94d0100
--- /dev/null
+++ b/build/maven/gui/pom.xml
@@ -0,0 +1,78 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.proguard</groupId>
+ <artifactId>proguard-parent</artifactId>
+ <version>4.10</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>proguard-gui</artifactId>
+ <name>[${project.groupId}] ${project.artifactId}</name>
+
+ <build>
+ <sourceDirectory>../../../src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/gui/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/gui/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <subpackages>proguard.gui</subpackages>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <mainClass>proguard.gui.ProGuardGUI</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ <resources>
+ <resource>
+ <directory>../../../src</directory>
+ <includes>
+ <include>proguard/gui/**</include>
+ </includes>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ <exclude>MANIFEST.MF</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>proguard-base</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>proguard-retrace</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/build/maven/pom.xml b/build/maven/pom.xml
new file mode 100644
index 0000000..8f894ce
--- /dev/null
+++ b/build/maven/pom.xml
@@ -0,0 +1,162 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>net.sf.proguard</groupId>
+ <artifactId>proguard-parent</artifactId>
+ <version>4.10</version>
+ <packaging>pom</packaging>
+ <name>[${project.groupId}] ${project.artifactId}</name>
+ <description>ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier.</description>
+ <url>http://proguard.sourceforge.net/</url>
+
+ <prerequisites>
+ <maven>3</maven>
+ </prerequisites>
+
+ <developers>
+ <developer>
+ <id>lafortune</id>
+ <name>Eric Lafortune</name>
+ <url>http://www.lafortune.eu/</url>
+ <organization>Saikoa</organization>
+ <organizationUrl>http://www.saikoa.com/</organizationUrl>
+ <roles>
+ <role>Project Administrator</role>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+
+ <licenses>
+ <license>
+ <name>GNU General Public License, Version 2</name>
+ <url>http://www.gnu.org/licenses/gpl-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <issueManagement>
+ <system>SourceForge.net Tracker</system>
+ <url>http://sourceforge.net/p/proguard/bugs/</url>
+ </issueManagement>
+
+ <scm>
+ <url>http://hg.code.sf.net/p/proguard/code</url>
+ <connection>scm:hg:http://hg.code.sf.net/p/proguard/code</connection>
+ </scm>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.3.2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.8.1</version>
+ <configuration>
+ <links>
+ <link>http://download.oracle.com/javase/1.5.0/docs/api/</link>
+ </links>
+ <quiet>true</quiet>
+ </configuration>
+ <executions>
+ <execution>
+ <id>attach-javadoc</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.1.2</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.1</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <distributionManagement>
+ <repository>
+ <id>sonatype-nexus-staging</id>
+ <name>Nexus Release Repository</name>
+ <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
+ </repository>
+ </distributionManagement>
+
+ <!-- To keep our project layout simple, we're not following the
+ 'one Maven way'. Now Maven is inflicting even more redundant
+ redundancy on us. We're stubborn though. -->
+
+ <modules>
+ <module>base</module>
+ <module>gui</module>
+ <module>ant</module>
+ <module>gradle</module>
+ <module>retrace</module>
+ </modules>
+
+ <profiles>
+ <profile>
+ <id>__wtk_plugin_build__</id>
+ <activation>
+ <file>
+ <exists>${wtk.home}/wtklib/kenv.zip</exists>
+ </file>
+ </activation>
+ <modules>
+ <module>wtk</module>
+ </modules>
+ </profile>
+ </profiles>
+</project>
diff --git a/build/maven/retrace/pom.xml b/build/maven/retrace/pom.xml
new file mode 100644
index 0000000..382f9ee
--- /dev/null
+++ b/build/maven/retrace/pom.xml
@@ -0,0 +1,61 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.proguard</groupId>
+ <artifactId>proguard-parent</artifactId>
+ <version>4.10</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>proguard-retrace</artifactId>
+ <name>[${project.groupId}] ${project.artifactId}</name>
+
+ <build>
+ <sourceDirectory>../../../src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/retrace/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/retrace/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <subpackages>proguard.retrace</subpackages>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <mainClass>proguard.retrace.ReTrace</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>proguard-base</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/build/maven/wtk/pom.xml b/build/maven/wtk/pom.xml
new file mode 100644
index 0000000..fe00533
--- /dev/null
+++ b/build/maven/wtk/pom.xml
@@ -0,0 +1,79 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.proguard</groupId>
+ <artifactId>proguard-parent</artifactId>
+ <version>4.10</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>proguard-wtk-plugin</artifactId>
+ <name>[${project.groupId}] ${project.artifactId}</name>
+
+ <build>
+ <sourceDirectory>../../../src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/wtk/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>proguard/wtk/**</include>
+ </includes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <subpackages>proguard.wtk</subpackages>
+ </configuration>
+ </plugin>
+ </plugins>
+ <resources>
+ <resource>
+ <directory>../../../src</directory>
+ <includes>
+ <include>proguard/wtk/**</include>
+ </includes>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>proguard-base</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>wtklib</groupId>
+ <artifactId>kenv</artifactId>
+ <version>2.2</version>
+ <scope>system</scope>
+ <systemPath>${wtk.home}/wtklib/kenv.zip</systemPath>
+ </dependency>
+ </dependencies>
+</project>