<project name="servlet" default="build" basedir=".">
  <property name="gwt.root" location=".." />
  <property name="project.tail" value="servlet" />
  <import file="${gwt.root}/common.ant.xml" />

  <property.ensure name="gwt.user.root" location="${gwt.root}/user" />
  <property.ensure name="gwt.dev.build" location="${gwt.build.out}/dev" />
  <property.ensure name="gwt.user.build" location="${gwt.build.out}/user" />
  <property.ensure name="gwt.dev.bin" location="${gwt.dev.build}/bin" />
  <property.ensure name="gwt.user.bin" location="${gwt.user.build}/bin" />

  <property name="project.lib.deps"
      location="${gwt.build.lib}/gwt-${ant.project.name}-deps.jar" />

  <target name="build" description="Packages this project into a jar"
      depends="-servlet, -deps" />

  <target name="clean" description="Cleans this project's intermediate and output files">
    <delete file="${project.lib}" />
    <delete file="${project.lib.deps}" />
  </target>

  <target name="-servlet" description="Packages this project into a jar">
    <mkdir dir="${gwt.build.lib}" />
    <gwt.jar>
      <fileset dir="${gwt.dev.bin}">
        <include name="com/google/gwt/dev/asm/**" />
        <include name="com/google/gwt/dev/util/Name*.class" />
      </fileset>
      <fileset dir="${gwt.user.bin}">
        <exclude name="**/rebind/**" />
        <exclude name="**/tools/**" />
        <exclude name="**/super/**" />
        <exclude name="com/google/gwt/json/**" />
        <exclude name="com/google/gwt/junit/*" />
        <exclude name="com/google/gwt/junit/client/GWTTestCase.*" />
        <exclude name="com/google/gwt/junit/remote/**" />
        <exclude name="com/google/gwt/junit/server/**" />
        <exclude name="com/google/gwt/benchmarks/*" />
      </fileset>
    </gwt.jar>
  </target>

  <target name="-deps" description="Packages this project's dependencies into a jar">
    <mkdir dir="${gwt.build.lib}" />
    <gwt.jar destfile="${project.lib.deps}">
      <!-- The following two jars satisfy RequestFactory dependencies. -->
      <zipfileset src="${gwt.tools.redist}/json/r2_20080312/json-1.5.jar" />
      <zipfileset src="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" />
    </gwt.jar>
  </target>
</project>
