<project name="benchmark-viewer" default="build" basedir=".">

  <!--
    TODO(tobyr) 

    Once we have more than a single tool, this build should be re-examined
    to see if several of the targets should be lifted into common.ant.xml.
    The simple targets, like tests*, clean, and checkstyle are good
    candidates, while the other targets depend heavily on the actual
    makeup of the future tools.
  -->

  <property name="gwt.root" location="../.." />
  <property name="project.tail" value="tools/benchmark-viewer" />
  <import file="${gwt.root}/common.ant.xml" />

    <!-- Platform shouldn't matter here, just picking one -->
  <property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev-${build.host.platform}.jar" />
  <property.ensure name="gwt.user.jar" location="${gwt.build.lib}/gwt-user.jar" />
  <property.ensure name="gwt.servlet.jar" location="${gwt.build.lib}/gwt-servlet.jar" />

  <property name="war" location="${project.build}/war" />

  <path id="project.class.path">
    <pathelement location="war/WEB-INF/classes"/>
    <pathelement location="${gwt.user.jar}"/>
    <pathelement location="${gwt.dev.jar}"/>
    <fileset dir="${war}/WEB-INF/lib" includes="**/*.jar"/>
  </path>

  <target name="wardir" description="Create the target war directory">
    <copy todir="${war}">
      <fileset dir="war" excludes="WEB-INF/classes/marker" />
    </copy>
    <mkdir dir="${war}/WEB-INF/lib" />
    <copy todir="${war}/WEB-INF/lib" file="${gwt.servlet.jar}" />
    <copy todir="${war}/WEB-INF/lib" file="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.jar" />
    <copy todir="${war}/WEB-INF/lib" file="${gwt.tools.lib}/jfreechart/jcommon-1.0.6.jar" />
  </target>

  <target name="javac" depends="wardir" description="Compile java source">
    <mkdir dir="${war}/WEB-INF/classes"/>
    <gwt.javac destdir="${war}/WEB-INF/classes">
      <classpath refid="project.class.path"/>
    </gwt.javac>
    <copy todir="${war}/WEB-INF/classes">
      <fileset dir="src" excludes="**/*.java"/>
    </copy>
  </target>

  <target name="gwtc" depends="javac" description="GWT compile to JavaScript">
    <outofdate>
      <sourcefiles>
        <fileset dir="src"/>
        <path refid="project.class.path"/>
      </sourcefiles>
      <targetfiles path="${war}/reportViewer/reportViewer.nocache.js" />
      <sequential>
        <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
          <classpath>
            <pathelement location="src"/>
            <path refid="project.class.path"/>
          </classpath>
          <jvmarg value="-Xmx256M"/>
          <arg value="-war"/>
          <arg value="${war}"/>
          <arg value="com.google.gwt.benchmarks.viewer.ReportViewer"/>
        </java>
      </sequential>
    </outofdate>
  </target>

  <target name="war" depends="gwtc" description="Create a war file">
    <zip destfile="${gwt.build.lib}/gwt-benchmark-viewer.war" basedir="${war}"/>
  </target>

  <target name="build" depends="war" description="Build this project" />

  <target name="clean" description="Cleans this project">
    <delete dir="${war}" failonerror="false" />
    <delete file="${gwt.build.lib}/gwt-benchmark-viewer.war" failonerror="false" />
  </target>

  <target name="checkstyle" description="Static analysis of source">
    <gwt.checkstyle>
      <fileset dir="src"/>
    </gwt.checkstyle>
  </target>

  <target name="test" depends="build" />
</project>
