Managing Eclipse with Large Development Teams Is a Problem
Daniel Berrange of RedHat responds to Tom Tromey’s post about the challenges of packaging and distributing Eclipse plugins, saying that such challenges are symptomatic of a larger management problem in Eclipse.
Berrange illustrates with a personal example of when he was involved in designing and implementing a structured development environment for a group of Java developers. Berrange’s aim was to ensure all developers were using an identical development environment/toolchain, to enable new developers to get working in a fully functioning development environment within ten minutes, and to ensure new machines were installed and correctly configured to act as development servers with no manual intervention. Berrange found that the deployment and subsequent management of Eclipse was very complicated.
“The crux of the problem is that the model Eclipse (and most other IDEs) operates under, is focused on individual developers. Each developer is expected to individually download & install the plugins they want in their workspace. When a plugin update comes out, each developer has to individually update all their workspaces. When managing a large development team a top priority is to ensure all developers have the same version of the development environment. As an administrator it should be possible to deploy & upgrade plugins for all developers using the regular RPM+YUM model. I partially addressed this by deploying RPMs which install the plugins to a central directory & instructing developers to simply have the update manager install all plugins found at this location.”
Berrange says it all comes down to policy and control. “As the manager of the development environment, one should be able to define a "template" workspace which contains all the pre-determined functional settings, loads the necessary set of plugins, defines the appropriate SCM repository & lists requisite projects. Getting a developer up & running would then merely require invoking a command to the effect of ‘give me an instance of this workspace template’,” he says.