Bart Guijt wrote:
Hi there,This looks _really cool_, and a donation to Cocoon would be more that welcome !
As a result of gaining some hands-on Cocoon experience, I created a
JavadocSource and -SourceFactory which largely complies to what you are
discussing here.
Here are some feature hilights:
- uses the QDox parser;
- uses the Excalibur SourceResolver to resolve the source files;
- may be configured using multiple source root (uri's), like
<jar:file:///D:/java/jdk1.4.1/src.zip!> and
<cvs:pserver:[EMAIL PROTECTED]:/home/cvspublic/xml-cocoon2/
www/api>
- creates inheritance information in the generated XML doc;
- comes with an XSLT stylesheet which creates a Class or Interface Javadoc
document (no package, overview, uses or index yet!) *exactly* like the JDK
javadoc;
- supports separately doc'ed inner classes;
- documents private members;
- the code has alpha status, but seems to works fine.
The JavadocSource is configured like this in cocoon.xconf:
<source-factories>
<component-instance
class="info.guijt.cocoon.source.JavadocSourceFactory" name="javadoc">
<include-inheritance value="yes" />
<source-roots group="JDK">
<source-root uri="jar:file:///D:/java/jdk1.4.1/src.zip!" />
</source-roots>
<source-roots group="Avalon">
<source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon/src/java" />
<source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-logkit/src/java" />
<source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/component/src/
java" />
<source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/sourceresolve/
src/java" />
<source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/pool/src/java"
/>
<source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/xmlutil/src/ja
va" />
</source-roots>
<source-roots group="Cocoon">
<source-root
uri="file://D:/cvs-workspaces/apache/xml-cocoon2/src/java" />
<source-root
uri="file://D:/cvs-workspaces/apache/xml-cocoon2/src/deprecated/java" />
</source-roots>
</component-instance>
</source-factories>
If the following is put in the sitemap:
<map:match pattern="javadoc/*">
<map:generate src="javadoc:{1}" />
<map:transform src="javadoc2html.xsl" />
<map:serialize type="html" />
</map:match>
you can request live Javadoc with a URL like
http://localhost:8080/javadoc/java.util.HashMap
Would you like it as a donation to the Cocoon community?
A little question, though : does <source-root> handle URIs other than file, i.e. does use the SourceResolver ?
This would allow following :
<source-root uri="cvs:anoncvs:[EMAIL PROTECTED]:/home/cvspublic:xml-cocoon2/src/java"/>
Live Javadoc generation from the CVS repository. Cool, eh ?
Sylvain
--
Sylvain Wallez Anyware Technologies
http://www.apache.org/~sylvain http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]