Hi,

Please find attached a patch file which, amongst other things, partially 
addresses the following in the myrmidon TODO list:
"Add a custom task to the build to generate antlib descriptors from source. 
It would wrap XDoclet, and replace antlib.xml."
(I have not yet replaced antlib.xml, but the process is far simpler).

Summary:
* New Ant1 task: AntlibDescriptorTask, which extends XDoclet.DocletTask, 
minimising the amount of configuration required.  This task:
    - Performs up-to-date checking internally, so the external UpToDate task 
is no longer required.
    - The antlib descriptor templates are loaded as resources, and don't need 
to be specified in the build file. 

* The "builtin" and "selftest" type and role descriptors are now generated; 
the hard-coded versions can be removed from src/manifest.
    - Added @ant:role, @ant:data-type and @ant:type declarations for all 
declared types.
    - Fixed handling of @ant:type in ant-descriptor.template. It was not 
behaving correctly when both a class and a subclass contained a declaration. 
(I can't quite follow why it was producing the behaviour it was, but it now 
seems to be working OK). 

* Some reorganisation of the build files.
    - Added a "jar-prepare" target, which defines how packages are segregated 
into various libs. (For each jarfile/antlib a patternset is defined, which is 
used for both generation of descriptors, and jarfile packaging).
    - Separated the generation of antlib descriptors from the packaging of 
antlib jarfiles. This allows for the regeneration of jarfiles without running 
XDoclet everytime.
    - Added a "dist-extralite" target, which behaves as "dist-lite", but does 
not regenerate the antlib descriptors. This is useful when the source files 
have been modified with no change to the XDoclet tags (most of the time!).

I hope that you find these changes useful. Let me know if you would prefer 
anything done differently - I'm happy to make alterations.

ciao
Daz

Details:
patch-antlibGeneration.diff     - "cvs diff -u" in "proposal/myrmidon"
AntlibDescriptorTask.java               - extract to 
"proposal/myrmidon/src/make/org/apache/myrmidon/build"

<<attachment: Myrmidon-Patch-antlibDescriptor.zip>>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to