aheritier 2004/05/21 16:44:09
Modified: javadoc plugin.jelly
javadoc/src/plugin-test maven.xml
Added: javadoc/src/plugin-test/src/opt/org/apache/maven3
Dummy5.java Dummy6.java package.html
javadoc/src/plugin-test/src/opt/org/apache/maven3/doc-files
example.txt
Log:
MPJAVADOC-5 : enabling javadoc for maven.compile.src.set
Revision Changes Path
1.38 +88 -33 maven-plugins/javadoc/plugin.jelly
Index: plugin.jelly
===================================================================
RCS file: /home/cvs/maven-plugins/javadoc/plugin.jelly,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- plugin.jelly 19 May 2004 23:20:33 -0000 1.37
+++ plugin.jelly 21 May 2004 23:44:08 -0000 1.38
@@ -67,29 +67,53 @@
<j:set var="needed" value="false" />
</j:when>
<j:otherwise>
- <ant:fileset id="sourceSet" dir="${pom.build.sourceDirectory}">
- <ant:include name="**/*.java"/>
- <!-- FIXME: This is a bad cut and paste -->
- <!-- handle source modifications -->
- <j:forEach var="sm" items="${pom.build.sourceModifications}">
- <ant:available property="classPresent" classname="${sm.className}"/>
- <j:if test="${classPresent != 'true'}">
- <j:forEach var="exclude" items="${sm.excludes}">
- <ant:exclude name="${exclude}"/>
- </j:forEach>
- <j:forEach var="include" items="${sm.includes}">
- <ant:include name="${include}"/>
- </j:forEach>
- </j:if>
- </j:forEach>
- </ant:fileset>
+ <!-- Retreive the value of the property ${maven.compile.src.set} -->
+ <j:if test="${context.getVariable('maven.compile.src.set') != null}">
+ <j:set scope="parent" var="maven.javadoc.src.set"
value="${context.getVariable('maven.compile.src.set')}"/>
+ </j:if>
+ <!-- If the property ${maven.compile.src.set} isn't defined we use
${pom.build.sourceDirectory} -->
+ <j:if test="${context.getVariable('maven.compile.src.set') == null}">
+ <j:set scope="parent" var="maven.javadoc.src.set"
value="${pom.build.sourceDirectory}"/>
+ </j:if>
+
+ <!-- Tokenize the set of directories -->
+ <util:tokenize var="sources.dirs"
delim="${path.separator}">${maven.javadoc.src.set}</util:tokenize>
+
+ <!-- Counter used to name filesets -->
+ <j:set var="src.set.counter" value="0"/>
+
+ <!-- For each directory -->
+ <j:forEach var="dir" items="${sources.dirs}">
+ <!-- If we have not already find sources -->
+ <j:if test="${needed == null}">
+ <!-- We construct the fileset -->
+ <ant:fileset id="${src.set.counter}" dir="${dir}">
+ <ant:include name="**/*.java"/>
+ <!-- handle source modifications -->
+ <j:forEach var="sm" items="${pom.build.sourceModifications}">
+ <ant:available property="classPresent"
classname="${sm.className}"/>
+ <j:if test="${classPresent != 'true'}">
+ <j:forEach var="exclude" items="${sm.excludes}">
+ <ant:exclude name="${exclude}"/>
+ </j:forEach> <!-- end sourceModification exclude -->
+ <j:forEach var="include" items="${sm.includes}">
+ <ant:include name="${include}"/>
+ </j:forEach> <!-- end sourceModification include -->
+ </j:if>
+ </j:forEach> <!-- end sourceModification -->
+ </ant:fileset>
+
+ <ant:fileScanner var="sources">
+ <ant:fileset refid="${src.set.counter}" />
+ </ant:fileScanner>
+
+ <j:set var="needed" scope="parent"
+ value="${sources.iterator().hasNext()}" />
- <ant:fileScanner var="sources">
- <ant:fileset refid="sourceSet" />
- </ant:fileScanner>
+ <j:set var="src.set.counter" value="${src.set.counter + 1}"/>
+ </j:if>
+ </j:forEach> <!-- dir in maven.javadoc.src.set -->
- <j:set var="needed" scope="parent"
- value="${sources.iterator().hasNext()}" />
</j:otherwise>
</j:choose>
@@ -109,7 +133,7 @@
description="Generate API documentation">
<javadoc:check-needed/>
-
+
<j:if test="${needed}">
<ant:mkdir dir="${maven.javadoc.destdir}"/>
@@ -137,7 +161,7 @@
<j:if test="${empty(online)}">
<j:set var="online" value="${maven.mode.online}"/>
</j:if>
-
+
<j:choose>
<j:when test="${online}">
<util:tokenize var="links" delim=","
trim="true">${maven.javadoc.links}</util:tokenize>
@@ -157,7 +181,7 @@
<ant:mkdir dir="${maven.build.dir}/javadoc/" />
<ant:record name="${maven.build.dir}/javadoc/report.txt" action="start" />
-
+
<ant:javadoc
destdir="${maven.javadoc.destdir}"
author="${maven.javadoc.author}"
@@ -173,8 +197,31 @@
additionalparam="${maven.javadoc.additionalparam}"
useexternalfile="${maven.javadoc.useexternalfile}">
- <!-- sourceSet is set by the javadoc:check-needed function -->
- <ant:fileset refid="sourceSet" />
+ <util:tokenize var="sources.dirs" delim="${path.separator}">
+ ${maven.javadoc.src.set}
+ </util:tokenize>
+
+ <j:forEach var="dir" items="${sources.dirs}">
+
+ <echo>[${dir}] added to javadoc sources</echo>
+ <ant:fileset dir="${dir}">
+ <ant:include name="**/*.java"/>
+
+ <!-- handle source modifications -->
+ <j:forEach var="sm" items="${pom.build.sourceModifications}">
+ <ant:available property="classPresent"
classname="${sm.className}"/>
+ <j:if test="${classPresent != 'true'}">
+ <j:forEach var="exclude" items="${sm.excludes}">
+ <ant:exclude name="${exclude}"/>
+ </j:forEach> <!-- sourceModification exclude -->
+ <j:forEach var="include" items="${sm.includes}">
+ <ant:include name="${include}"/>
+ </j:forEach> <!-- sourceModification include -->
+ </j:if>
+ </j:forEach> <!-- sourceModification -->
+ </ant:fileset>
+
+ </j:forEach>--> <!-- dir in maven.javadoc.src.set -->
<j:if test="${context.getVariable('maven.javadoc.source') != null}">
<ant:setProperty name="source" value="${maven.javadoc.source}" />
@@ -189,12 +236,12 @@
<j:choose>
<!-- I am bad with jelly, the test is: "pos == -1" -->
<j:when test="${1+pos == 0}">
- <j:set var="href" value="${link.trim()}" />
- <j:set var="packagelistLoc" value="${href}"/>
+ <j:set var="href" value="${link.trim()}" />
+ <j:set var="packagelistLoc" value="${href}"/>
</j:when>
<j:otherwise>
- <j:set var="href" value="${link.substring(0,pos).trim()}"/>
- <j:set var="packagelistLoc"
value="${link.substring(pos).substring(1).trim()}"/>
+ <j:set var="href" value="${link.substring(0,pos).trim()}"/>
+ <j:set var="packagelistLoc"
value="${link.substring(pos).substring(1).trim()}"/>
</j:otherwise>
</j:choose>
@@ -261,6 +308,7 @@
</j:forEach>
</ant:javadoc>
+
<ant:record name="${maven.build.dir}/javadoc/report.txt" action="stop" />
<j:set var="genDocs" value="${maven.gen.docs}" />
@@ -305,9 +353,16 @@
We must do it manually.
-->
<ant:copy todir="${maven.javadoc.destdir}">
- <ant:fileset dir="${pom.build.sourceDirectory}">
- <ant:include name="**/doc-files/**/*"/>
- </ant:fileset>
+
+ <util:tokenize var="sources.dirs" delim="${path.separator}">
+ ${maven.javadoc.src.set}
+ </util:tokenize>
+
+ <j:forEach var="dir" items="${sources.dirs}">
+ <ant:fileset dir="${dir}">
+ <ant:include name="**/doc-files/**/*"/>
+ </ant:fileset>
+ </j:forEach>
</ant:copy>
</j:if>
1.4 +36 -5 maven-plugins/javadoc/src/plugin-test/maven.xml
Index: maven.xml
===================================================================
RCS file: /home/cvs/maven-plugins/javadoc/src/plugin-test/maven.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- maven.xml 18 May 2004 20:55:51 -0000 1.3
+++ maven.xml 21 May 2004 23:44:09 -0000 1.4
@@ -16,22 +16,53 @@
*/
-->
<project xmlns:util="jelly:util"
+ xmlns:maven="jelly:maven"
xmlns:j="jelly:core"
- xmlns:assert="assert">
+ xmlns:assert="assert"
+ xmlns:ant="jelly:ant">
- <goal name="testPlugin" prereqs="test-javadoc,test-javadoc-jar">
+ <goal name="testPlugin"
prereqs="test-javadoc,test-javadoc-multi-src,test-javadoc-jar">
</goal>
<goal name="test-javadoc">
<delete dir="${maven.build.dir}" failonerror="false"/>
<attainGoal name="maven-javadoc-plugin:report"/>
- <assert:assertFileExists file="${maven.build.dir}/docs/apidocs/index.html"/>
+ <assert:assertFileExists file="${maven.javadoc.destdir}/index.html"/>
<!-- assert that doc-files are copied - Issue MPJAVADOC-24 -->
- <assert:assertFileExists
file="${maven.build.dir}/docs/apidocs/org/apache/maven/doc-files/example.txt"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven/doc-files/example.txt"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven2/doc-files/example.txt"/>
+ <!-- assert that javadoc for classes Dummy, Dummy2, Dummy3, Dummy5, Dummy6 are
generated -->
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven/Dummy.html"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven/Dummy2.html"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven2/Dummy3.html"/>
</goal>
+ <goal name="test-javadoc-multi-src">
+ <delete dir="${maven.build.dir}" failonerror="false"/>
+ <ant:path id="maven.javadoc.src.set">
+ <ant:fileset dir="${basedir}/src/main"/>
+ <ant:fileset dir="${basedir}/src/opt"/>
+ </ant:path>
+ <maven:addPath id="maven.compile.src.set" refid="maven.javadoc.src.set"/>
+ <attainGoal name="maven-javadoc-plugin:report"/>
+ <assert:assertFileExists file="${maven.javadoc.destdir}/index.html"/>
+ <!-- assert that doc-files are copied - Issue MPJAVADOC-24 -->
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven/doc-files/example.txt"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven2/doc-files/example.txt"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven3/doc-files/example.txt"/>
+ <!-- assert that javadoc for classes Dummy, Dummy2, Dummy3, Dummy5, Dummy6 are
generated -->
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven/Dummy.html"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven/Dummy2.html"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven2/Dummy3.html"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven3/Dummy5.html"/>
+ <assert:assertFileExists
file="${maven.javadoc.destdir}/org/apache/maven3/Dummy6.html"/>
+ </goal>
+
+
+<!-- maven.compile.src.set=${basedir}/src/main${path.separator}${basedir}/src/opt
-->
+
<goal name="test-javadoc-jar">
- <delete file="${maven.build.dir}/${maven.final.name}_javadoc.jar"
failonerror="false"/>
+ <delete file="${maven.build.dir}/${maven.final.name}_javadoc.jar"
failonerror="false"/>
<attainGoal name="javadoc:jar"/>
<assert:assertFileExists
file="${maven.build.dir}/${maven.final.name}_javadoc.jar"/>
</goal>
1.1
maven-plugins/javadoc/src/plugin-test/src/opt/org/apache/maven3/Dummy5.java
Index: Dummy5.java
===================================================================
package org.apache.maven3;
public class Dummy5
{
public String badChecky = "error";
}
1.1
maven-plugins/javadoc/src/plugin-test/src/opt/org/apache/maven3/Dummy6.java
Index: Dummy6.java
===================================================================
package org.apache.maven3;
public class Dummy6
{
public String badChecky = "error";
}
1.1
maven-plugins/javadoc/src/plugin-test/src/opt/org/apache/maven3/package.html
Index: package.html
===================================================================
<html>
<head></head>
<body>Package documentation.<br/> <a href="doc-files/example.txt">example.txt in
doc-files directory.</a></body>
</html>
1.1
maven-plugins/javadoc/src/plugin-test/src/opt/org/apache/maven3/doc-files/example.txt
Index: example.txt
===================================================================
This an example
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]