On Nov 8, 2010, at 12:33 PM, Yanko, Curtis wrote: > Why is that not guaranteed to exist or be reliable?
A Maven repository is a cache, not a reliable persistent store. *Yours* may be reliable, but the artifacts that are built to it should not contain metadata that, if lost, would make rebuilding that (or another artifact) exceptionally difficult. > And at the > moment I build A the build log will tell me exactly which SNAPSHOT we > received. So you want to keep build logs around indefinitely to solve this problem? That sounds suboptimal. There's no schema for log output, so pulling the values out by machine is unreliable over time. > I can crack it open and see exactly which SCC > revision was used and which path within the SCC it came from (because we > bake that info into everything we build). But if A depends on B and C and the SCC revisions of B and C are not recorded in A, then there isn't a way to reliably build A. The other side of this question is where to store the revision IDs for B and C. In the manifest? Maven can't use that information. Possibly in the POM as an additional qualifier in the respective <dependency> element of the POM that is stored in the artifact would make more sense, but then Maven needs to be changed with questionable semantics (what happens if there is an impossible combination of <version> and this revision ID qualifier?) This is why I was considering a repository manager plugin. It's site specific, and if it generated throwaway synthetic POMs for reproducing old builds, nothing has to be changed in Maven itself (the repository manager can call the artifacts anything it wants to properly identify the exact versions of B and C, likely returning synthetic POMs for them too). --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org