Bug 3056 - Exclude Test cases from public java doc
Summary: Exclude Test cases from public java doc
Status: RESOLVED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Andrew Cagney
URL:
Keywords:
Depends on:
Blocks: 3390
  Show dependency treegraph
 
Reported: 2006-08-15 15:27 UTC by Tom Tromey
Modified: 2006-12-09 18:22 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Tromey 2006-08-15 15:27:49 UTC
While reading through the online javadoc for frysk I noticed a couple oddities.

First, many things are undocumented.

Second, the various Test classes are included in the main javadoc.
This clutters the pages and makes it harder to see what is really API.
Comment 1 Mark Wielaard 2006-08-23 10:34:55 UTC
The Test classes are public because of an oddity with junit which requires this
(or at least, the way our build system uses junit). But it would be good to
don't include them in the public documentation.
Comment 2 Andrew Cagney 2006-10-19 20:08:34 UTC
Should this work?

cagney@nettle$ find `echo
../frysk/frysk-imports:../frysk/frysk-sys:../frysk/frysk-core:../frysk/frysk-gtk:../frysk/frysk-gui:./frysk-imports:./frysk-sys:./frysk-core:./frysk-gtk:./frysk-gui:../frysk/frysk-imports/getopt/src:../frysk/frysk-imports/jline/src:../frysk/frysk-imports/junit/src
| tr : ' '` -type f -name '*.java' -print > x &&
CLASSPATH=/usr/share/java/libgcj-`gcj -dumpversion`.jar gjdoc -public -link
http://developer.classpath.org/doc/         -link
http://java-gnome.sourceforge.net/docs/javadoc/         -validhtml        
-reflection  -overview ../frysk/overview.html         -source 1.4         -d
javadoc/$scope         -use         -linksource         -doctitle
'<em>frysk</em> - Execution Analysis Technology'         -windowtitle 'FRYSK'  
      -group "<em>frysk</em> Packages" 'frysk*'         -group "Imported
Packages" 'jline*:getopt*:inua*:lib*'         -subpackages
'frysk:inua:jline:getopt:lib' @x
WARNING: No classes found under subpackage frysk
WARNING: No classes found under subpackage inua
WARNING: No classes found under subpackage jline
WARNING: No classes found under subpackage getopt
WARNING: No classes found under subpackage lib
Loading source file
./../frysk/frysk-imports/jline/src/jline/FileNameCompletor.java ...
Loading source file
./../frysk/frysk-imports/jline/src/jline/SimpleCompletor.java ...
Loading source file ./../frysk/frysk-imports/jline/src/jline/ConsoleReader.java ...
Loading source file
./../frysk/frysk-imports/junit/src/junit/awtui/TestRunner.java ...
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit:
gnu.java.awt.peer.gtk.GtkToolkit
   at java.awt.Toolkit.getDefaultToolkit(libgcj.so.7)
   at java.awt.MenuComponent.<clinit>(libgcj.so.7)
   at java.lang.Class.initializeClass(libgcj.so.7)
   at java.lang.Class.initializeClass(libgcj.so.7)
   at java.lang.Class.forName(libgcj.so.7)
   at java.lang.Class.forName(libgcj.so.7)
   at
gnu.classpath.tools.gjdoc.RootDocImpl$ResolvedImportReflectionPackage.match(lib-gnu-classpath-tools-gjdoc.so.0)
   at
gnu.classpath.tools.gjdoc.RootDocImpl.resolveClassName(lib-gnu-classpath-tools-gjdoc.so.0)
   at
gnu.classpath.tools.gjdoc.ClassDocImpl.findClass(lib-gnu-classpath-tools-gjdoc.so.0)
   at
gnu.classpath.tools.gjdoc.ClassDocImpl.findClass(lib-gnu-classpath-tools-gjdoc.so.0)
   at
gnu.classpath.tools.gjdoc.ClassDocImpl.typeForString(lib-gnu-classpath-tools-gjdoc.so.0)
   at
gnu.classpath.tools.gjdoc.ExecutableMemberDocImpl.createFromSource(lib-gnu-classpath-tools-gjdoc.so.0)
   at
gnu.classpath.tools.gjdoc.FunctionComponent.process(lib-gnu-classpath-tools-gjdoc.so.0)
   at gnu.classpath.tools.gjdoc.Parser.parse(lib-gnu-classpath-tools-gjdoc.so.0)
  at
gnu.classpath.tools.gjdoc.ClassComponent.process(lib-gnu-classpath-tools-gjdoc.so.0)
   at gnu.classpath.tools.gjdoc.Parser.parse(lib-gnu-classpath-tools-gjdoc.so.0)
  at
gnu.classpath.tools.gjdoc.Parser.processSourceFile(lib-gnu-classpath-tools-gjdoc.so.0)
   at
gnu.classpath.tools.gjdoc.RootDocImpl.build(lib-gnu-classpath-tools-gjdoc.so.0)
   at gnu.classpath.tools.gjdoc.Main.startDoclet(lib-gnu-classpath-tools-gjdoc.so.0)
   at gnu.classpath.tools.gjdoc.Main.start(lib-gnu-classpath-tools-gjdoc.so.0)
   at gnu.classpath.tools.gjdoc.Main.main(lib-gnu-classpath-tools-gjdoc.so.0)
Caused by: java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkToolkit
   at java.lang.Class.forName(libgcj.so.7)
   at java.lang.Class.forName(libgcj.so.7)
   at java.awt.Toolkit.getDefaultToolkit(libgcj.so.7)
   ...20 more
Comment 3 Andrew Cagney 2006-12-09 18:22:47 UTC
Copying the .java to a scratch directory, stripping out the files that shouldn't
be documented, and then running GJDOC, gets around all the issues.

Index: ChangeLog
2006-12-09  Andrew Cagney  <cagney@redhat.com>

        * Makefile.am (SOURCEPATH): Delete.
        (SOURCEDIRS): Add *dir directories.
        (javadoc): Re-implement.  Copy java source to working directory;
        for public, remove Test and Stress files.  Use -all.
        (upload-javadoc): Exclude source directory.