Here it is (but it looks the same). Under the retrieve you see that nothing
was downloaded, therefore everything came from the cache.
I notice the difference in speed most often when working remote. Then
instead of a LAN I'm working over DSL and my resolves can take 10 seconds or
more. With this cache, TTL, and specific revisions, it drops down to less
than a second for most builds.
Plugged in with files in the cache, but none in the project tree
=============================================
dependencies:resolve:
[ivy:resolve] :: resolving dependencies :: com.myorg#my-module;work...@hawk
[ivy:resolve] confs: [build, default, test, checkstyle]
[ivy:resolve] found javax.javaee#javaee-api;5.0 in shared
[ivy:resolve] found org.apache.commons#commons-logging;1.1.1 in shared
[ivy:resolve] found org.junit#junit;4.5 in shared
[ivy:resolve] found com.puppycrawl#checkstyle;5.0 in shared
[ivy:resolve] :: resolution report :: resolve 78ms :: artifacts dl 47ms
---------------------------------------------------------------------
| | modules || artifacts
|
| conf | number| search|dwnlded|evicted||
number|dwnlded|
---------------------------------------------------------------------
| build | 2 | 0 | 0 | 0 || 4 | 0
|
| default | 0 | 0 | 0 | 0 || 0 | 0
|
| test | 1 | 0 | 0 | 0 || 1 | 0
|
| checkstyle | 1 | 0 | 0 | 0 || 1 | 0
|
---------------------------------------------------------------------
dependencies:retrieve:
[ivy:retrieve] :: retrieving :: com.myorg#my-module [sync]
[ivy:retrieve] confs: [build, default, test, checkstyle]
[ivy:retrieve] 6 artifacts copied, 0 already retrieved (2856kB/46ms)
Plugged in with files in the cache and in the project tree
===================================================
dependencies:resolve:
[ivy:resolve] :: resolving dependencies :: com.myorg#my-module;work...@hawk
[ivy:resolve] confs: [build, default, test, checkstyle]
[ivy:resolve] found javax.javaee#javaee-api;5.0 in shared
[ivy:resolve] found org.apache.commons#commons-logging;1.1.1 in shared
[ivy:resolve] found org.junit#junit;4.5 in shared
[ivy:resolve] found com.puppycrawl#checkstyle;5.0 in shared
[ivy:resolve] :: resolution report :: resolve 78ms :: artifacts dl 47ms
---------------------------------------------------------------------
| | modules || artifacts
|
| conf | number| search|dwnlded|evicted||
number|dwnlded|
---------------------------------------------------------------------
| build | 2 | 0 | 0 | 0 || 4 | 0
|
| default | 0 | 0 | 0 | 0 || 0 | 0
|
| test | 1 | 0 | 0 | 0 || 1 | 0
|
| checkstyle | 1 | 0 | 0 | 0 || 1 | 0
|
---------------------------------------------------------------------
dependencies:retrieve:
[ivy:retrieve] :: retrieving :: com.myorg#my-module [sync]
[ivy:retrieve] confs: [build, default, test, checkstyle]
[ivy:retrieve] 0 artifacts copied, 6 already retrieved (0kB/63ms)
On Tue, Jun 16, 2009 at 7:24 AM, Dima, Alina <
[email protected]> wrote:
> Thanks, I am going to have a look. I am using "latest.integration" for most
> of my external libs.
>
> Btw, what happens when you have the artefacts in the cache, and the LAN
> plugged? Could you please paste that log too? Do the resolve messages change
> at all? And normally also, the resolve should work faster offline, right?
>
> Thanks again
> Alina
>
> -----Ursprüngliche Nachricht-----
> Von: [email protected] [mailto:[email protected]] Im Auftrag von
> Joshua Tharp
> Gesendet: Dienstag, 16. Juni 2009 16:08
> An: [email protected]
> Betreff: Re: Ivy cache TTL not working
>
> I'll give you what I've got... Like I said, however, if I introduce
> revision
> patterns (like 1.0.+) then Ivy seems to resolve every time.
>
> Hope this helps,
>
> Josh
>
> The cache and resolver sections of my ivysettings file
> ==========================================================
> <caches>
> <cache
> name="shares-cache"
> basedir="${ivy.default.ivy.user.dir}/cache-shares"
> defaultTTL="1d">
> <ttl
> organisation="com.myorg"
> duration="0d 1h" />
> </cache>
> </caches>
>
> <resolvers>
> <filesystem
> name="local"
> checkmodified="true"
> changingMatcher="regexp"
> changingPattern=".*_SNAPSHOT">
> <ivy pattern="${ivy.local.default.root}/${repo.ivy.pat}" />
> <artifact pattern="${ivy.local.default.root}/${repo.artifact.pat}" />
> </filesystem>
>
> <url
> name="shared"
> cache="shares-cache">
> <ivy pattern="${repo.root}/${repo.ivy.pat}" />
> <artifact pattern="${repo.root}/${repo.artifact.pat}" />
> </url>
>
> <packager
> name="public"
> cache="shares-cache"
> buildRoot="${ivy.default.ivy.user.dir}/packager/build"
> resourceCache="${ivy.default.ivy.user.dir}/packager/cache">
> <ivy pattern="${repo.root}/${repo.ivy.pat}" />
> <artifact pattern="${repo.root}/${repo.packager.pat}" />
> </packager>
> </resolvers>
>
> <!-- <include url="${ivy.default.settings.dir}/ivysettings-public.xml" />
> -->
> <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml" />
> <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"
> />
>
> The dependencies in one of my ivy.xml files
> =========================================================
> <!-- Build dependencies -->
> <dependency
> org="javax.javaee"
> name="javaee-api"
> rev="5.0"
> conf="build->default" />
> <dependency
> org="org.apache.commons"
> name="commons-logging"
> rev="1.1.1"
> conf="build->default" />
>
> <!-- Deploy dependencies -->
>
> <!-- Test dependencies -->
> <dependency
> org="org.junit"
> name="junit"
> rev="4.5"
> conf="test->default" />
>
> <!-- Tool dependencies -->
> <dependency
> org="com.puppycrawl"
> name="checkstyle"
> rev="5.0"
> conf="checkstyle->default" />
>
> The applicable sections of my build file
> ========================================================
> <macrodef name="ivysetup">
> <sequential>
> <property
> name="my.ivy.settings.file"
> location="${user.home}/.ant/ivysettings.xml" />
>
> <ivy:settings
> file="${my.ivy.settings.file}"
> id="ivy.instance" />
>
> <ivy:info />
> </sequential>
> </macrodef>
>
> <target
> name="dependencies"
> depends="validate,
> dependencies:ivyboot,
> dependencies:module,
> dependencies:resolve,
> dependencies:retrieve"
> description="Uses the dependency manager for acquiring the dependencies"
> />
>
> <target name="dependencies:ivyboot">
> <ivysetup />
> </target>
>
> <target name="dependencies:module">
> <property
> name="package.name"
> value="${ivy.module}" />
> </target>
>
> <target
> name="dependencies:resolve"
> unless="no.ivy.resolve">
> <ivy:resolve conf="*, !ant" />
> </target>
>
> <target
> name="dependencies:retrieve"
> unless="no.ivy.resolve">
> <property
> name="ivylib.pattern"
> value="${lib.d}/[conf]/[artifact](-[classifier]).[ext]" />
>
> <ivy:retrieve
> pattern="${ivylib.pattern}"
> sync="true" />
> </target>
>
>
> First run in my module's build
> ========================================================
> dependencies:resolve:
> [ivy:resolve] :: resolving dependencies :: com.myorg#my-module;work...@hawk
> [ivy:resolve] confs: [build, default, test, checkstyle]
> [ivy:resolve] found javax.javaee#javaee-api;5.0 in shared
> [ivy:resolve] found org.apache.commons#commons-logging;1.1.1 in shared
> [ivy:resolve] found org.junit#junit;4.5 in shared
> [ivy:resolve] found com.puppycrawl#checkstyle;5.0 in shared
> [ivy:resolve] downloading
>
> http://myreposerver/repository/modules/javax.javaee/javaee-api/5.0/jars/javaee-api-5.0.jar.
> ..
> [ivy:resolve] ........................................................
> (610kB)
> [ivy:resolve] [SUCCESSFUL ] javax.javaee#javaee-api;5.0!javaee-api.jar
> (16ms)
> [ivy:resolve] downloading
>
> http://myreposerver/repository/modules/org.apache.commons/commons-logging/1.1.1/jars/commons-logging-1.1.1.jar.
> ..
> [ivy:resolve] ...... (59kB)
> [ivy:resolve] [SUCCESSFUL ]
> org.apache.commons#commons-logging;1.1.1!commons-logging.jar (0ms)
> [ivy:resolve] downloading
>
> http://myreposerver/repository/modules/org.apache.commons/commons-logging/1.1.1/javadocs/commons-logging-javadoc-1.1.1.zip.
> ..
> [ivy:resolve] ......... (138kB)
> [ivy:resolve] [SUCCESSFUL ]
>
> org.apache.commons#commons-logging;1.1.1!commons-logging-javadoc.zip(javadoc)
> (16ms)
> [ivy:resolve] downloading
>
> http://myreposerver/repository/modules/org.apache.commons/commons-logging/1.1.1/sources/commons-logging-source-1.1.1.zip.
> ..
> [ivy:resolve] .... (73kB)
> [ivy:resolve] [SUCCESSFUL ]
> org.apache.commons#commons-logging;1.1.1!commons-logging-source.zip(source)
> (15ms)
> [ivy:resolve] downloading
>
> http://myreposerver/repository/modules/org.junit/junit/4.5/jars/junit-4.5.jar.
> ..
> [ivy:resolve] .............. (194kB)
> [ivy:resolve] [SUCCESSFUL ] org.junit#junit;4.5!junit.jar (47ms)
> [ivy:resolve] downloading
>
> http://myreposerver/repository/modules/com.puppycrawl/checkstyle/5.0/jars/checkstyle-5.0.jar.
> ..
> [ivy:resolve]
>
> ...........................................................................................................................................................
> (1780kB)
> [ivy:resolve] [SUCCESSFUL ] com.puppycrawl#checkstyle;5.0!checkstyle.jar
> (47ms)
> [ivy:resolve] :: resolution report :: resolve 297ms :: artifacts dl 187ms
>
> ---------------------------------------------------------------------
> | | modules || artifacts
> |
> | conf | number| search|dwnlded|evicted||
> number|dwnlded|
>
> ---------------------------------------------------------------------
> | build | 2 | 2 | 2 | 0 || 4 | 4
> |
> | default | 0 | 0 | 0 | 0 || 0 | 0
> |
> | test | 1 | 1 | 1 | 0 || 1 | 1
> |
> | checkstyle | 1 | 1 | 1 | 0 || 1 | 1
> |
>
> ---------------------------------------------------------------------
>
> dependencies:retrieve:
> [ivy:retrieve] :: retrieving :: com.myorg#my-module [sync]
> [ivy:retrieve] confs: [build, default, test, checkstyle]
> [ivy:retrieve] 6 artifacts copied, 0 already retrieved (2856kB/31ms)
>
> Second run (LAN unplugged)
> ==========================================================
> dependencies:resolve:
> [ivy:resolve] :: resolving dependencies :: com.myorg#my-module;work...@hawk
> [ivy:resolve] confs: [build, default, test, checkstyle]
> [ivy:resolve] found javax.javaee#javaee-api;5.0 in shared
> [ivy:resolve] found org.apache.commons#commons-logging;1.1.1 in shared
> [ivy:resolve] found org.junit#junit;4.5 in shared
> [ivy:resolve] found com.puppycrawl#checkstyle;5.0 in shared
> [ivy:resolve] :: resolution report :: resolve 78ms :: artifacts dl 15ms
>
> ---------------------------------------------------------------------
> | | modules || artifacts
> |
> | conf | number| search|dwnlded|evicted||
> number|dwnlded|
>
> ---------------------------------------------------------------------
> | build | 2 | 0 | 0 | 0 || 4 | 0
> |
> | default | 0 | 0 | 0 | 0 || 0 | 0
> |
> | test | 1 | 0 | 0 | 0 || 1 | 0
> |
> | checkstyle | 1 | 0 | 0 | 0 || 1 | 0
> |
>
> ---------------------------------------------------------------------
>
> dependencies:retrieve:
> [ivy:retrieve] :: retrieving :: com.myorg#my-module [sync]
> [ivy:retrieve] confs: [build, default, test, checkstyle]
> [ivy:retrieve] 0 artifacts copied, 6 already retrieved (0kB/32ms)
>
>
>
>
> On Tue, Jun 16, 2009 at 6:24 AM, Dima, Alina <
> [email protected]> wrote:
>
> > Has anyone actually tested this TTL attribute? I have been trying it
> around
> > all day with no results. I just cannot make it work, and additionally, I
> > have noticed that although I set the ivy.cache.ttl.default to different
> > values for different caches, the value printed in the resolve logs is
> always
> > 10s...I keep getting messages:" Override ignored for property
> > "ivy.cache.ttl.default"". I would really appreciate it if someone who has
> > worked with this attribute and has an example of how the resolution log
> > looks like when this attribute is used successfully could help me out :)
> >
> > What I am trying to do is avoid "work offline" for a given set of
> libraries
> > for a particular amount of time, that is avoid the whole search in the
> > repositories... anyone know maybe of another way to achieve this?
> >
> > Thanks
> > Alina
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Dima, Alina [mailto:[email protected]]
> > Gesendet: Dienstag, 16. Juni 2009 09:04
> > An: [email protected]
> > Betreff: AW: Ivy cache TTL not working
> >
> > Hi,
> >
> > Yes, my resolver points to this extern cache. This ist he resolver I use:
> >
> > <chain name="is24-extern-resolver" returnFirst="true">
> >
> > <filesystem name="extern-localfs" cache="extern">
> > <ivy
> >
> pattern="${local.extern.repository.dir}/[organisation]/[module]/ivy-[revision].xml"
> > />
> > <artifact
> >
> pattern="${local.extern.repository.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"
> > />
> >
> > </filesystem>
> >
> > <filesystem name="extern-cached-libraries" cache="extern" local="false">
> > <ivy
> >
> pattern="${extern.repository.dir}/[organisation]/[module]/ivy-[revision].xml"
> > />
> > <artefact
> >
> pattern="${extern.repository.dir}/[organisation]/[module]/[type]s/[artifact-[revision].[ext]"
> > />
> > </filesystem>
> >
> > </chain>
> >
> > However, Ivy seems to not find the items in the cache and keep searching
> > the repositories. I have no idea what the problem is. My resolver runs in
> > normal resolve mode, not in refresh.
> >
> > Thanks
> > Alina
> >
> > -----Ursprüngliche Nachricht-----
> > Von: [email protected] [mailto:[email protected]] Im Auftrag
> von
> > Joshua Tharp
> > Gesendet: Montag, 15. Juni 2009 19:10
> > An: [email protected]
> > Betreff: Re: Ivy cache TTL not working
> >
> > The URL is
> > http://ant.apache.org/ivy/history/2.1.0-rc1/settings/caches/ttl.html<
> >
> http://ant.apache.org/ivy/history/2.1.0-rc1/settings/caches/ttl.htmlparticularly
> > >and
> > I think Archie meant to say in "refresh" mode. Although, the
> > documentation says the refresh mode defaults to false, so unless you've
> set
> > it to true, that shouldn't be the issue.
> >
> > Does your resolver in your ivysettings file point to the extern cache?
> >
> > On Mon, Jun 15, 2009 at 9:03 AM, Archie Cobbs <[email protected]
> > >wrote:
> >
> > > See
> > >
> >
> http://ant.apache.org/ivy/history/2.1.0-rc1/settings/caches/ttl.htmlparticularly
> > > the reference to "resolve mode". I would guess resolve operates
> > > in "resolve mode".
> > >
> > > -Archie
> > >
> > > On Mon, Jun 15, 2009 at 8:26 AM, Dima, Alina <
> > > [email protected]> wrote:
> > >
> > > > Hi,
> > > >
> > > >
> > > >
> > > > I am trying to use the TTL attribute on my cache for all external
> > > > libraries. I want ivy to not check the central extern repository for
> > > > those libraries, not to even search for them in there, and just use
> the
> > > > versions in the cache. My cache setting is:
> > > >
> > > >
> > > >
> > > > <cache name="extern" basedir="${ivy.cache.extern.dir}">
> > > >
> > > > <ttl duration="4d"/>
> > > >
> > > > </cache>
> > > >
> > > >
> > > >
> > > > When I create the resolver used for external libs, I use the cache
> > > > extern.
> > > >
> > > >
> > > >
> > > > However, the resolve outputs:
> > > >
> > > >
> > > >
> > > > [ivy:resolve] is24-extern-resolver: Checking cache for: dependency:
> > > > apache#commons-configuration;latest.integration
> > > > {terms=[ConfigurationFactory]}
> > > >
> > > > [ivy:resolve] no cached resolved revision for
> > > > apache#commons-configuration;latest.integration
> > > >
> > > > [ivy:resolve] no cached resolved revision for
> > > > apache#commons-configuration;latest.integration
> > > >
> > > >
> > > >
> > > > And then
> > > >
> > > >
> > > >
> > > > [ivy:resolve] found apache#commons-configuration;1.1 in
> > > > extern-cached-libraries
> > > >
> > > > [ivy:resolve] [1.1]
> > > > apache#commons-configuration;latest.integration
> > > >
> > > >
> > > >
> > > > The extern-cached-libraries is my external rep.
> > > >
> > > >
> > > >
> > > > Why does ivy still search for this lib with every resolve if TTL is
> set
> > > > to 4days. Is there something I am missing?
> > > >
> > > >
> > > >
> > > > Thanks a lot
> > > >
> > > > Alina
> > > >
> > > >
> > >
> > >
> > > --
> > > Archie L. Cobbs
> > >
> >
>