You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by vb...@scdi.org on 2009/09/11 11:19:31 UTC

Re: Is there a real(!) advantage of Ivy over placing the depends in the VCS

Sebastian,

> recently someone recommended Ivy to me because he saw that we were hosting
> our project dependencies in our Subversion repository.

When I see axis.jar in a VCS system, I always ask the question: "do  
you know which version it is?".  If you're serious about managing the  
3rd party libraries, you should be able to answer the question  
precisely.

You want to upgrade a library from 1.0 to 2.0: how do you remove all  
transitive dependencies from the 1.0 version?  This may not be an  
issue if you have 3-4 jars to manage, but our application has about  
100 direct and indirect dependencies.

You want to test a new version of that library first: you can to it by  
changing just one line in the ivy.xml file and test locally.  The  
upgrade doesn't work: just revert your single change.

> However I see a major disadvantage over dependencies in a VCS repository: If
> a project is dormant for a longer period of time an artifact (i.e. a
> library) may longer be available (in a certain, required version or the
> repository may not exist anymore).

If you download all your dependencies from a Maven repository (check  
the ivyroundup project on googlecode) you are immune to that problem  
(as long as the library is available on that repo; but it's Maven's  
point).

Hope this help

-Vladimir





Re: AW: Is there a real(!) advantage of Ivy over placing the depends in the VCS

Posted by vb...@scdi.org.
>> If you download all your dependencies from a Maven repository (check
>> the ivyroundup project on googlecode) you are immune to that problem
>> (as long as the library is available on that repo; but it's Maven's
>> point).
>
> For me, that's true. But if anyone else (who hasn't done this) wants to
> compile the project he/she can't do this if the dependency has gone.

I meant "using the remove Maven repository" (as in  
http://repo1.maven.org/maven2/) and not "creating your own repository".

Your dependency is now on having access to the Maven repository *the  
very first time* you compile the project.  But since you need to have  
access to the Internet to download the project in the first place, you  
also have access to the internet when you compile the project.

Since Ivy caches the dependencies you can later develop without being online.

-Vladimir




AW: Is there a real(!) advantage of Ivy over placing the depends in the VCS

Posted by Sebastian Krysmanski <se...@krysmanski.de>.
> > However I see a major disadvantage over dependencies in a VCS
repository: If
> > a project is dormant for a longer period of time an artifact (i.e. a
> > library) may longer be available (in a certain, required version or the
> > repository may not exist anymore).

> If you download all your dependencies from a Maven repository (check  
> the ivyroundup project on googlecode) you are immune to that problem  
> (as long as the library is available on that repo; but it's Maven's  
> point).

For me, that's true. But if anyone else (who hasn't done this) wants to
compile the project he/she can't do this if the dependency has gone.