Brett Porter wrote:
I've been thinking about this because this annoys me a lot :-). As Steve so excellently put it, a lot of times dependencies are a SHOULD not a MUST. But transitive dependencies do give us a degree of power.I'm not sure "no transitiveness" is a good idea. I think it's something that once available, people will use as the quick fix to a problem rather than figuring out a real cause, and miss an opportunity to improve the overall quality of the data. Which would be ironic, given how long people asked for transitive deps - to turn it off so quickly - but I knew that it would come because as you said earlier, version management isn't a trivial problem. If you are the one building the libraries, it requires discipline to keep compatibility, consistent naming, etc.
I'd prefer to be able to filter out unwanted dependencies as an alternative to turning it off.
Requiring the user to override/exclude dependencies in their pom somehow would be kind of a pain. But, what if m2 made it simple for a user to change this. Ie m2 would iterate through the dependency conflicts and allow you to select different options.
For example:
$ m2 dosomething
You have 3 different versions of xerces in your classpath. Please select which one you would like to use:
(1) 2.4.1
(2) 2.6.0
(3) 2.6.2
> ?
One could imagine a similar interface which allowed users to exclude dependencies from different child poms as well. It would then write out the information to the pom or another file. Would this work for the ant tasks too?
I guess I'm just thinking how to make it easier for the user, because I believe that ease of entry will be a real barrier to use the way things are now.
- Dan
-- Dan Diephouse Envoi Solutions LLC http://netzooid.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
