20040816

Departmental Eclipse with Ant

Oleg Shteynbuk has come up with an ant task set that allows you to script the installation and update of eclipse. Update/Install Eclipse with Ant Script, different Update/Install Strategies describes this great piece of work.

I have been working for a number of largeish companies recently and (probably too often) they notice my extensive eclipse experience and ask "can you set up a template/default eclipse for our standard installation?". Installing eclipse as an individual is straightforward, but installing a department wide version is not easy. I now prefer not to do it because it takes a long time to get right, and being an architect I don't really want to spend my time on tools. But Oleg's work might change that.

The alternatives are to use the services that 'sell' tested eclipse installations, like Yoxos, but these still need tailoring to the CM, filesystem and project settings required. You could also use rpms, such as those from jpackage.org, but this would require you to repackage your plugin set.

The key elements of a department wide installation are:

  • Ease of management.

  • Tested plugins.

  • Common settings, e.g. checkstyle settings.

  • Project information integration.



I will use a current situation to illustrate the problems - moving from eclipse 2 to 3. To do this manually is prohibitively costly where I am at the moment. The update instructions for users is 3 pages of detailed commands that take more that an hour to complete. The number of working plugins has been drastically reduced and the number of minor configuration tweaks required is large. To complicate matters many users have additional plugins and non-standard workspace architectures. Combine that with the length of time developers will spend playing with the new version and you have a cost in man days rather than man hours - so we are sticking with version 2 for the moment.

What this ant task should do is automate the first two parts. Make installation and update a simple matter of releasing updates to the network. A separate installation can be used to test the bleeding edge versions and manage the plugin dependancies. The way the update works should preserve a large number of the configuration settings between versions, but there will always be tweaks required. Eclipse 3's new workspace switching implementation should also make the project integration simpler.

No comments: