When using Maven1, we had four subprojects; api, impl, demo and tools, where tools created various utilities that were used during the build by the maven.xml files of the other subprojects.
Now that we are putting in the effort to migrate to Maven2, we want to tidy up this tools project and turn it into a real maven-plugin. However, the tools project contains some project-specific build-time metadata files because they are needed by both api and impl projects at build time, but are never included in the api and impl JARs as they are not needed at runtime. Therefore, we plan to continue to version the tools module alongside the other modules, even though it is now implemented as a plugin. Releasing this tools plugin independently adds unwanted complexity to the development cycle. But, the reactor does not seem to notice that one of the modules is actually a plugin that is used by the other modules, so it does not ensure that the plugin module is executed before the other modules. Is there an way of achieving the desired execution order in maven2-alpha3? Would it be reasonable for the reactor to apply knowledge of maven-plugin modules and their use by other modules to calculate the desired execution order? Of course, if we figured out how to remove the project-specific metadata files from the tools plugin, such that they were still shareable across api and impl, then releasing it independently would make much more sense, because the rate of churn in the tools plugin implementation is far less than the shared metadata files. What is the recommended best practice for this sort of sharing problem? Should we splitting the maven-plugin and tools metadata into separate projects? Probably. Kind Regards, John Fallows. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
