add jdiff build packages, update build.properties for struts2, update build.xml to include a jdiff target & fix up javadoc target, add a new uploadApiDiffs script, update uploadJavadocs script.
git-svn-id: https://google-guice.googlecode.com/svn/trunk@1346 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/build.xml b/build.xml
index c913e9d..e662a5b 100644
--- a/build.xml
+++ b/build.xml
@@ -103,13 +103,20 @@
</syspropertyset>
</java>
</target>
-
- <target name="javadoc">
+
+ <property name="old.api" value="2.0"/>
+ <property name="new.api" value="3.0"/>
+ <target name="jdiff">
+ <property name="jdiff.home" value="lib/build/jdiff"/>
+ <property name="jdiff.tmp" value="build/docs/latest-api-diffs"/>
+ <delete dir="${jdiff.tmp}"/>
+ <mkdir dir="${jdiff.tmp}"/>
+
+ <!-- Generate API for current version. -->
<javadoc packagenames="com.google.*"
- destdir="build/docs"
- docletpath="lib/build/doclava.jar"
- bootclasspath="${java.home}/lib/rt.jar"
- maxmemory="512M">
+ docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
+ maxmemory="512M"
+ classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="com/google/**"/>
<exclude name="com/google/inject/internal/**"/>
@@ -122,13 +129,64 @@
<fileset dir="${throwingproviders.src.dir}"/>
<fileset dir="${multibindings.src.dir}"/>
<fileset dir="${persist.src.dir}"/>
+ <fileset dir="${struts2.src.dir}"/>
+
+ <doclet name="jdiff.JDiff"
+ path="${jdiff.home}/jdiff.jar:${jdiff.home}/xerces.jar">
+ <param name="-apidir" value="${jdiff.tmp}" />
+ <param name="-apiname" value="${new.api}" />
+ </doclet>
+ </javadoc>
+
+ <!-- Do a diff against the previous version. -->
+ <javadoc packagenames="com.google.*"
+ destdir="${jdiff.tmp}"
+ docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
+ maxmemory="512M"
+ sourcefiles="${jdiff.home}/Null.java"
+ classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
+ <doclet name="jdiff.JDiff">
+ <param name="-oldapi" value="${old.api}"/>
+ <param name="-oldapidir" value="latest-api-diffs"/>
+ <param name="-javadocold" value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${old.api}/javadoc/"/>
+ <param name="-newapi" value="${new.api}"/>
+ <param name="-newapidir" value="${jdiff.tmp}"/>
+ <param name="-javadocnew" value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${new.api}/javadoc/"/>
+ <param name="-stats"/>
+ <param name="-docchanges"/>
+ </doclet>
+ </javadoc>
+ </target>
+
+ <target name="javadoc">
+ <javadoc packagenames="com.google.*"
+ destdir="build/docs"
+ docletpath="lib/build/doclava.jar"
+ bootclasspath="${java.home}/lib/rt.jar"
+ maxmemory="512M"
+ classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
+ <fileset dir="${src.dir}" defaultexcludes="yes">
+ <include name="com/google/**"/>
+ <exclude name="com/google/inject/internal/**"/>
+ </fileset>
+ <fileset dir="${servlet.src.dir}"/>
+ <fileset dir="${spring.src.dir}"/>
+ <fileset dir="${assistedinject.src.dir}"/>
+ <fileset dir="${jmx.src.dir}"/>
+ <fileset dir="${jndi.src.dir}"/>
+ <fileset dir="${throwingproviders.src.dir}"/>
+ <fileset dir="${multibindings.src.dir}"/>
+ <fileset dir="${persist.src.dir}"/>
+ <!-- TODO: this breaks Doclava for some reason
+ <fileset dir="${struts2.src.dir}"/> -->
<doclet name="com.google.doclava.Doclava">
<param name="-hdf"/> <param name="project.name"/> <param name="Guice"/>
<param name="-since"/> <param name="lib/build/guice-1.0.xml"/> <param name="Guice_1.0" />
- <param name="-since"/> <param name="lib/build/guice-2.0.xml"/> <param name="Guice_2.0" />
- <param name="-apiversion" value="Guice_3.0"/>
+ <param name="-since"/> <param name="lib/build/guice-2.0.xml"/> <param name="Guice_2.0" />
+ <param name="-apiversion" value="Guice_${new.api}"/>
<param name="-assetsdir" value="javadoc/assets"/>
+ <param name="-apixml" value="build/docs/guice-${new.api}.xml"/>
<!-- TODO: fix doclava federation
http://aopalliance.sourceforge.net/doc
http://www.springframework.org/docs/api/