We're climbing the learning curve on building right now... using the Nexus apache repository, and the maven release plugin.
What I think is happening (I've been grappling with it myself this morning), is we've had some releases of build tooling, and some failed releases of build tooling. When a release happens, projects that released together have their dependencies on parents which are being released, updated from xxx-SNAPSHOT to just xxx. However, other projects, not being released (e.g., the uimaj-xxx ones etc.) don't have their parent-pom version numbers updated - they're still point to 1-SNAPSHOT. This is OK for a while. But at some point, we deploy the next level snapshot, e.g., 2-SNAPSHOT, and then later, the snapshot-cleaner removes "old" snapshots from the snapshot repo. So a new user (or one who has cleaned up their local .m2 repo) tries to build, and finds missing things. Furthermore, the release process changes the trunk so that released things at 1-SNAPSHOT become 2-SNAPSHOT. So building from a fresh checkout of the trunk where the trunk now has references to 1-SNAPSHOT versions (not updated to 1 or to 2-SNAPSHOT) fails. I think the best-practice here is to do the following, when a release succeeds: * update *all* dependencies in the trunk to depend on the released version (without the -SNAPSHOT) * subsequently, if some artifact needs to depend on another changed artifact at a -SNAPSHOT level, change that to that level (including the -SNAPSHOT). I'll be updating the trunk for this, probably today, with the goal making a fresh checkout build, once again. Sorry about this glitch... -Marshall On 7/5/2010 11:49 AM, Eugenie wrote: > .. the same problems for me. > > I just had to give up after a couple of hours trying to follow all of these > advices on the web without success. It is like a circle, whatever I build > first, > I always end up with missing something I thought I've built already .. :( > > > Best, > Eugenie > > > > >
