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 "Buck, Robert" <rb...@verisign.com> on 2008/03/12 22:20:38 UTC

Confusion/Questions Regarding Settings File in Beta 2

Hi,
 
I probably need my head realigned, but could you help me understand
something?
 
I have the settings file below. And what I am doing is the following (or
so I think I am doing this):
 
1. Cache all HTTP downloads into the "download-cache". This is
accomplished by specifying "download-cache" on the "url" based resolver.
When I run the build, I confirm this indeed does work as I anticipated.
Good.
 
2. Define a "Local IVYREP" or sorts in the "ivy/ivyrep" directory. What
I anticipate using this for is for read-only retrievals in case I want
to test an upgrade of some library to a newer version, without impacting
anyone. (Problem, see below)
 
3. Specify to IVY where to put its resolution cache and repository
cache.
 
Concerns/Problems:
 
1. The ivy publish commands seem to put the jars from my build in both
the "ivy/cache/repository" directory and the "ivy/ivyrep" directory.
Shuffling around copies of build artifacts is expensive.
 
2. The "local" ivy/ivyrep directory should remain empty, or at least
that is my goal.
 
What would help me is if I could understand what exact purpose
resolution caches, repository caches have, and what their relationship
is to a "local-resolver". Could someone explain this?
 
And, if possible, could someone help me do the final tweaks to this
setup?
 
Thanks in advance,

Bob
 
 
<?xml version="1.0"?>
<ivysettings>
  <settings defaultResolver="default-chain"/>
  <property name="ivy.local.repository"
value="${workspace.root}/ivy/ivyrep" override="false"/>
  <caches resolutionCacheDir="${workspace.root}/ivy/cache/resolution"
repositoryCacheDir="${workspace.root}/ivy/cache/repository">
    <cache name="download-cache"
basedir="${sandbox.root}/ivy/cache/download"/>
  </caches>
  <resolvers>
    <filesystem name="local-resolver">
      <ivy
pattern="${ivy.local.repository}/[organisation]/[module]/[revision]/ivys
/ivy-[revision].xml"/>
      <artifact
pattern="${ivy.local.repository}/[organisation]/[module]/[revision]/[typ
e]s/[artifact].[ext]"/>
      <artifact
pattern="${ivy.local.repository}/[organisation]/[module]/[revision]/[typ
e]s/[artifact]-[revision].[ext]"/>
    </filesystem>
    <url name="public-resolver" cache="download-cache">
      <ivy
pattern="http://localhost:37373/ivyrep/[organisation]/[module]/[revision
]/ivys/ivy-[revision].xml"/>
      <artifact
pattern="http://localhost:37373/ivyrep/[organisation]/[module]/[revision
]/[type]s/[artifact].[ext]"/>
      <artifact
pattern="http://localhost:37373/ivyrep/[organisation]/[module]/[revision
]/[type]s/[artifact]-[revision].[ext]"/>
    </url>
    <chain name="default-chain" returnFirst="true">
      <resolver ref="local-resolver"/>
      <resolver ref="public-resolver"/>
    </chain>
  </resolvers>
</ivysettings> 

Re: Confusion/Questions Regarding Settings File in Beta 2

Posted by Nicolas Lalevée <ni...@anyware-tech.com>.
Le mercredi 12 mars 2008, Buck, Robert a écrit :
> Hi,
>
> I probably need my head realigned, but could you help me understand
> something?
>
> I have the settings file below. And what I am doing is the following (or
> so I think I am doing this):
>
> 1. Cache all HTTP downloads into the "download-cache". This is
> accomplished by specifying "download-cache" on the "url" based resolver.
> When I run the build, I confirm this indeed does work as I anticipated.
> Good.
>
> 2. Define a "Local IVYREP" or sorts in the "ivy/ivyrep" directory. What
> I anticipate using this for is for read-only retrievals in case I want
> to test an upgrade of some library to a newer version, without impacting
> anyone. (Problem, see below)
>
> 3. Specify to IVY where to put its resolution cache and repository
> cache.
>
> Concerns/Problems:
>
> 1. The ivy publish commands seem to put the jars from my build in both
> the "ivy/cache/repository" directory and the "ivy/ivyrep" directory.
> Shuffling around copies of build artifacts is expensive.

If I remember coreectly your cache will be populated as soon as there is a 
resolve. So the publish will populate your ivy/ivyrep. But on the next 
resolve that will ask for artifacts in your ivyrep repo, the cache will be 
populated with them.

Nicolas