It looks like storing the artifact *lastModified* date is required for the
url->artifact cache only, and the artifact *url* is not required for either
the artifactId->artifact cache or the url->artifact cache.

I guess one question is whether the lastModified date can actually be
considered some sort of meta-data about the artifact itself, or if it's
actually more like meta-data about the artifact *retrieval*. I kind of
think the lastModified date should be only used when checking if a
particular URL retrieval is up-to-date: and that this value should not leak
into the model further.

At the moment, if we get the same artifact from 2 different URLs in the
same repository, it looks like we will overwrite the first retrieval
(lastModified + url) when we cache the second. This doesn't feel great to
me.

So while I quite like the fact that these 2 caches are consistent in API, I
don't know if they accurately model the information available. The issue
with diverging them, of course, is that you may lose that nice shared
implementation.

My 2c
Daz

On 21 March 2012 09:19, Luke Daley <[email protected]> wrote:

> I made the following change as part of the url based caching:
>
>
> https://github.com/gradle/gradle/commit/a0a54fdd353801986670aa15dfd4067ab9558722
>
> In the initial design it was needed, it no longer really is. We do get a
> benefit though in the artifact-by-repository cache we also store the last
> modified and source url for the artifacts, though we don't do anything with
> this information right now.
>
> I'm wondering if we should leave this change in or pull it out.
>
> --
> Luke Daley
> Principal Engineer, Gradleware
> http://gradleware.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>


-- 
Darrell (Daz) DeBoer
Principal Engineer, Gradleware
http://www.gradleware.com

Reply via email to