Snapshots are not intended to be depended on outside the context of the team working on it. Nothing released can ever had snapshot dependencies (on plugins or dependencies). I think what you are seeing is a symptom of longer release cycles. People need something fixed, they take a snapshot and move on. Unfortunately this is dangerous as you noted. We are working on getting tighter release cycles and I think it's starting to show recently.
Here's how I deal with instances where I need a snapshot plugin in my corp build: 1. Checkout the code for the snapshot. 2. Build it, changing the version to something like 2.0-[companyname]-svnrev 3. If I have to patch the source at all, I take the whole thing and put it in my svn. If not, then the svnrev in the release points me back to where I got it in case I need it later. 4. Deploy it to my repos. 5. Use this now "internally released" version in my builds. It's a little extra work, especially when you get stuff that has further snapshot dependencies etc, but it is most definitely stable and reproducible. (even if our repo disappears). -----Original Message----- From: Kevin Menard [mailto:[EMAIL PROTECTED] Sent: Thursday, April 12, 2007 12:50 PM To: Maven Developers List Subject: RE: Remove auto-resolution of plugin versions from Maven 2.1 A bit of a departure from the discussion, but still related . . . It may be worthwhile to rethink the whole SNAPSHOT system, too, then. Way too many plugins and dependencies sit in a SNAPSHOT limbo, presumably because it's simpler than cutting a release. And then SNAPSHOT to SNAPSHOT may break builds. In this case, the user has specified precisely the version he needs for his build (perhaps only SNAPSHOT has a particular bug fix), but he's still just as vulnerable to having the rug pulled out beneath him. -- Kevin > -----Original Message----- > From: Brian E. Fox [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 12, 2007 11:08 AM > To: Maven Developers List > Subject: RE: Remove auto-resolution of plugin versions from Maven 2.1 > > John, I think you've hit the nail on the head here. If you look at it > this way, your plugins used are no different than dependencies. It's > very dangerous to depend on the latest version of some jar from the > repo, and likewise plugins. We don't default to grabbing the LATEST > dependency, the same should be true for plugins. > > -----Original Message----- > From: John Casey [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 12, 2007 11:00 AM > To: Maven Developers List > Subject: Re: Remove auto-resolution of plugin versions from Maven 2.1 > > One thing I wanted to add: > > To me, it's critical to view your build script (or POM, or whatever > binding you have to a build infrastructure) as a piece of the project > code. The build - definition, shall we say? - is responsible for > modifying your source code into a binary that works the way you would > expect, and there are many options for the different steps involved in > this process. This complexity means that there is a risk that the > build process could introduce unexpected problems that may range from > a file being out of place in the resulting binary, to a compiler > option turned off that should be on, to using the wrong compiler. > > In other words, your build process is subject to bugs just like your > project source code is, and needs to be tested alongside everything > else. If you wait until release time to exercise a particular piece of > this code, that's not so different from having a piece of code with > absolutely no tests make it into your final binary. This is the > biggest reason why I feel that locking down the POM at release time is > dangerous. > > -john > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] For > additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]