XDoclet Maven PluginToday I finished implementing the XDoclet Maven plugin. What's intersting about it? Well, the fact that the plugin itself is autogenerated! So I wrote an xdoclet template which generates Maven's plugin.jelly file. The template looks at all tasks and subtasks of xdoclet and also at some special @tags such as @ant.required/etc and generates a plugin.jelly file which supports all tasks and subtasks of xdoclet. So let's say a new subtask is added to ejbdoclet, I should just run the template once again and the Maven plugin is updated and contains the new subtask. Just imagine what a headache it would be if I had to hand code it for all the tasks and subtasks (100+ of them!). James Birchfield also helped me in implementing it, thanks James!
JellyWhile implementing it I had to write some Jelly scripts too. Congrats to James Strachan for such a high quality tool. Looking at some of the tags I felt at home, looks very similiar to xdoclet's own template system, except that it's done right.
QDoxRickard says: Brett wondered if Joe should tell the XDoclet project about his new QDox JavaDoc replacement. And the answer is: no, because XDoclet already has a completely rewritten JavaDoc engine, which has been around for some time now, and also kicks booty (which one kicks the most booty I don't know though). The current XDoclet code is pretty fast.
Well, imho QDox and xjavadoc are created for completely different purposes. QDox AFAIK acts like a SAX parser, xjavadoc is like DOM. So whenever QDox comes across a @test tag for example a listener is triggered. It's good for limited cases imho, xjavadoc is for more sophisticated uses. AFAIK Joe has written it to have a fast and trigger-based system for his Mocklet project.
Ara. [Memory Dump]
Hey Ara. Welcome to the wonderful world of blogging! :-). (Warning, its very addictive).
The Maven XDoclet plugin sounds groovy - am gonna have to take a look. Plus thanks for the kind words on Jelly; the XDoclets template system was definitely one of the inspirations for Jelly (as well as Velocity, JSP, JSTL, Cocoon and XSLT). I really just tried to merge all the good features of all of these technologies together into a simple engine that could support real scripting langauages too.
10:31:13 AM
|
|