<!-- This Ant build file illustrates how to process servlets.
     Usage: ant -f servlets.xml -->

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

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

  <proguard verbose="true"
            printseeds="on"
            printmapping="proguard.map"
            renamesourcefileattribute="SourceFile">

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

    <injar  file="in.jar" />
    <outjar file="out.jar" />

    <libraryjar file="${java.home}/lib/rt.jar" />

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

    <!-- Preserve all annotations. -->

    <keepattribute name="*Annotation*" />

    <!-- Keep all public servlets. -->

    <keep access="public" implements="javax.servlet.Servlet" />

    <!-- Preserve all native method names and the names of their classes. -->

    <keepclasseswithmembernames includedescriptorclasses="true">
      <method access="native" />
    </keepclasseswithmembernames>

    <!-- Preserve the methods that are required in all enumeration classes. -->

    <keepclassmembers allowoptimization="true" type="enum">
      <method access="public static"
              type="**[]"
              name="values"
              parameters="" />
      <method access="public static"
              type="**"
              name="valueOf"
              parameters="java.lang.String" />
    </keepclassmembers>

    <!-- Explicitly preserve all serialization members. The Serializable
         interface is only a marker interface, so it wouldn't save them.
         You can comment this out if your library doesn't use serialization.
         If your code contains serializable classes that have to be backward
         compatible, please refer to the manual. -->

    <keepclassmembers implements="java.io.Serializable">
      <field  access    ="static final"
              type      ="long"
              name      ="serialVersionUID" />
      <field  access    ="static final"
              type      ="java.io.ObjectStreamField[]"
              name      ="serialPersistentFields" />
      <method access    ="private"
              type      ="void"
              name      ="writeObject"
              parameters="java.io.ObjectOutputStream" />
      <method access    ="private"
              type      ="void"
              name      ="readObject"
              parameters="java.io.ObjectInputStream" />
      <method type      ="java.lang.Object"
              name      ="writeReplace"
              parameters="" />
      <method type      ="java.lang.Object"
              name      ="readResolve"
              parameters="" />
    </keepclassmembers>

    <!-- Your application may contain more items that need to be preserved;
         typically classes that are dynamically created using Class.forName -->

  </proguard>
</target>

</project>
