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