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]

Reply via email to