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

  <property.ensure name="java.tools.path" location="${java.home}/../lib/tools.jar" unless="build.host.ismac" message="Cannot find ${java.home}/../lib/tools.jar; please use a JDK when building doc rather than a JRE." />

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

  <!--
    *** Note that if the USER_SOURCE_PATH paths are updated,
    the fileset dependencies in the outofdate tags in the
    javadoc target must be updated as well.
  -->
  <path id="USER_SOURCE_PATH">
    <pathelement location="${gwt.root}/user/src" />
    <pathelement location="${gwt.root}/user/javadoc" />
    <pathelement location="${gwt.root}/user/super" />
    <pathelement location="${gwt.root}/dev/core/src" />
    <pathelement location="${gwt.root}/dev/core/super" />
  </path>

  <path id="USER_CLASS_PATH">
    <pathelement location="${gwt.dev.jar}" />
    <pathelement location="${gwt.user.jar}" />
    <pathelement location="${gwt.tools.lib}/lib/json/android-sdk-19.1/json-android.jar" />
    <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
    <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" />
    <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA-sources.jar" />
    <pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar" />
  </path>

  <path id="DOC_PATH">
    <pathelement location="./src" />
    <pathelement location="${gwt.build.lib}/gwt-doctool.jar" />
    <path path="${java.tools.path}" />
    <path refid="USER_SOURCE_PATH" />
  </path>

  <!-- Rebuild the javadoc if a source file is newer than the index-->
  <target name="javadoc">
    <outofdate>
      <sourcefiles>
        <fileset file="./src/gwt-user.html" />
        <fileset dir="${gwt.root}/user/src">
          <include name="**/*.java" />
        </fileset>
        <fileset dir="${gwt.root}/user/javadoc">
          <include name="**/*.java" />
        </fileset>
        <fileset dir="${gwt.root}/user/super">
          <include name="**/*.java" />
        </fileset>
        <fileset dir="${gwt.root}/dev/core/src">
          <include name="**/*.java" />
        </fileset>
        <fileset dir="${gwt.root}/dev/core/super">
          <include name="**/*.java" />
        </fileset>
      </sourcefiles>
      <targetfiles>
        <!--
          only checks one output file, will not rebuild other
          files if this one is up to date
        -->
        <pathelement path="${project.build}/javadoc/index.html" />
      </targetfiles>
      <sequential>
        <echo>Building javadoc</echo>
        <antcall target="makeJavadoc" />
      </sequential>
    </outofdate>
  </target>

  <!-- Really rebuild the javadoc -->
  <target name="makeJavadoc">
    <java classpathref="DOC_PATH" classname="com.google.doctool.custom.FindPackages" fork="yes" failonerror="true">
      <arg value="${gwt.root}" />
    </java>
    <property file="${gwt.root}/build/out/packages.properties" />
    <java classpathref="DOC_PATH" classname="com.google.doctool.custom.GWTJavaDoclet" fork="yes" failonerror="true">
      <jvmarg value="-Xmx1024m" />
      <arg value="-noindex" />
      <arg value="-notree" />
      <arg value="-quiet" />
      <arg value="-notimestamp" />
      <arg value="-use" />
      <arg value="-source" />
      <arg value="${javac.source}" />
      <arg value="-windowtitle" />
      <arg value="GWT Javadoc" />
      <arg value="-doctitle" />
      <arg value="GWT API Reference" />
      <arg value="-header" />
      <arg value="GWT ${gwt.version}" />
      <arg value="-package" />
      <arg value="-encoding"/>
      <arg value="UTF-8"/>
      <arg value="-d" />
      <arg value="${project.build}/javadoc" />
      <arg value="-linkoffline" />
      <arg value="http://download.oracle.com/javaee/6/api/" />
      <arg value="validation-package-list" />
      <arg value="-linkoffline" />
      <arg value="http://www.json.org/javadoc" />
      <arg value="json-package-list" />
      <arg value="-classpath" />
      <arg pathref="USER_CLASS_PATH" />
      <arg value="-sourcepath" />
      <arg pathref="USER_SOURCE_PATH" />
      <arg value="-examplepackages" />
      <arg value="com.google.gwt.examples;com.google.gwt.examples.i18n;com.google.gwt.examples.http.client;com.google.gwt.examples.rpc.server;com.google.gwt.examples.benchmarks;com.google.gwt.examples.cell;com.google.gwt.examples.cellview;com.google.gwt.examples.view;com.google.gwt.examples.cellview;com.google.gwt.examples.dom.builder" />
      <arg value="-packages" />
      <arg value="${USER_PKGS};${USER_CLASSES}" />
    </java>
  </target>

  <target name="emul-ezt">
    <outofdate>
      <sourcefiles>
        <fileset dir="${gwt.root}/user/super/com/google/gwt/emul">
          <include name="**/*.java" />
        </fileset>
      </sourcefiles>
      <targetfiles>
        <pathelement path="${project.build}/emul-ezt/fragment.html" />
      </targetfiles>
      <sequential>
        <echo>Building JRE emulation EZT</echo>
        <java classpathref="DOC_PATH" classname="com.google.doctool.custom.FindPackages" fork="yes" failonerror="true">
          <arg value="${gwt.root}" />
        </java>
        <property file="${gwt.root}/build/out/packages.properties" />
        <java classpathref="DOC_PATH" classname="com.google.doctool.JreDocTool" fork="yes" failonerror="true">
          <arg value="-out" />
          <arg value="${project.build}/emul-ezt/fragment.html" />
          <arg value="-classpath" />
          <arg pathref="USER_CLASS_PATH" />
          <arg value="-sourcepath" />
          <arg path="${gwt.root}/user/super/com/google/gwt/emul:${gwt.root}/dev/core/super/com/google/gwt/dev/jjs/intrinsic" />
          <arg value="-packages" />
          <arg value="${JAVA_PKGS}" />
        </java>
      </sequential>
    </outofdate>
  </target>

  <target name="build" depends="javadoc, emul-ezt" />
</project>
