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>