« 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 Martin Gilday :: Rate this Message:

Reply to Author | View in Thread

As a fairly heavy user of Maven I am all to familiar with where it can
fall short.  Having a tool with some of the concepts behind Maven but
with the power of scripting rather than xml configs could be a wonderful
thing.  

With regards to dependencies making use of existing M2 repositories
would be essential for me in working with and transitioning from
existing projects.  One problem I frequently come across with Maven is
that it relies on everyone else using it for it work well.  By this I
mean if I want to use a framework I need to hope they have put in the
central repo.  Otherwise you need to try and convince them to do it.
The usual suggestion from the Maven mailing list is that you can of
course install to your own local or organisational repo.  But this can
be complicated and time consuming if all you want to do is try something
out.  You have to workout the transtitive dependenices and then install
those as well if they are missing.  What would be great for this would
be the ability to include from a central maven repository but also
simply depend on a few jars you may as with an ant style classpath
include.


----- Original message -----
From: "Hans Dockter" <mail@...>
To: user@...
Date: Mon, 21 May 2007 22:54:21 +0200
Subject: Re: [groovy-user] Gant 0.4 - Creating a powerful DSL for
building Java projects

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


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

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