ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carlton Brown" <cbr...@silverpop.com>
Subject RE: Is there a real(!) advantage of Ivy over placing the depends in the VCS
Date Thu, 10 Sep 2009 12:22:31 GMT
> -----Original Message-----
> From: Sebastian Krysmanski [mailto:sebastian@krysmanski.de]
> Sent: Thursday, September 10, 2009 7:55 AM
> To: ivy-user@ant.apache.org
> Subject: Is there a real(!) advantage of Ivy over placing the depends
> in the VCS
> 
> Hello,
> 
> recently someone recommended Ivy to me because he saw that we were
> hosting
> our project dependencies in our Subversion repository. I took this
> opportunity to have a look at Ivy and on first glance Ivy seemed very
> nice.
> 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 we were using Ivy this would result in the project no longer being
> able
> to be built. 

Why do you think that using Ivy might cause the required version not to
exist anymore?  Ivy has no explicit or implicit behavior for deleting
artifacts from the repository (cache yes, but not repository).   

> How does Ivy "address" this drawback? Is
> there any commonly used solution to solve this problem?
 
Ivy doesn't really address it, because Ivy isn't a repository manager.
I do agree with the concern that in Ivy (or Maven, for that matter),
where anyone could manipulate or remove the artifacts without an audit
trail.   Your process and procedures ideally take care of this, but IMO
it's a lot to leave to chance.   A practice I'd like to try is to use
filesystem only for temporary artifacts, and IvySvn to store "permanent"
artifacts.

Another concern for me is the overhead of maintaining stable third-party
artifacts in a metadata-indexed repository.   I have found that 99% of
the time, I don't require transitive resolution or different
configurations for things like log4j.   As long as its version number is
stored in the manifest, then there's really no benefit in storing those
things separate from the source code, and it adds a penalty of
resolving/downloading something that could just remain tightly coupled
to source.

HTH,
Carlton

***CONFIDENTIALITY NOTICE and DISCLAIMER*** 
This message and any attachment are confidential and may be
privileged or otherwise protected from disclosure and solely for
the use of the person(s) or entity to whom it is intended. If you
have received this message in error and are not the intended
recipient, please notify the sender immediately and delete this
message and any attachment from your system. If you are not the
intended recipient, be advised that any use of this message is
prohibited and may be unlawful, and you must not copy this
message or attachment or disclose the contents to any other person.

Mime
View raw message