Wierd eclipse configuration

On a recent project I joined I was amazed to see how things were working in regards to the IDE.

First, the environment was not uniform, there were:

  1. An
    ad hoc approach towards the IDE - different IDE versions and different
    set of plugins. Good plugins were not easily distributed among all the
  2. Different way of
    getting and storing the local version of the source code - different
    plugin for the IBM ClearCase. Some people even downloaded and committed
    the source manually - through an outside (to the IDE) application.
  3. no
    one-step build even for debugging - the building required a few manual
    steps to build and run. Some developers did not use debugging, some
    used it manually since the IDE could not automatically deploy everything

So after some days on the project I proposed to make a uniform environment that would have automatic building and deploying.

now's the time to give some info on the project: Web project including
ajax written in java, IDE: Eclipse. Lot's of legacy code and legacy
dependencies (which had to be removed).

The problems:

  1. Scattered source code and resources:

    There were several projects and each had the source in a java directory, some web resources in a web directory and all kind of tests plus test resources in a tests directory.

  2. Dependencies on numeroous (~150) libraries scattered around.

first I had to separate web content from source code. This could work
with linked folders. So I created a few java projects with only the
source code.
Then create a new web project that depended on all the
other projects and had several linked resources for all the web
content. The hardest thing was that in an Eclipse web project one can
have only one folder that's gonna be the root one, vis à vie you can't
have two directories with web content that shall be deployed in the web
root folder. (At least it looks that way when one goes through the configuration of a web project)

After some research it appearred that actually this was possible (manually):

So after this was done the only thing left was to configure the deployment to different servers.

So the moral of that story is that even with a directory structure that complicated one could be able to abstract all that from developers and create an IDE that can do most common tasks automatically.

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.

This site uses Akismet to reduce spam. Learn how your comment data is processed.