Jeff writes:
| Having some minimal plugin versioning scheme from the beginning would be | good. Avoids having to retrofit them ala Centipede. Perhaps with a | well-defined <major>.<minor>.<micro> revision system, so plugins can be | automatically updated in the future by a 'maven:download-plugin' task. Yep. My take is that plug-ins MUST be versioned in the filename, i.e. maven-j2ee-1.0.0.jar. | One question: say I've written a documentation plugin, which needs to be | run whenever the user types 'ant maven:docs'. Or say I write a code | beautifier task, which needs to be run before the javadocs target. How | can this be done? This is something I've thought about over the weekend. Dependencies between plug-ins. And 'injecting' plug-ins into the standard processes (compile, test, docs etc). I think dependencies are pretty easily handled when you merge the delegators, as maven:war can declare it depends on maven:jar at the target level. 'Injecting' is a bit more complex, but I think as part of the merge process, plug-ins could declare that they be part of a 'standard' target, as a pre or post req. | Essentially, the problem is that execution paths are currently | hardcoded, and adding plugins implies that they must become dynamic. | That sounds like quite a big architectural change. Perhaps plugins could | register themselves with the POM, which could then determine the correct | plugin target execution order, and generate a build.xml appropriately? | As you can see, I'm hazy as to exactly how Maven works, but leveraging | the POM could be a key to implementing plugins properly. My take is the POM is the *project* model, not the *build* model. Maven doesn't really have a 'build' model, and to some extent, that's what this discussion is about... I think we need a 'build model', even if it's just in code. -- dIon Gillard, Multitask Consulting Work: http://www.multitask.com.au Developers: http://adslgateway.multitask.com.au/developers -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
