Fixes issue 544. Changes to avoid rebuilding the documentation. Reviewed by scottb.
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@507 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/doc/build.xml b/doc/build.xml
index 4908d98..a9dab35 100644
--- a/doc/build.xml
+++ b/doc/build.xml
@@ -13,6 +13,11 @@
<property name="LANG_PKGS" value="java.lang;java.util" />
<property name="DOC_PKGS" value="com.google.gwt.doc" />
+ <!--
+ *** Note that if the USER_SOURCE_PATH paths are updated,
+ the fileset dependencies in the outofdate tags in the doc,
+ user, and javadoc targets must be updated as well.
+ -->
<path id="USER_SOURCE_PATH">
<pathelement location="${gwt.root}/user/src" />
<pathelement location="${gwt.root}/user/javadoc" />
@@ -26,6 +31,11 @@
<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
</path>
+ <!--
+ *** Note that if the DOC_SOURCE_PATH paths are updated,
+ the fileset dependencies in the outofdate tags in the
+ doc target must be updated as well.
+ -->
<path id="DOC_SOURCE_PATH">
<pathelement location="./src" />
<path refid="USER_SOURCE_PATH" />
@@ -39,91 +49,206 @@
</path>
<target name="doc">
- <java classpathref="DOC_PATH" classname="com.google.doctool.DocTool" fork="yes" failonerror="true">
- <arg value="doc" />
- <arg value="gwt-doc" />
- <arg value="-out" />
- <arg value="${project.build}" />
- <arg value="-classpath" />
- <arg pathref="USER_CLASS_PATH" />
- <arg value="-sourcepath" />
- <arg pathref="DOC_SOURCE_PATH" />
- <arg value="-packages" />
- <arg value="${DOC_PKGS}" />
- </java>
+ <outofdate>
+ <sourcefiles>
+ <fileset dir="./src">
+ <include name="**/*.java" />
+ </fileset>
+ <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>
+ </sourcefiles>
+ <targetfiles>
+ <!--
+ only checks one output file, will not
+ rebuild other files if this one is up
+ to date
+ -->
+ <pathelement path="${project.build}/gwt-doc.doc.xml" />
+ </targetfiles>
+ <sequential>
+ <java classpathref="DOC_PATH" classname="com.google.doctool.DocTool" fork="yes" failonerror="true">
+ <arg value="doc" />
+ <arg value="gwt-doc" />
+ <arg value="-out" />
+ <arg value="${project.build}" />
+ <arg value="-classpath" />
+ <arg pathref="USER_CLASS_PATH" />
+ <arg value="-sourcepath" />
+ <arg pathref="DOC_SOURCE_PATH" />
+ <arg value="-packages" />
+ <arg value="${DOC_PKGS}" />
+ </java>
+ </sequential>
+ </outofdate>
</target>
<target name="user">
- <move file="${gwt.root}/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java" tofile="${gwt.root}/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java_" failonerror="false" />
- <java classpathref="DOC_PATH" classname="com.google.doctool.DocTool" fork="yes" failonerror="true">
- <arg value="java" />
- <arg value="gwt-user" />
- <arg value="-out" />
- <arg value="${project.build}" />
- <arg value="-overview" />
- <arg value="./src/gwt-user.html" />
- <arg value="-classpath" />
- <arg pathref="USER_CLASS_PATH" />
- <arg value="-sourcepath" />
- <arg pathref="USER_SOURCE_PATH" />
- <arg value="-packages" />
- <arg value="${USER_PKGS}" />
- </java>
- <move file="${gwt.root}/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java_" tofile="${gwt.root}/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java" failonerror="false" />
+ <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>
+ </sourcefiles>
+ <targetfiles>
+ <!--
+ only checks one output file, will not rebuild other files
+ if this one is up to date
+ -->
+ <pathelement path="${project.build}/gwt-user.java.xml" />
+ </targetfiles>
+ <sequential>
+ <move file="${gwt.root}/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java" tofile="${gwt.root}/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java_" failonerror="false" />
+ <java classpathref="DOC_PATH" classname="com.google.doctool.DocTool" fork="yes" failonerror="true">
+ <arg value="java" />
+ <arg value="gwt-user" />
+ <arg value="-out" />
+ <arg value="${project.build}" />
+ <arg value="-overview" />
+ <arg value="./src/gwt-user.html" />
+ <arg value="-classpath" />
+ <arg pathref="USER_CLASS_PATH" />
+ <arg value="-sourcepath" />
+ <arg pathref="USER_SOURCE_PATH" />
+ <arg value="-packages" />
+ <arg value="${USER_PKGS}" />
+ </java>
+ <move file="${gwt.root}/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java_" tofile="${gwt.root}/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java" failonerror="false" />
+ </sequential>
+ </outofdate>
</target>
<target name="lang">
- <java classpathref="DOC_PATH" classname="com.google.doctool.DocTool" fork="yes" failonerror="true">
- <arg value="java" />
- <arg value="gwt-lang" />
- <arg value="-out" />
- <arg value="${project.build}" />
- <arg value="-overview" />
- <arg value="./src/gwt-lang.html" />
- <arg value="-classpath" />
- <arg pathref="USER_CLASS_PATH" />
- <arg value="-sourcepath" />
- <arg path="${gwt.root}/user/super/com/google/gwt/emul" />
- <arg value="-packages" />
- <arg value="${LANG_PKGS}" />
- </java>
+ <outofdate>
+ <sourcefiles>
+ <fileset file="./src/gwt-lang.html" />
+ <fileset dir="${gwt.root}/user/super/com/google/gwt/emul">
+ <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}/gwt-lang.java.xml" />
+ </targetfiles>
+ <sequential>
+ <java classpathref="DOC_PATH" classname="com.google.doctool.DocTool" fork="yes" failonerror="true">
+ <arg value="java" />
+ <arg value="gwt-lang" />
+ <arg value="-out" />
+ <arg value="${project.build}" />
+ <arg value="-overview" />
+ <arg value="./src/gwt-lang.html" />
+ <arg value="-classpath" />
+ <arg pathref="USER_CLASS_PATH" />
+ <arg value="-sourcepath" />
+ <arg path="${gwt.root}/user/super/com/google/gwt/emul" />
+ <arg value="-packages" />
+ <arg value="${LANG_PKGS}" />
+ </java>
+ </sequential>
+ </outofdate>
</target>
<target name="html" depends="doc,user,lang">
- <java classpathref="DOC_PATH" classname="com.google.doctool.DocTool" fork="yes" failonerror="true">
- <arg value="-html" />
- <arg value="Google Web Toolkit (Beta)" />
- <arg value="gwt-doc" />
- <arg value="gwt-user" />
- <arg value="gwt-lang" />
- <arg value="-out" />
- <arg value="${project.build}" />
- <arg value="-imagepath" />
- <arg path="./src" />
- </java>
- <delete file="${project.build}/html/topics.htmls" />
- <mkdir dir="${project.build}/css" />
- <copy todir="${project.build}/css">
- <fileset dir="src" includes="*.css" />
- </copy>
+ <outofdate>
+ <sourcefiles>
+ <fileset dir="${project.build}">
+ <include name="gwt-*.xml" />
+ </fileset>
+ </sourcefiles>
+ <targetfiles>
+ <!--
+ only checks one output file, will not rebuild other
+ files if this one is up to date
+ -->
+ <pathelement path="${project.build}/topics.xml" />
+ </targetfiles>
+ <sequential>
+ <java classpathref="DOC_PATH" classname="com.google.doctool.DocTool" fork="yes" failonerror="true">
+ <arg value="-html" />
+ <arg value="Google Web Toolkit (Beta)" />
+ <arg value="gwt-doc" />
+ <arg value="gwt-user" />
+ <arg value="gwt-lang" />
+ <arg value="-out" />
+ <arg value="${project.build}" />
+ <arg value="-imagepath" />
+ <arg path="./src" />
+ </java>
+ <delete file="${project.build}/html/topics.htmls" />
+ <mkdir dir="${project.build}/css" />
+ <copy todir="${project.build}/css">
+ <fileset dir="src" includes="*.css" />
+ </copy>
+ </sequential>
+ </outofdate>
</target>
<target name="javadoc">
- <java classpathref="DOC_PATH" classname="com.google.doctool.custom.GWTJavaDoclet" fork="yes" failonerror="true">
- <arg value="-quiet" />
- <arg value="-source" />
- <arg value="1.4" />
- <arg value="-d" />
- <arg value="${project.build}/javadoc" />
- <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" />
- <arg value="-packages" />
- <arg value="${USER_PKGS}" />
- </java>
+ <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>
+ </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>
+ <java classpathref="DOC_PATH" classname="com.google.doctool.custom.GWTJavaDoclet" fork="yes" failonerror="true">
+ <arg value="-quiet" />
+ <arg value="-source" />
+ <arg value="1.4" />
+ <arg value="-d" />
+ <arg value="${project.build}/javadoc" />
+ <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" />
+ <arg value="-packages" />
+ <arg value="${USER_PKGS}" />
+ </java>
+ </sequential>
+ </outofdate>
</target>
<target name="build" depends="html, javadoc" />