« Return to Thread: Gant 0.4 - Creating a powerful DSL for building Java projects

Re: Gant 0.4 - Creating a powerful DSL for building Java projects

by hdockter :: Rate this Message:

Reply to Author | View in Thread

Hi Tom,

I knew that transitive dependencies is going to become a controversial issue :) 

If we implement it, I think transitive dependencies should be expressed via a terminology we offer in our DSL. By that we could for example take the weight from a heavy Ivy configuration :)

But I really don't want to become dependent on the Maven _implementation_. They offer one and only one way of handling dependencies (e.g. how to resolve version conflicts). They are not configurable. The policy how Maven resolves transitive dependencies has changed for example from Maven 2.0.5 to 2.0.6. I could write quite a bit about Maven's dependencies handling. But I'd rather ask Russel to set up a wiki page for this, where we can gather bad existing ideas and good ideas. 

My main concern is, to offer some automagic which sounds good on first sight. But when it comes to complex builds it shows its ugly head. This is what really puts people off with Maven2. And I want to promise those people that they will have a completely different experience when using our tool. So rather no automagic than a flawed automagic. 

We might come up with something that offers a more modest but reliable support for transitive dependency handling. For example a tool that outputs the transitive dependencies on the console and you can copy them if you like into your build script. 

My problem with Ivy is, that I haven't used it. I have just read its documentation. It makes a very good impression to me and seems to offer a better solution for dependency handling than Maven2 (which I have used a lot in complex scenarios). But I would like to have more experience with Ivy.

- Hans
  
On May 21, 2007, at 10:24 PM, Tom Nichols wrote:

This sounds great.  One comment I have:


I would _very_much_ like to have some sort of transitive dependency

handling.  I use Maven2, and have never run into issues where

transitive handling was a problem.  Not to say problems don't exist --

I've read it a million times so I won't try to deny it.  But when I

use Ant I use the Maven antlibs -- I personally would rather have

Maven's (transitive) dependency handling than none at all.  I started

looking into Ivy but it felt too configuration heavy so I gave up.

Maybe I didn't stick with it long enough.


But that's my take on the matter.

Thanks.

-Tom


 « Return to Thread: Gant 0.4 - Creating a powerful DSL for building Java projects