On 16 Dec 06, at 3:40 AM 16 Dec 06, David Jencks wrote:


On Dec 15, 2006, at 11:05 PM, Jason van Zyl wrote:
<big snip>

Then don't use those repos, or label them as snapshot repos. As far as Geronimo is concerned why do you need anything more then central as a source? Aside from your SNAPSHOT dependencies.

This will only stop when Archiva is in full effect. The only way to submit anything to central will be via Archiva. Any project who wishes to have the same stability will only take artifacts that have passed through and instance of Archiva. You'll know you're using an instance of Archiva because we'll have a wagon for doing that and it will be configured. It will eventually be the default. It will simply be the Grizzly client and Jetty using the Grizzly connector.

Jason, one thing I'd like to point out here is that to a large extent jdillon has been saying "the current state of maven remote repos is unreliable" and you are saying, "no, as soon as we get archiva, signatures, audit trails, etc etc etc working they will be reliable". That's agreeing with jdillon that the current state of maven remote repos is unreliable since they don't have signed artifacts and an audit trail (at least). Just because you wish remote repos worked and were reliable does not mean they are today. I personally don't think they will be satisfactory until you have a revocation procedure in place as well as signing and an audit trail. I suspect that making this distributed system reliable is going to be much much harder than you imagine: I hope I'm wrong because if it works it would be really great.

The central repository itself has always been pretty stable with no safeguards. I realize not having these safeguards is not great but things don't just disappear off that machine. We have a huge problem, it appears, with the syncs we are pulling in automatically. Organization wide syncs are soon going to stop and it's going to be per-project so that when garbage appears we will know immediately who's polluting the repository, Archiva will also keep track of deletions. So yes, I agree on one hand that we need a watchdog in place but we are not randomly jumbling stuff around on the central repository. We're getting burned from our source syncs and the misuse of SNAPSHOT repositories for the most part.

Another comment I will make is that I am fairly sure there are severe bugs in the maven artifact resolution process when snapshots are present.

There are a huge number, I believe it's completely unreliable and it's going to need an overhaul. It was very apparent from my last round of travels that in many cases especially when snapshots are used there are severe problems. I think we underestimated the use snapshots and how prevalent their use would be for external dependencies.

This is because if I remove all org.apache.geronimo.modules artifacts from my local repo and build the corresponding part of geronimo, if I build online I usually get errors together with downloaded timestamped artifacts whereas if I build offline the build succeeds.

Yup, that's a patch we applied for Jason to provide a stopgap solution. Where no snapshots will be updated when building.

Note carefully that I am only building geronimo artifacts and there is no change whatsoever in non-geronimo artifacts in my local repo. I think nearly every time we've made a change involving more than one module since we started using m2 and pushing snapshots to the snapshot repo we've had user complaints that the build is broken, and the solution always is to build offline.

Snapshots are an inherit instability but there are definitely error in working with snapshots in maven-artifact and it's bad. I see it as the most critical problem with 2.0.x. But moving toward using less of them even if that's locking to some timestamped versions will help greatly.


Your complaints about any already released geronimo artifacts are totally irrelevant unless you want to recommend we move back to m1 since the 1.2-beta and 2.0-M1 are the first releases we've tried to do with m2 (except for specs, which got messed up in various other ways but have not been a giant problem until recently).

With m1 or m2 a release with snapshots is deadly. The practice seems to be something present regardless of what version of Maven you're using. The concept of a SNAPSHOT is the same in both versions though implemented differently.

Even in the face of the instability with SNAPSHOT handling in m2 I think you can eliminate a lot of it by getting off many of your SNAPSHOTs and I am trying to get out 2.0.5 which now contains a fix that always takes SNAPSHOTs locally if you have them.

Jason.


thanks
david jencks



Reply via email to