ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joshua Tharp <joshua-th...@alumni.calpoly.edu>
Subject Re: Ivy cache TTL not working
Date Tue, 16 Jun 2009 14:48:26 GMT
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;working@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;working@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 <
alina.dima@immobilienscout24.de> 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: joshua.tharp@gmail.com [mailto:joshua.tharp@gmail.com] Im Auftrag von
> Joshua Tharp
> Gesendet: Dienstag, 16. Juni 2009 16:08
> An: ivy-user@ant.apache.org
> 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;working@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;working@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 <
> alina.dima@immobilienscout24.de> 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:alina.dima@immobilienscout24.de]
> > Gesendet: Dienstag, 16. Juni 2009 09:04
> > An: ivy-user@ant.apache.org
> > 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: joshua.tharp@gmail.com [mailto:joshua.tharp@gmail.com] Im Auftrag
> von
> > Joshua Tharp
> > Gesendet: Montag, 15. Juni 2009 19:10
> > An: ivy-user@ant.apache.org
> > 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 <archie.cobbs@gmail.com
> > >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 <
> > > alina.dima@immobilienscout24.de> 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
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message