ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jing Xue <jing...@digizenstudio.com>
Subject Re: Configurations really hard to understand
Date Wed, 15 Aug 2007 18:57:34 GMT

Quoting Jeffrey Blattman <jeffrey.blattman@gmail.com>:

> i've never needed Ivy configurations. i need what maven has, and that's
> how i tried to apply it. i always understood configurations to be a
> generalized version of maven scopes as you are calling them. in fact i
> think i read that someone in the ivy docs.
>
> all i want to do is
>
> 1. define a config
> 2. be able to associate a config w/ a dependency
> 3. be able to reference the dependencies by config name in ivy:resolve,
> retrieve, cachpath, etc
>
> i.e., configs are just a grouping of dependencies.
>
> it just seems like configurations could be greatly simplified to do the
> above and still handle 98% of the use cases. you don't need to "->"
> syntax do this for example.

But indeed you don't _need_ to use "->" for those cases at all - not  
even in ivy. 8-)  You could just emulate maven scopes with  
configurations of the same name. That's actually how ivy deals with  
pom.xml internally.

Now, the "98%" part is what I am not sure about. 8-)  The value of  
ivy's configuration system, to me, lies in:

1. the ability to organize dependencies into hierarchies by either the  
relevant build aspects or the relevant features, rather than one or a  
couple of predefined flattened "mix-them-all-up" classpaths, and
2. the ability to control how transitive dependencies are applied  
through the configuration mappings.

Together they make ivy incredibly valuable in terms of preventing an  
exponentially exploding dependency graph.  Maven driven projects often  
end up with a very bloated "lib directory" for this very reason.  If  
you want to see a real-life example, try and have commons-logging 1.1  
as a dependency without any mappings or manual excludes. 8-)

-- 
Jing Xue


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


Mime
View raw message