The m2e plugin I think already does what you are looking for. It has a dependency heirarchy and graph. I use these often to determine what libraries are being used when there is a conflict.
--- Todd Thiessen > -----Original Message----- > From: Setter Guo [mailto:setter....@yahoo.com] > Sent: Tuesday, March 02, 2010 7:23 AM > To: users@maven.apache.org > Cc: d...@maven.apache.org > Subject: Straight line or Chaos? (My thoughts on resolving > dependencies problems for open source libraries) > > Hi Maven users and devs, > > I think a lot of guys pain on unconsistency of open-source > libraries. For example, if libA depends on libB v1, and libC > depends on libB v2. If someone(libD) want to use libA and > libC at the same time, it will face problem on upgrading libA > to match libB v1. Once there are a lot of libraries, it is > nightmare to make everyone on the same page. > > I don't know whether there are some solutions currently. If > there are, thank you very much to let me know. > > In my thought, I think maybe we can do something to make the > open-source world to a line. Because maven works as a > software management tool, it is very make-sense to discuss my > thoughts here, hope you are interested in this discussion. > Below is a short description of my thought. > > 1) In maven world, we use "mvn install" to build. In this > stage, it is possible to sync-up the libraries version > between repositories and local copies. As example above, once > libB upgrades to v2, the repository should get the > information, and the local copy will get this information > when it connect the repository. This is very simple. > > 2) In advance, the repository can handle the dependencies > between libs. For example above, it keeps "libC => libB v2" > and "libA => libB v1" informations. Because libB has been > upgraded to v2, libA may get warning to notify the owners to > upgrade the library. > > 3) So, once someone use libs on maven, based on the > dependencies provided by maven, it can automatically create a > dependencies graph, and version inside will indicate whether > there are conflicts. That means, libD devs will know there > are two different versions of libB used, and will introduce conflicts. > > I don't know whether there are some plugins doing thing like > above, I hope so. Anyone knows it, please let me know. Many Thanks! > > Best Regards, > Setter > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org