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
