[ 
https://issues.apache.org/jira/browse/IVY-628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12546907
 ] 

Xavier Hanin commented on IVY-628:
----------------------------------

I've implemented a first version of this improvement, which seems to work 
properly, but I'm not happy with the implementation so far. 

The two parts of the cache are now:
- a repository cache, where Ivy caches data collected from dependency resolver, 
such as the downloaded artifacts and module descriptor, and meta information 
such as the artifact origin and resolver name
- a dependency resolution cache, where Ivy puts files with the result of a 
resolution process

I've created two interfaces corresponding to each kind of Cache, and tried to 
use these interfaces as often as possible. The main area where the two kind are 
needed together is for the resolve itself.

By default the two locations are still in the defaultCache, but one can use 
ivy.cache.repository and ivy.cache.resolution to choose a different root 
(relative to the base cache directory).

What I still don't like is how responsibilities are shared between cache and 
settings, and that a base cache directory can be defined almost in all tasks 
(see my e-mail on ivy-dev on this subject). I would really like to make 
CacheManager a first level citizen in Ivy realm, and configure cache per 
resolver (see IVY-399) or globally per settings, but outside the settings 
element, and rather in a cache element.

Thus I don't mark this issue as resolved yet, waiting for feedback about this 
kind of thing (and especially to remove base cache definition from everywhere 
but the settings).

> split the cache into an downloaded artifacts cache and a metadata cache
> -----------------------------------------------------------------------
>
>                 Key: IVY-628
>                 URL: https://issues.apache.org/jira/browse/IVY-628
>             Project: Ivy
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Maarten Coene
>            Assignee: Xavier Hanin
>             Fix For: 2.0
>
>
> At the moment, the cache contains two types of data:
> - downloaded artifacts (jars and ivy files)
> - metadata files containing resolve results
> It would be good if we could specify different cache locations for each type.
> We could also for instance make these locations configurable with the 
> following properties:
> ivy.cache.artifacts
> ivy.cache.metadata
> The default for both properties could be the current Ivy cache directory.
> Maarten

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to