Indeed, after a closer look and some changes to the caches it seems to be working for all specific revisions, but still not for latest.integration....this is really strange, I thought it was supposed to be working also for latest.integration...But, with latest integration, it still attempts to connect to the repository..
Any ideas why? Thanks a lot Alina -----Ursprüngliche Nachricht----- Von: [email protected] [mailto:[email protected]] Im Auftrag von Joshua Tharp Gesendet: Dienstag, 16. Juni 2009 16:48 An: [email protected] Betreff: Re: Ivy cache TTL not working 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 > > > > > >
