You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by ru...@locus.apache.org on 2000/06/14 14:42:15 UTC
cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs Javadoc.java
rubys 00/06/14 05:42:15
Modified: src/main/org/apache/tools/ant/taskdefs Javadoc.java
Log:
Javadoc 1.2 multiple group support
Submitted by: Donald Leslie <Do...@lotus.com>
Revision Changes Path
1.8 +24 -2 jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
Index: Javadoc.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Javadoc.java 2000/03/03 14:15:42 1.7
+++ Javadoc.java 2000/06/14 12:42:14 1.8
@@ -366,10 +366,32 @@
argList.addElement("-linkoffline");
argList.addElement(linkoffline);
}
+
+ // Javadoc 1.2 rules:
+ // Multiple -group args allowed.
+ // Each arg includes 3 strings: -group [name] [packagelist].
+ // Elements in [packagelist] are colon-delimited.
+ // An element in [packagelist] may end with the * wildcard.
+
+ // Ant javadoc task rules for group attribute:
+ // Args are comma-delimited.
+ // Each arg is 2 space-delimited strings.
+ // E.g., group="XSLT_Packages org.apache.xalan.xslt*,XPath_Packages orgapache.xalan.xpath*"
if (group != null) {
- argList.addElement("-group");
- argList.addElement(group);
+ StringTokenizer tok = new StringTokenizer(group, ",", false);
+ while (tok.hasMoreTokens()) {
+ String grp = tok.nextToken().trim();
+ int space = grp.indexOf(" ");
+ if (space > 0){
+ String name = grp.substring(0, space);
+ String pkgList = grp.substring(space + 1);
+ argList.addElement("-group");
+ argList.addElement(name);
+ argList.addElement(pkgList);
+ }
+ }
}
+
if (stylesheetfile != null) {
argList.addElement("-stylesheetfile");
argList.addElement(stylesheetfile.getAbsolutePath());
Re: cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs
Javadoc.java
Posted by Patrick Chanezon <ch...@netscape.com>.
Sam why do you commit this patch for multiple groups for the javadoc task since it uses a coma separated list ?
I already posted such a patch on 3/27.
Then there was a discussion in this list about the syntax it should use.
And I modified my patch to follow the better syntax implementing these multiple arguments not as attributes of
the task but as subelements.
I submitted it 5/9, then 5/23.
It is a more general patch for javadoc adding:
* support for multiple link and linkoffline options
* support for multiple group options
* support for the @ argument
And I'm still working on it: we're using ant as our build tool on my project and I just added support for doclet
arguments and maxmemory option.
If there is something wrong with my code just tell me.
If you just forgot about my postings, I hope you'll consider them now.
P@
Hi Ant users and developers,
I enhanced the javadoc task in order to make full use of some javadoc
features as descibed in
http://jakarta.apache.org/bugs/show_bug.cgi?id=64
which means:
* support for multiple link and linkoffline options
* support for multiple group options
* support for the @ argument
I submitted such a patch the 3/13 but it used an ugly hack involving a
separator to specify multiple arguments.
This patch takes into account the input I received from the Ant
developers in this list: Stefano Mazzocchi and Sam Ruby.
I implemented the link, linkoffline and group arguments not as
attributes of the task but as subelements.
The new syntax looks like:
<javadoc packagenames="com.dummy.test.*"
sourcepath="src"
destdir="docs/api"
author="true"
version="true"
use="true"
windowtitle="Test API"
doctitle="<h1>Test</h1>"
bottom="<i>Copyright © 2000 Dummy Corp. All Rights
Reserved.</i>"/>
<linkoffline
href="http://java.sun.com/products/jdk/1.2/docs/api/"
packagelistLoc="C:\tmp"/>
<link
href="http://developer.java.sun.com/developer/products/xml/docs/api/"/>
<group title="Group 1 Packages"
packages="com.dummy.test.a*"/>
<group title="Group 2 Packages"
packages="com.dummy.test.b*"/>
</javadoc>
This fixes as well the problem noticed by Scott Came in that list the
3/21.
Thus, the syntax for the task changes: I was not able to maintain
backward compatibility.
If this is an issue, I am open to suggestions about how to maintain it.
The issue is: it seems that the attribute names and the entity names
should be different (else I get a nullPointerException), so I'll have to
change the name of the new options. If this proves to be a problem, and
if you vote for it, I can do that.
I modified the documentation as well.
One question about it: what tool do you use to edit the HTML
documentation ? I edited it in Composer, then added the HTML manually in
order not to pollute it too much with Composer junk.
I hope you'll like this patch.
P@
rubys@locus.apache.org wrote:
> rubys 00/06/14 05:42:15
>
> Modified: src/main/org/apache/tools/ant/taskdefs Javadoc.java
> Log:
> Javadoc 1.2 multiple group support
> Submitted by: Donald Leslie <Do...@lotus.com>
>
> Revision Changes Path
> 1.8 +24 -2 jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
>
> Index: Javadoc.java
> ===================================================================
> RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Javadoc.java,v
> retrieving revision 1.7
> retrieving revision 1.8
> diff -u -r1.7 -r1.8
> --- Javadoc.java 2000/03/03 14:15:42 1.7
> +++ Javadoc.java 2000/06/14 12:42:14 1.8
> @@ -366,10 +366,32 @@
> argList.addElement("-linkoffline");
> argList.addElement(linkoffline);
> }
> +
> + // Javadoc 1.2 rules:
> + // Multiple -group args allowed.
> + // Each arg includes 3 strings: -group [name] [packagelist].
> + // Elements in [packagelist] are colon-delimited.
> + // An element in [packagelist] may end with the * wildcard.
> +
> + // Ant javadoc task rules for group attribute:
> + // Args are comma-delimited.
> + // Each arg is 2 space-delimited strings.
> + // E.g., group="XSLT_Packages org.apache.xalan.xslt*,XPath_Packages orgapache.xalan.xpath*"
> if (group != null) {
> - argList.addElement("-group");
> - argList.addElement(group);
> + StringTokenizer tok = new StringTokenizer(group, ",", false);
> + while (tok.hasMoreTokens()) {
> + String grp = tok.nextToken().trim();
> + int space = grp.indexOf(" ");
> + if (space > 0){
> + String name = grp.substring(0, space);
> + String pkgList = grp.substring(space + 1);
> + argList.addElement("-group");
> + argList.addElement(name);
> + argList.addElement(pkgList);
> + }
> + }
> }
> +
> if (stylesheetfile != null) {
> argList.addElement("-stylesheetfile");
> argList.addElement(stylesheetfile.getAbsolutePath());
>
>
>
--
Patrick Chanezon, iPlanet Market Maker- Portal/EServices Technical Lead
Netscape Communications Corp. - http://people.netscape.com/chanezon/
Opinions are my own.
"Two monks were arguing about a flag. One said: `The flag is moving.'
The other said: `The wind is moving.'
The sixth patriach happened to be passing by. He told them: `Not the wind, not the flag; mind is moving.'"
Zen Koan