ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jing Xue <>
Subject Re: ranged versions and maven proxy
Date Fri, 06 Apr 2007 14:07:18 GMT

Hi Xavier,

Thanks for the responses. Please see below for my comment:

Quoting Xavier Hanin <>:

> The ApacheUrlLister, depsite its name, is able to list urls on a good number
> of http server, as long as they have directory listing enabled. In the case
> of maven proxy, I guess you can't browse a directory, or the directory
> doesn't look like usual http servers directory listing.

You are right, the directory page the proxy generates is rendered  
differently, which of course throws the UrlLister off the track. :-)

> So opening the settings to be able to set the URLLister used is a good idea,
> but I think that as part of our attempt to make better integration with
> maven repository we should also make sure that the ibiblio resolver is
> compatible with maven-proxy (I think we should use maven metadata files,
> instead of browsing directories as we do).

I agree. Working with the maven metadata not only solves this problem,  
but also the more troublesome one where the proxy won't be able to  
list all the artifacts properly if it doesn't have all of them locally  
already, because proxies don't go to the underlying repository for  
directory listing.

> Could you open an issue for opening the API of URLResolver, and I'll open
> one for maven proxy compatibility.

Will do as soon as I can.

> This is really strange. I haven't tested with a cache resolver (it's not
> very often used, since Ivy itself relies on its cache as often as possible
> without any specific settings), but it's unit tested in general case, and
> I've checked the code and I don't see why if the first resolver returns
> something the chain could continue (with returnFirst=true). But if you want
> to help us investigate, could you please send a debug log, adn we'll see if
> we better understand what's happening.

Sure, will do with the latest trunk build as soon as I get to it.

For whatever its worth, my guess (from skimming through the code) is  
that in the ivy metadata files generated in the local cache, the  
resolver associated to an artifact is always kept as the one that  
resolved it _originally_, rather than getting updated to be the one  
that was able to resolve it _most recently_.  That's probably why if I  
commented out ibiblioResolver, it would start reporting the artifact  
being resolved by the cacheResolver, and stay that way even after I  
put the ibiblioResolver back.

Jing Xue

View raw message