<!-- This Ant build file illustrates how to process ProGuard (including its
     main application, its GUI, its Ant task, and its WTK plugin), and the
     ReTrace tool, all in one go.
     Usage: ant -f proguard.xml -->

<project name="ProGuard" default="obfuscate" basedir="../..">

<target name="obfuscate">
  <taskdef resource="proguard/ant/task.properties"
           classpath="lib/proguard.jar" />

  <proguard printmapping="proguard.map"
            overloadaggressively="on"
            repackageclasses=""
            renamesourcefileattribute="SourceFile">

    <!-- Specify the input jars, output jars, and library jars. -->

    <injar  file="lib/proguard.jar" />
    <injar  file="lib/proguardgui.jar" filter="!META-INF/**" />
    <injar  file="lib/retrace.jar"     filter="!META-INF/**" />

    <outjar file="examples/ant/proguard_out.jar" />

    <libraryjar file="${java.home}/lib/rt.jar" />
    <libraryjar file="/usr/local/java/ant/lib/ant.jar" />
    <libraryjar file="/usr/local/java/gradle-2.1/lib/plugins/gradle-plugins-2.1.jar" />
    <libraryjar file="/usr/local/java/gradle-2.1/lib/gradle-base-services-2.1.jar" />
    <libraryjar file="/usr/local/java/gradle-2.1/lib/gradle-base-services-groovy-2.1.jar" />
    <libraryjar file="/usr/local/java/gradle-2.1/lib/gradle-core-2.1.jar" />
    <libraryjar file="/usr/local/java/gradle-2.1/lib/groovy-all-2.3.6.jar" />
    <libraryjar file="/usr/local/java/wtk2.5.2/wtklib/kenv.zip" />

    <!-- Adapt the resource file names, based on the corresponding obfuscated
         class names. -->

    <adaptresourcefilenames    filter="**.properties,**.gif,**.jpg"  />
    <adaptresourcefilecontents filter="proguard/ant/task.properties" />

    <!-- Optionally preserve line numbers in the obfuscated stack traces.
    <keepattribute name="LineNumberTable">
    <keepattribute name="SourceFile">
    -->

    <!-- The main seeds: ProGuard and its companion tool ReTrace. -->

    <keep access="public" name="proguard.ProGuard">
      <method access    ="public static"
              type      ="void"
              name      ="main"
              parameters="java.lang.String[]" />
    </keep>
    <keep access="public" name="proguard.gui.ProGuardGUI">
      <method access    ="public static"
              type      ="void"
              name      ="main"
              parameters="java.lang.String[]" />
    </keep>
    <keep access="public" name="proguard.retrace.ReTrace">
      <method access    ="public static"
              type      ="void"
              name      ="main"
              parameters="java.lang.String[]" />
    </keep>

    <!-- If we have ant.jar, we can properly process the Ant task. -->

    <keeppackagename name="proguard.ant" />
    <keep name="proguard.ant.*" allowobfuscation="true" />
    <keepclassmembers access="public" name="proguard.ant.*">
      <constructor parameters="org.apache.tools.ant.Project" />
      <method access="public" type="void" name="set*" parameters="***" />
      <method access="public" type="void" name="add*" parameters="***" />
    </keepclassmembers>

    <!-- If we have the Gradle jars, we can properly process the Gradle task. -->

    <keep access="public" name="proguard.gradle.*">
      <method access="public" />
    </keep>

    <!-- If we have kenv.zip, we can process the J2ME WTK plugin. -->

    <keep access="public" name="proguard.wtk.ProGuardObfuscator" />

  </proguard>
</target>

</project>
