"What can be done to prevent Bob's problem?"
Evidence to the contrary that Bob and Alice are working independently is they 
share development on single artifact Foo.
Ensure Alice and Bob communicate daily on the development plan, schedule and 
status.
Unless they are married..in which case you're stuffed ;-)

-----Original Message-----
From: Trevor Harmon [mailto:tre...@vocaro.com]
Sent: Wednesday, March 25, 2009 12:11 PM
To: Maven Users List
Subject: Possible problem when multiple developers depend on SNAPSHOT versions


Consider this scenario:

Alice and Bob are working independently on two different applications,
AppA and AppB. Both applications depend on an in-house shared library,
Foo, that Alice and Bob are working on together. They have both
checked out Foo's trunk and are regularly committing changes to it.

Because Foo is undergoing heavy development, AppA and AppB depend on
Foo 2.1-SNAPSHOT, but now Foo is looking pretty stable, and Alice's
AppA needs some of the features scheduled for Foo 2.2, so she decides
to perform a release of Foo 2.1 and does the usual release procedure:

1) Changes Foo's version from 2.1-SNAPSHOT to 2.1 and checks it into
the trunk
2) Deploys Foo 2.1 to the company's internal repository
3) Tags the Foo trunk as the 2.1 release branch
4) Changes Foo's version from 2.1 to 2.2-SNAPSHOT and checks it into
the trunk
5) Changes AppA's dependency to point to Foo 2.2-SNAPSHOT

But what about Bob? He's still working with Foo 2.1-SNAPSHOT for his
AppB. If he updates his working copy of Foo's source code, any changes
he makes to Foo will be built as a 2.2-SNAPSHOT release, since Foo's
trunk is now 2.2-SNAPSHOT. This is a major problem because his AppB
has a dependency on 2.1-SNAPSHOT, so the next time he tests AppB, it
will pick up the old Foo 2.1-SNAPSHOT, ignoring any changes Bob makes
in Foo. He will probably waste a lot of time debugging, at least until
he happens to notice that Foo's version has changed.

What can be done to prevent Bob's problem?

Trevor


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to