| 1848 |
mbrodzia |
1 |
<project name="javadoc-task">
|
|
|
2 |
|
|
|
3 |
<macrodef name="ant-javadoc">
|
|
|
4 |
|
|
|
5 |
<attribute name="projectname" default="${ant.project.name}"/>
|
|
|
6 |
<attribute name="title"/>
|
|
|
7 |
<attribute name="copyright" default="Copyright © ERG Transit Systems. All Rights Reserved."/>
|
|
|
8 |
<attribute name="docdir" default="${basedir}/build/doc"/>
|
|
|
9 |
<attribute name="destdir" default="@{docdir}/javadoc"/>
|
|
|
10 |
<attribute name="zipname" default="@{projectname}-javadoc"/>
|
|
|
11 |
<attribute name="versioned" default="false"/>
|
|
|
12 |
<attribute name="packagenames" default="*"/>
|
|
|
13 |
<attribute name="compareVersion" default=""/>
|
|
|
14 |
|
|
|
15 |
<element name = "ant-javadoc-paths"
|
|
|
16 |
optional = "yes"
|
|
|
17 |
implicit = "yes"
|
|
|
18 |
description = "Allows caller to specify classpath and sourcepath, and any doclets."/>
|
|
|
19 |
|
|
|
20 |
<sequential>
|
|
|
21 |
|
|
|
22 |
<mkdir dir="@{destdir}"/>
|
|
|
23 |
|
|
|
24 |
<!-- Generate standard Javadoc API documentation -->
|
|
|
25 |
<javadoc packagenames = "@{packagenames}"
|
|
|
26 |
destdir = "@{destdir}"
|
|
|
27 |
author = "true"
|
|
|
28 |
version = "true"
|
|
|
29 |
use = "true"
|
|
|
30 |
windowtitle = "@{title}"
|
|
|
31 |
failonerror = "false">
|
|
|
32 |
<ant-javadoc-paths/>
|
|
|
33 |
<doctitle><![CDATA[<h1>@{title}</h1>]]></doctitle>
|
|
|
34 |
<bottom><![CDATA[<font size="-1">@{copyright}</font>]]></bottom>
|
|
|
35 |
<link offline = "true"
|
|
|
36 |
href = "http://java.sun.com/j2se/1.5.0/docs/api/"
|
|
|
37 |
packagelistLoc = "${env.JAVA_HOME}\docs\api"/>
|
|
|
38 |
</javadoc>
|
|
|
39 |
|
|
|
40 |
<if>
|
|
|
41 |
<isset property="${jants.build.version}"/>
|
|
|
42 |
<then>
|
|
|
43 |
<property name="thisversion" value="${jants.build.version}"/>
|
|
|
44 |
</then>
|
|
|
45 |
<else>
|
|
|
46 |
<echo message="JDiff running on unversioned package..." taskname="ant-javadoc"/>
|
|
|
47 |
<property name="thisversion" value="LATEST"/>
|
|
|
48 |
</else>
|
|
|
49 |
</if>
|
|
|
50 |
|
|
|
51 |
<!-- Generate JDiff XML file for this package -->
|
|
|
52 |
<javadoc packagenames = "@{packagenames}"
|
|
|
53 |
destdir = "@{destdir}">
|
|
|
54 |
<doclet name = "jdiff.JDiff"
|
|
|
55 |
path = "${using.ant-javadoc.basedir}/jar/jdiff.jar:${using.ant-javadoc.basedir}/jar/xerces.jar">
|
|
|
56 |
<param name="-apidir" value="@{destdir}"/>
|
|
|
57 |
<param name="-apiname" value="@{projectname}-${thisversion}"/>
|
|
|
58 |
<param name="-baseURI" value="http://www.w3.org"/>
|
|
|
59 |
</doclet>
|
|
|
60 |
<ant-javadoc-paths/>
|
|
|
61 |
</javadoc>
|
|
|
62 |
|
|
|
63 |
<if>
|
|
|
64 |
<equals arg1="@{compareVersion}" arg2=""/>
|
|
|
65 |
<then>
|
|
|
66 |
<echo message="No comparison version provided. Skipping JDiff task..." taskname="ant-javadoc"/>
|
|
|
67 |
</then>
|
|
|
68 |
<else>
|
|
|
69 |
<if>
|
|
|
70 |
<available file="${jats.home}/@{projectname}/@{compareVersion}/doc/javadoc/@{zipname}.zip"/>
|
|
|
71 |
<then>
|
|
|
72 |
<!-- Find the latest released version of this project; this is what we will compare against. -->
|
|
|
73 |
<unzip src = "${jats.home}/@{projectname}/@{compareVersion}/doc/javadoc/@{zipname}.zip"
|
|
|
74 |
dest = "${basedir}/build/doc/tmp">
|
|
|
75 |
<patternset includes="@{projectname}-@{compareVersion}.xml"/>
|
|
|
76 |
</unzip>
|
|
|
77 |
|
|
|
78 |
<if>
|
|
|
79 |
<available file="${basedir}/build/doc/tmp/@{projectname}-@{compareVersion}.xml"/>
|
|
|
80 |
<then>
|
|
|
81 |
<!-- Perform actual JDiff comparison -->
|
|
|
82 |
<javadoc private = "yes"
|
|
|
83 |
sourcepath = "${using.ant-javadoc.basedir}"
|
|
|
84 |
destdir = "${basedir}/build/doc/javadoc"
|
|
|
85 |
sourcefiles = "${using.ant-javadoc.basedir}/jar/Null.java">
|
|
|
86 |
<doclet name = "jdiff.JDiff"
|
|
|
87 |
path = "${using.ant-javadoc.basedir}/jar/jdiff.jar:${using.ant-javadoc.basedir}/jar/xerces.jar">
|
|
|
88 |
<param name="-stats"/>
|
|
|
89 |
<param name="-oldapidir" value="${basedir}/build/doc/tmp"/>
|
|
|
90 |
<param name="-oldapi" value="@{projectname}-@{compareVersion}"/>
|
|
|
91 |
<param name="-newapidir" value="@{destdir}"/>
|
|
|
92 |
<param name="-newapi" value="@{projectname}-${thisversion}"/>
|
|
|
93 |
<!-- <param name="-javadocold" value="../../olddocs/"/>-->
|
|
|
94 |
<param name="-javadocnew" value="../"/>
|
|
|
95 |
</doclet>
|
|
|
96 |
</javadoc>
|
|
|
97 |
</then>
|
|
|
98 |
<else>
|
|
|
99 |
<echo message="Comparison version does not contain a JDiff XML file. Skipping JDiff task..."/>
|
|
|
100 |
</else>
|
|
|
101 |
</if>
|
|
|
102 |
</then>
|
|
|
103 |
<else>
|
|
|
104 |
<echo message="No Javadoc available in @{projectname} version @{compareVersion}, or release does not exist. Skipping JDiff task..." taskname="ant-javadoc"/>
|
|
|
105 |
</else>
|
|
|
106 |
</if>
|
|
|
107 |
</else>
|
|
|
108 |
</if>
|
|
|
109 |
|
|
|
110 |
<zip destfile = "@{docdir}/@{zipname}.zip"
|
|
|
111 |
basedir = "@{destdir}"
|
|
|
112 |
update = "true"/>
|
|
|
113 |
|
|
|
114 |
</sequential>
|
|
|
115 |
|
|
|
116 |
</macrodef>
|
|
|
117 |
|
|
|
118 |
</project>
|