diff options
author | Ying Wang <wangying@google.com> | 2013-09-20 16:17:43 -0700 |
---|---|---|
committer | Ying Wang <wangying@google.com> | 2013-09-20 16:32:42 -0700 |
commit | b9cc48a43ed984587c939d02fba5316bf5c0df6e (patch) | |
tree | 7d42e31a97264803b1147ef6001e8a5e6968a122 /build | |
parent | 54f59ac04f3e21d5aecdd46bb1e7f4577924ab92 (diff) | |
download | external_proguard-b9cc48a43ed984587c939d02fba5316bf5c0df6e.tar.gz external_proguard-b9cc48a43ed984587c939d02fba5316bf5c0df6e.tar.bz2 external_proguard-b9cc48a43ed984587c939d02fba5316bf5c0df6e.zip |
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/README | 40 | ||||
-rw-r--r-- | build/build.properties | 4 | ||||
-rwxr-xr-x | build/build.sh | 16 | ||||
-rw-r--r-- | build/build.xml | 117 | ||||
-rw-r--r-- | build/makefile | 27 | ||||
-rw-r--r-- | build/maven/ant/pom.xml | 78 | ||||
-rw-r--r-- | build/maven/base/pom.xml | 69 | ||||
-rw-r--r-- | build/maven/gradle/pom.xml | 85 | ||||
-rw-r--r-- | build/maven/gui/pom.xml | 78 | ||||
-rw-r--r-- | build/maven/pom.xml | 162 | ||||
-rw-r--r-- | build/maven/retrace/pom.xml | 61 | ||||
-rw-r--r-- | build/maven/wtk/pom.xml | 79 |
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> |