On Mar 25, 2009, at 5:07 PM, Sean Hennessy wrote:
Evidence to the contrary that Bob and Alice are working independently is they share development on single artifact Foo.
They're working independently on AppA and AppB, but they're sharing the work of developing Foo.
Ensure Alice and Bob communicate daily on the development plan, schedule and status.
Yes, that is true. Alice should have told Bob that she released Foo 2.1, and that development on the trunk is now at version 2.2-SNAPSHOT, and that Bob should update his AppB to depend on this new version. That would have definitely solved Bob's problem.
But the side-effect is that whenever there's a new release of a dependency, emails must be sent and POM files must be updated. For Alice's and Bob's simple scenario, that's not a big deal. But consider a real-world scenario with many developers and perhaps dozens of interwoven dependencies. The stream of new releases causes a flurry of communication and lots of POM editing, especially if the development teams are following a "release early, release often" kind of strategy. The overhead is not scalable, especially in the face of human error. (An email could be forgotten, or a POM file could be updated with the wrong version number.)
In fact, all this overhead encourages developers to *avoid* releasing new versions of dependencies. They want to work with X-SNAPSHOT for as long as possible simply to avoid the extra work of putting out a new version, even if it's just an internal release. (This is precisely the problem we're facing in my team and is what prompted the original post.) Of course, staying with a SNAPSHOT release for extended periods complicates regression testing and other quality assurance tasks.
Trevor --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org