ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gupta, Mayank" <cybermay...@gmail.com>
Subject Need help
Date Wed, 20 Apr 2011 12:49:59 GMT
Hi Everyone,

This is my first query here. It is related to how the ivy does the resolve
and publishes / installs the remote ivy server's module to local ivy server.

We have a huge set of ivyrepository setup on a remote ftp server. We do the
complete build dependency resolve using ivy. I am currently encountering an
issue for which I would like some help. I am going to explain the situation
using an example.

Lets say we have 5 modules, named A, B, C, D and E. The dependency for them
exist as follows:

C depends on B depends on A
E depends on D depends on A

This means that to build C, I have to download B, which will in turn
download A. Similarly, for second case, to build E, we need to download D,
which will pull in A.

I have the following files set up to work with ivy.
ivy.xml -> defines the dependency graph and publications to be done by
project as part of build.
ivysettings.xml -> order for resolver. We have remote-resolver, refering to
the remove sftp server and local-resolver refering to the local ivyrepo.
ivysettings.properties -> defines the various properties e.g.
ivy.default.resolver, ivy.sftp.user, ivy.local.dir etc etc.
build.xml -> contains the necessary files to be used and to do the build.

What I am looking for, is a way to keep my local ivyrepo updated whenever
the build is done. In other words, if the local ivyrepo contains any module
which does not match from ivy.xml, the module(s) should be pulled in from
the remote-resolver and installed in the local ivyrepo. However, everytime I
am doing the same build, it keeps pulling in the same files over internet,
which is a tedious process for all the involved parties.

e.g. In the above example, if I build C, my local ivyrepo should be filled
with both A and B. Now, when I am building E, it should only pull in D, if
the version of A required is similar to the one pulled in earlier. However,
my ivy setup is always pulling in files from the remote-resolver and copying
it into the cache which is always (intentionally) cleaned as part of build.
In other words, I would like ivy to publish/install any downloaded files to
the local-resolver.

I am sure lots of people here have had this issue and were able to find a
solution. I am just not getting the solution even after trying to google it
out and trying out different options like ivy:install etc. I would
appreciate if anyone can help in any way.

-- 
Regards
Mayank Gupta

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message