Hi all,

The problem is all in the title :

How to find the correct build order of a set of distinct but interdependent projects.

Distinct means that each project lives in its own source repository, each project build separately.

Interdependent means that projects may be dependent upon each other.

So the question is:

   - which projects depends on which other projects?

in order to be able to build the projects still separately, but in the correct order.

e.g. slf4j and logback: which one depends on the other? Which one do I need to build first?

I thought of the following four possible solutions, and I have experience with the first three:

1. The poor man’s solution : hardcode the order
2. Generate a multi-module pom file that contains all projects as modules
3. Collect build-time repository events with a maven event spy
4. Collect pom file dependency information with the dependency plugin

to avoid a loooong mail, the options are further detailed here : http://dag.cloud/docs/theproblem.html

This is so generic a problem that I am sure you've already been faced with.

I'd be glad to get some piece of advice from the community.

For instance, is somebody aware of any existing open source toolset around this problem?

Concerning option #4, I am under the impression (from blurred remember of some mail exchanges on this list long time ago) that the dependency-plugin tree goal implementation is not congruent with the actual aether implementation, which, if true, would be a show stopper. Can somebody confirm/infirm ?

Thanks!
Christophe

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to