ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Saksa, Steven (NIH/NCI) [C]" <>
Subject RE: When I update an ivy file in my repository ivy uses theversion from cache.
Date Wed, 14 May 2008 13:46:16 GMT
I confirmed that the issue was the HTTP Header Last-Modified was not being sent by our web
server.  I will create a defect requesting update of the documentation.
    Thanks, Steve Saksa


From: Saksa, Steven (NIH/NCI) [C]
Sent: Wed 5/14/2008 8:31 AM
Subject: RE: When I update an ivy file in my repository ivy uses theversion from cache.

   No I set it globally with the ivy.resolver.default.check.modified=true.  I did notice that
this changed the behavior of ivy.  When ivy.resolver.default.check.modified =false, ivy does
not make an attempt to connect to the resolvers (used wireshark to caputre traffic to port
80).  When ivy.resolver.default.check.modified=true ivy makes connection to the URL resolver
and does a HEAD on each file.  I had a friend who is more familiar look at the code in ivy
and he thinks the DefaultRepositoryCacheManager is checking the http header last-modified
to determine if it needs to download the file.  This is not coming back in our headers.  I
do not have control over the apache server that is serving up SVN but I will work with that
team to try it out.  Also if I have time today I will setup my own repository and test it
out.  I will post with the results and maybe the ivy documentation can be updated to say that
for check modified to work you would need to have your web server send back the last-modified
http head for head requests.
    Thanks, Steve Saksa

HEAD /svnroot/commonlibrary/trunk/ivy-repo/ncicb/bda-utils/1.0/ivy.xml HTTP/1.1
User-Agent: Java/1.5.0_10
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

HTTP/1.1 200 OK
Date: Tue, 13 May 2008 18:10:20 GMT
Server: Apache/2.2.2 (Unix)
ETag: "330//trunk/ivy-repo/ncicb/bda-utils/1.0/ivy.xml"
Accept-Ranges: bytes
Content-Length: 5505
Connection: close
Content-Type: text/plain; charset=UTF-8


From: Jing Xue []
Sent: Tue 5/13/2008 9:58 PM
Subject: Re: When I update an ivy file in my repository ivy uses theversion from cache.

On Tue, May 13, 2008 at 02:49:12PM -0400, Saksa, Steven (NIH/NCI) [C] wrote:
> To whom it may concern,
>   I am fairly new to IVY also I am a System Administrator not a developer.  Any way we
setup a repository and were constantly editing IVY configs and thus  had some issues with
cache not getting updated.  To work around the issue so we were just cleaning the cache with
every build to ensure that we got what we wanted.  Anyway the repository is fairly stable
now and I have time to look into the cache issues.  I have included most of my configurations
and observations below.  Here is the general flow.
>   * Using Ivy 2.0.0-beta2
>   * Update ivy.xml file to include new dependency
>   * Generate new .md5 and .sha1 files
>   * Commit the file  (resolved via url from svn)
>   * Run ant target to retreive the files
>   * Resolve does not download the new depenency
>   * Check of cache directory shows that the bda-utils ivy.xml file is not updated
>   * After much research added ivy.resolver.default.check.modified property to try and
circumvent cache

Did you try setting changemodified="true" on the resolver directly?

>   * This resulted in not using the file from the site just using version from cache again

Jing Xue

View raw message