You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Xavier Hanin <xa...@gmail.com> on 2007/12/28 01:29:37 UTC

Re: Cache root on tasks

Hi,

As we agreed in another e-mail in the old ivy-dev@i.a.o list, I've worked on
removing the ability to define the cache root on all Ivy ant tasks. I've
also removed this option from all engines options, so that now the cache
managers are defined at only one location:
- global in the settings for the resolution cache manager
- per dependency resolver for the repository cache manager

I still have some issues to fix to really give the flexibility to define one
repository cache manager per dependency resolver, but I think we are getting
close to IVY-399 resolution. One thing I'd still like to change in this area
besides the fix and improvement in flexibility is to make repository cache
managers responsible for managing the useOrigin flag. It would be much more
consistent IMO, and also more flexible, allowing to use one cache manager
for one resolver with useOrigin=true, and another cache manager for another
resolver with useOrigin=false.

This would mean removing useOrigin flag from the tasks, and adding it to the
cache settings (which will have to be improved to allow per resolver cache
manager). Since this would be a task backward incompatibility (which we tend
to avoid to ease 2.0 migration), I'd actually keep the useOrigin attribute
on the related tasks, but deprecate it, and only set a property from the
value set on the attribute. Then this property would be used as default
value for the useOrigin flag on the default repository cache manager (used
by all resolvers unless they specify another repository cache manager).

Do anybody see any problem with this approach?

Xavier

On Nov 29, 2007 9:15 PM, Xavier Hanin <xa...@gmail.com> wrote:

>
> Hi,
>
> I'm currently working on IVY-628, thinking also about IVY-399 in the mean
> time, and I'm struggling with the root cache location being able to be
> defined in almost any call to Ivy. Most tasks have a cache attribute
> (undocumented, but existing since very first versions of Ivy) and so do
> all
> major services methods (like resolve, publish, ...).
>
> Do you see any interest in this, and do you think this is something used.
> Since it is not documented I guess users couldn't complain about this
> "functionality" removal. And now that we can use multiple settings, a user
> really wanting to use a different cache location for a particular task
> could
> simply use a different settings for that (and with settings import, you
> can
> import your regular settings and just change the defaultCache).
>
> So, do anyone see any objection to remove this facility, and rely only on
> cache management as defined in the settings?
>
> Xavier
> --
> View this message in context:
> http://www.nabble.com/Cache-root-on-tasks-tf4899614.html#a14033823
> Sent from the ivy-dev mailing list archive at Nabble.com.
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/