Maven

Sounds like what I was asking about, yet cfmdobbie said it didn’t do that…?
[/quote]
Maybe I wasn’t entirely clear…

Maven fully understands versioning of libraries, and expects that all libraries have a group name (company/team), a library name, and a version number. In your project.xml you define dependencies in terms of these three criteria, and Maven (if necessary) fetches the appropiate jar, uses it in builds, bundles it in releases etc.

One project may depend on ORO 2.0.8; another project could be using ORO 2.0.7. These don’t conflict. Maven acquires both of them (as and when necessary), and uses the appropiate one at the appropiate time.

If Developer A upgrades a project from 2.0.7 to 2.0.8, he updates the project.xml, and commits any code changes. When Developer B runs an update, they receive the project.xml and the source code changes. They then do something with the project - compiling, for instance; when Maven sets things up to use the right library versions, it notices that 2.0.8 isn’t in Developer B’s local repository, and acquires it.

At no time does a library change versions without the express intention to do so. At no time does an old project break because of a new project.

[quote]Across this company you get all sorts of IDEs (read VIM in some cases)
[/quote]
Heh, my editor of choice. :slight_smile:

In terms of different IDEs and such, we’re in the same boat here. We use VIM, Eclipse, Netbeans, Textpad, IDEA, etc… We seem to get by with Ant just fine.

God bless,
-Toby Reyelts