dev@glassfish.java.net

ant javadoc help

From: Bill Shannon <bill.shannon_at_sun.com>
Date: Thu, 16 Mar 2006 15:29:47 -0800

I'm trying to set up my build.xml file to be able to generate the
standalone JavaMail release, in addition to the version of JavaMail
bundled with GlassFish. To do that, I need to generate the standalone
javadocs. I've got pretty much everything working except I'm getting
some errors from javadoc:

   [javadoc] Standard Doclet version 1.5.0_05
   [javadoc] Building tree for all the packages and classes...
   [javadoc]
/cache/tmp/glassfish/glassfish/mail/src/java/javax/mail/package.html: warning -
Tag @link: reference not found: javax.mail.internet
   [javadoc]
/cache/tmp/glassfish/glassfish/mail/src/java/javax/mail/package.html: warning -
Tag @link: reference not found: com.sun.mail.imap IMAP
   [javadoc]
/cache/tmp/glassfish/glassfish/mail/src/java/javax/mail/package.html: warning -
Tag @link: reference not found: com.sun.mail.pop3 POP3
   [javadoc]
/cache/tmp/glassfish/glassfish/mail/src/java/javax/mail/package.html: warning -
Tag @link: reference not found: com.sun.mail.smtp SMTP
   [javadoc] Building index for all the packages and classes...
   [javadoc] Building index for all classes...
   [javadoc] /cache/tmp/glassfish/glassfish/mail/src/java/overview.html: warning
- Tag @link: reference not found: com.sun.mail.imap IMAP
   [javadoc] /cache/tmp/glassfish/glassfish/mail/src/java/overview.html: warning
- Tag @link: reference not found: com.sun.mail.pop3 POP3
   [javadoc] /cache/tmp/glassfish/glassfish/mail/src/java/overview.html: warning
- Tag @link: reference not found: com.sun.mail.smtp SMTP
   [javadoc] Generating
/cache/tmp/glassfish/glassfish/mail/build/release/docs/javadocs/stylesheet.css...
   [javadoc] 7 warnings


My use of the javadoc tag is somewhat complex because I don't want to
include docs for all classes, only certain classes in certain directories.
This means I have a long fileset that lists most of the classes. Here's
what my javadoc tag looks like:

         <javadoc packagenames="javax.mail, javax.mail, javax.mail.internet,
                                javax.mail.search, javax.mail.event,
                                javax.mail.util,
                                com.sun.mail.imap,
                                com.sun.mail.pop3,
                                com.sun.mail.smtp,
                                com.sun.mail.dsn"
             destdir="${release.javadocs.dir}"
             classpath="${javaee.jar}:${release.mail.jar}"
             author="true"
             version="true"
             use="true"
             overview="${src.dir}/overview.html"
             windowtitle="JavaMail API documentation"
             doctitle="JavaMail API documentation">
             <group title="JavaMail API Packages" packages="javax.*"/>
             <group title="Sun-specific Packages" packages="com.sun.*"/>
                 <fileset dir="${src.dir}">
                     <include name="javax/mail/**/*.java"/>
                     <include name="com/sun/mail/imap/IMAPFolder.java" />
                     <include name="com/sun/mail/imap/IMAPStore.java" />
                     <include name="com/sun/mail/imap/IMAPSSLStore.java" />
                     <include name="com/sun/mail/imap/ACL.java" />
                     <include name="com/sun/mail/imap/Rights.java" />
                     <include name="com/sun/mail/imap/Quota.java" />
                     <include name="com/sun/mail/pop3/POP3Store.java" />
                     <include name="com/sun/mail/pop3/POP3SSLStore.java" />
                     <include name="com/sun/mail/pop3/POP3Folder.java" />
                     <include name="com/sun/mail/pop3/POP3Message.java" />
                     <include name="com/sun/mail/smtp/SMTPMessage.java" />
                     <include
name="com/sun/mail/smtp/SMTPAddressFailedException.java" />
                     <include
name="com/sun/mail/smtp/SMTPAddressSucceededException.java" />
                     <include
name="com/sun/mail/smtp/SMTPSendFailedException.java" />
                     <include name="com/sun/mail/smtp/SMTPTransport.java" />
                     <include name="com/sun/mail/smtp/SMTPSSLTransport.java" />
                     <include name="com/sun/mail/dsn/DeliveryStatus.java" />
                     <include name="com/sun/mail/dsn/MessageHeaders.java" />
                     <include name="com/sun/mail/dsn/MultipartReport.java" />
                 </fileset>
         </javadoc>

If I remove the fileset and add a sourcepath attribute, I don't get the
errors, but of course that causes it to include files I don't want
included.

If I add the package.html files to the fileset, it fails completely.

Any idea why javadoc can't resolve the @link references to packages?

Dinesh says there's a similar problem with the app server javadoc build.

Thanks!