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 > > >
