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
>
>
>