You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by "J. Matthew Pryor" <jm...@verveinc.com> on 2000/11/23 01:46:18 UTC
How to pass arguments to a custom doclet
I am using the javadoc task to run a cusom doclet
It works just fine using this rule:
<!-- generate the toplink proxies -->
<target name="generateTopLinkProxies">
<javadoc private="true" sourcepath="${source}" destdir="${gen}"
packagenames="a.b.c.*" docletpathref="run.classpath" >
<doclet
name="a.b.framework.tools.codegen.toplink.CloneProxyDoclet">
</doclet>
</javadoc>
</target>
Now I wish to have the destdir parameter passed to my doculet, but is
doesn't
There was a previous posting on ths list pointing out that the destdir (-d)
option was for the standard doclet only. If that is the case, how do I
specify additional otpions that will get passed into my doclet ?
using a param for the doclet
<doclet
name="a.b.framework.tools.codegen.toplink.CloneProxyDoclet">
<param name="-foo" value="foovalue"/>
</doclet>
results in
[javadoc] Generating Javadoc
[javadoc] Javadoc args: javadoc -private -classpath
D:\dev\jdk1.3\lib\tools.jar;.\3rdparty\jakarta-ant_1.2\lib\ant.jar;.\3rdpart
y\jakarta-ant_1.2\lib\xml.jar;.\3rdparty\jakarta-ant_1.2\lib\jaxp.jar;.\3rdp
arty\jakarta-ant_1.2\lib\parser.jar -sourcepath C:\src -doclet
a.b.framework.tools.codegen.toplink.CloneProxyDoclet -docletpath
C:\build\classes;D:\dev\Oracle\ora81\jdbc\lib\classes111.zip;D:\dev\TopLink3
.0pr1\TLJ\Classes\JDK1.3\toplink.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.3
\tools.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.3\toplinksdk.jar;D:\dev\Top
Link3.0pr1\TLJ\Classes\JDK1.3\toplinksdkxerces.jar;D:\dev\TopLink3.0pr1\TLJ\
Classes\JDK1.3\toplinkx.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.3\xerces.j
ar;C:\3rdparty\log4j-v0.8.5b\log4j.jar -foo foovalue a.b.c
[javadoc] Javadoc execution
[javadoc] usage: javadoc [options] [packagenames] [sourcefiles]
[classnames] [@files]
[javadoc] javadoc: invalid flag: -foo
[javadoc] -overview <file> Read overview documentation from HTML
file
[javadoc] -public Show only public classes and members
[javadoc] -protected Show protected/public classes and
members (default)
[javadoc] -package Show package/protected/public classes
and members
[javadoc] -private Show all classes and members
[javadoc] -help Display command line options
[javadoc] -doclet <class> Generate output via alternate doclet
[javadoc] -docletpath <path> Specify where to find doclet class
files
[javadoc] -1.1 Generate output using JDK 1.1
emulating doclet
[javadoc] -sourcepath <pathlist> Specify where to find source files
[javadoc] -classpath <pathlist> Specify where to find user class files
[javadoc] -bootclasspath <pathlist> Override location of class files
loaded
[javadoc] by the bootstrap class loader
[javadoc] -extdirs <dirlist> Override location of installed
extensions
[javadoc] -verbose Output messages about what Javadoc is
doing
[javadoc] -locale <name> Locale to be used, e.g. en_US or
en_US_WIN
[javadoc] -encoding <name> Source file encoding name
[javadoc] -J<flag> Pass <flag> directly to the runtime
system
[javadoc]
[javadoc] 1 error
Using : additionalparam in the javadoc target
<javadoc private="true" sourcepath="${source}"
packagenames="a.b.c.*" docletpathref="run.classpath" additionalparam="-foo
foovalue" >
<doclet
name="a.b.framework.tools.codegen.toplink.CloneProxyDoclet">
</doclet>
</javadoc>
results in :
[javadoc] Javadoc args: javadoc -private "-foo foovalue" -classpath
D:\dev\jdk1.3\lib\tools.jar;.\3rdparty\jakarta-ant_1.2\lib\ant.jar;.\3rdpart
y\jakarta-ant_1.2\lib\xml.jar;.\3rdparty\jakarta-ant_1.2\lib\jaxp.jar;.\3rdp
arty\jakarta-ant_1.2\lib\parser.jar -sourcepath C:\src -doclet
a.b.framework.tools.codegen.toplink.CloneProxyDoclet -docletpath
C:\build\classes;D:\dev\Oracle\ora81\jdbc\lib\classes111.zip;D:\dev\TopLink3
.0pr1\TLJ\Classes\JDK1.3\toplink.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.3
\tools.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.3\toplinksdk.jar;D:\dev\Top
Link3.0pr1\TLJ\Classes\JDK1.3\toplinksdkxerces.jar;D:\dev\TopLink3.0pr1\TLJ\
Classes\JDK1.3\toplinkx.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.3\xerces.j
ar;C:\3rdparty\log4j-v0.8.5b\log4j.jar a.b.c
[javadoc] Javadoc execution
[javadoc] javadoc: invalid flag: -foo foovalue
[javadoc] usage: javadoc [options] [packagenames] [sourcefiles]
[classnames] [@files]
[javadoc] -overview <file> Read overview documentation from HTML
file
[javadoc] -public Show only public classes and members
[javadoc] -protected Show protected/public classes and
members (default)
[javadoc] -package Show package/protected/public classes
and members
[javadoc] -private Show all classes and members
[javadoc] -help Display command line options
[javadoc] -doclet <class> Generate output via alternate doclet
[javadoc] -docletpath <path> Specify where to find doclet class
files
[javadoc] -1.1 Generate output using JDK 1.1
emulating doclet
[javadoc] -sourcepath <pathlist> Specify where to find source files
[javadoc] -classpath <pathlist> Specify where to find user class files
[javadoc] -bootclasspath <pathlist> Override location of class files
loaded
[javadoc] by the bootstrap class loader
[javadoc] -extdirs <dirlist> Override location of installed
extensions
[javadoc] -verbose Output messages about what Javadoc is
doing
[javadoc] -locale <name> Locale to be used, e.g. en_US or
en_US_WIN
[javadoc] -encoding <name> Source file encoding name
[javadoc] -J<flag> Pass <flag> directly to the runtime
system
[javadoc]
[javadoc] 1 error
So I cannot work out how to get custom options to my doclet
I guess this may be a doclet thing rather than an Ant thing ..
Any help appreciated
Matthew
RE: How to pass arguments to a custom doclet
Posted by "J. Matthew Pryor" <jm...@verveinc.com>.
RTFWWW, I answered my own question :
http://java.sun.com/j2se/1.3/docs/tooldocs/javadoc/overview.html#options
jmp
> -----Original Message-----
> From: J. Matthew Pryor [mailto:jmp@verveinc.com]
> Sent: Wednesday, November 22, 2000 4:46 PM
> To: ant-user@jakarta.apache.org
> Subject: How to pass arguments to a custom doclet
>
>
> I am using the javadoc task to run a cusom doclet
>
> It works just fine using this rule:
> <!-- generate the toplink proxies -->
> <target name="generateTopLinkProxies">
> <javadoc private="true" sourcepath="${source}" destdir="${gen}"
> packagenames="a.b.c.*" docletpathref="run.classpath" >
> <doclet
> name="a.b.framework.tools.codegen.toplink.CloneProxyDoclet">
> </doclet>
> </javadoc>
> </target>
>
> Now I wish to have the destdir parameter passed to my doculet, but is
> doesn't
>
> There was a previous posting on ths list pointing out that the
> destdir (-d)
> option was for the standard doclet only. If that is the case, how do I
> specify additional otpions that will get passed into my doclet ?
>
> using a param for the doclet
>
> <doclet
> name="a.b.framework.tools.codegen.toplink.CloneProxyDoclet">
> <param name="-foo" value="foovalue"/>
> </doclet>
>
> results in
>
> [javadoc] Generating Javadoc
> [javadoc] Javadoc args: javadoc -private -classpath
> D:\dev\jdk1.3\lib\tools.jar;.\3rdparty\jakarta-ant_1.2\lib\ant.jar
> ;.\3rdpart
> y\jakarta-ant_1.2\lib\xml.jar;.\3rdparty\jakarta-ant_1.2\lib\jaxp.
> jar;.\3rdp
> arty\jakarta-ant_1.2\lib\parser.jar -sourcepath C:\src -doclet
> a.b.framework.tools.codegen.toplink.CloneProxyDoclet -docletpath
> C:\build\classes;D:\dev\Oracle\ora81\jdbc\lib\classes111.zip;D:\de
> v\TopLink3
> .0pr1\TLJ\Classes\JDK1.3\toplink.jar;D:\dev\TopLink3.0pr1\TLJ\Clas
> ses\JDK1.3
> \tools.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.3\toplinksdk.jar;
> D:\dev\Top
> Link3.0pr1\TLJ\Classes\JDK1.3\toplinksdkxerces.jar;D:\dev\TopLink3
> .0pr1\TLJ\
> Classes\JDK1.3\toplinkx.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.
> 3\xerces.j
> ar;C:\3rdparty\log4j-v0.8.5b\log4j.jar -foo foovalue a.b.c
> [javadoc] Javadoc execution
> [javadoc] usage: javadoc [options] [packagenames] [sourcefiles]
> [classnames] [@files]
> [javadoc] javadoc: invalid flag: -foo
> [javadoc] -overview <file> Read overview documentation
> from HTML
> file
> [javadoc] -public Show only public classes and members
> [javadoc] -protected Show protected/public classes and
> members (default)
> [javadoc] -package Show
> package/protected/public classes
> and members
> [javadoc] -private Show all classes and members
> [javadoc] -help Display command line options
> [javadoc] -doclet <class> Generate output via alternate doclet
> [javadoc] -docletpath <path> Specify where to find doclet class
> files
> [javadoc] -1.1 Generate output using JDK 1.1
> emulating doclet
> [javadoc] -sourcepath <pathlist> Specify where to find source files
> [javadoc] -classpath <pathlist> Specify where to find user
> class files
> [javadoc] -bootclasspath <pathlist> Override location of class files
> loaded
> [javadoc] by the bootstrap class loader
> [javadoc] -extdirs <dirlist> Override location of installed
> extensions
> [javadoc] -verbose Output messages about what
> Javadoc is
> doing
> [javadoc] -locale <name> Locale to be used, e.g. en_US or
> en_US_WIN
> [javadoc] -encoding <name> Source file encoding name
> [javadoc] -J<flag> Pass <flag> directly to the runtime
> system
> [javadoc]
> [javadoc] 1 error
>
> Using : additionalparam in the javadoc target
>
> <javadoc private="true" sourcepath="${source}"
> packagenames="a.b.c.*" docletpathref="run.classpath" additionalparam="-foo
> foovalue" >
> <doclet
> name="a.b.framework.tools.codegen.toplink.CloneProxyDoclet">
> </doclet>
> </javadoc>
>
> results in :
>
> [javadoc] Javadoc args: javadoc -private "-foo foovalue" -classpath
> D:\dev\jdk1.3\lib\tools.jar;.\3rdparty\jakarta-ant_1.2\lib\ant.jar
> ;.\3rdpart
> y\jakarta-ant_1.2\lib\xml.jar;.\3rdparty\jakarta-ant_1.2\lib\jaxp.
> jar;.\3rdp
> arty\jakarta-ant_1.2\lib\parser.jar -sourcepath C:\src -doclet
> a.b.framework.tools.codegen.toplink.CloneProxyDoclet -docletpath
> C:\build\classes;D:\dev\Oracle\ora81\jdbc\lib\classes111.zip;D:\de
> v\TopLink3
> .0pr1\TLJ\Classes\JDK1.3\toplink.jar;D:\dev\TopLink3.0pr1\TLJ\Clas
> ses\JDK1.3
> \tools.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.3\toplinksdk.jar;
> D:\dev\Top
> Link3.0pr1\TLJ\Classes\JDK1.3\toplinksdkxerces.jar;D:\dev\TopLink3
> .0pr1\TLJ\
> Classes\JDK1.3\toplinkx.jar;D:\dev\TopLink3.0pr1\TLJ\Classes\JDK1.
> 3\xerces.j
> ar;C:\3rdparty\log4j-v0.8.5b\log4j.jar a.b.c
> [javadoc] Javadoc execution
> [javadoc] javadoc: invalid flag: -foo foovalue
> [javadoc] usage: javadoc [options] [packagenames] [sourcefiles]
> [classnames] [@files]
> [javadoc] -overview <file> Read overview documentation
> from HTML
> file
> [javadoc] -public Show only public classes and members
> [javadoc] -protected Show protected/public classes and
> members (default)
> [javadoc] -package Show
> package/protected/public classes
> and members
> [javadoc] -private Show all classes and members
> [javadoc] -help Display command line options
> [javadoc] -doclet <class> Generate output via alternate doclet
> [javadoc] -docletpath <path> Specify where to find doclet class
> files
> [javadoc] -1.1 Generate output using JDK 1.1
> emulating doclet
> [javadoc] -sourcepath <pathlist> Specify where to find source files
> [javadoc] -classpath <pathlist> Specify where to find user
> class files
> [javadoc] -bootclasspath <pathlist> Override location of class files
> loaded
> [javadoc] by the bootstrap class loader
> [javadoc] -extdirs <dirlist> Override location of installed
> extensions
> [javadoc] -verbose Output messages about what
> Javadoc is
> doing
> [javadoc] -locale <name> Locale to be used, e.g. en_US or
> en_US_WIN
> [javadoc] -encoding <name> Source file encoding name
> [javadoc] -J<flag> Pass <flag> directly to the runtime
> system
> [javadoc]
> [javadoc] 1 error
>
> So I cannot work out how to get custom options to my doclet
>
> I guess this may be a doclet thing rather than an Ant thing ..
>
> Any help appreciated
>
> Matthew
>
>
>