DTP 1.5 Development Environment

Introduction

As described in the DTP 1.5 build documentation, we are building against Eclipse 3.2.2 (with associated EMF and GEF versions) and a Sun 1.4 VM. The primary test environment is the latest M/RC for Eclipse 3.3 (with associated EMF and GEF versions) and a Sun 1.5 VM. We are doing this in an attempt to make DTP 1.5 available on both 1.4/1.5+ VMs and Eclipse 3.2.2/3.3. In order for this to work, all DTP committers must be developing against a Eclipse 3.2.2 target platform with a 1.4 VM. Doing otherwise runs the very real risk (as has been demonstrated by a number of build breakages during 1.5) that Eclipse 3.3 or 1.5 VM features will be used, hence invalidating the code in the build environment. Given the on-going problems in this area, this page is designed to explain how to achieve the required configuration, regardless of your preferred Eclipse development version.

DTP 1.5 Development Environment

You can develop DTP 1.5 using Eclipse 3.2.x or 3.3 (perhaps other versions too, if you wish), but you must be sure to set the proper target platform. The target platform configuration is located in Window->Preferences...->Plug-in Development->Target Platform and looks like:

You must make sure that the target platform is set correctly. In the configuration dialog shown above, you can Browse... to the necessary folder. For standard DTP 1.5 development, this should be the folder containing Eclipse 3.2.2. Select the folder, and verify that all the expected plug-ins appear in the dialog list. If you are developing in Eclipse 3.2.2, then the default selection to your development environment will be fine.

Next, you need to make sure that the correct VM version is being used. Check the second tab on the Target Platform dialog:

If the correct VM version does not appear, selected it from the drop-down list. If the required version does not appear in the drop-down list, then you should add the install location using the Window->Preferences...->Java->Installed JREs page. Once the configuration is set correctly, click "OK" to accept any changes. Regardless of the version of Eclipse that you are running, plug-ins developed within it will be built and tested using a 1.4 VM with Eclipse 3.2.2.

The advantage that the target platform mechanism gives over, for example, restricting yourself to developing only in the required environment is that you can easily switch target platforms to build/test against different Eclipse/VM combinations. For example, if you have the two VM and two Eclipse locations mentioned in the above list, then you can change the target platform for a variety of interesting configurations:

Eclipse 3.3 and a 1.5 VM: Run a "sanity" build to make sure there is no breakage when using 3.3.

Using the capabilities of the Launch Configuration, you can build DTP in a Eclipse 3.2.2/1.4 VM target platform, but test in a Eclipse 3.3/1.5 VM environment.

If you additionally create an Eclipse 3.3 location, but using EMF 2.2 (instead of 2.3), you can build/test in Eclipse 3.3 using a 1.4 VM.

The main point is, however, that DTP 1.5 code must be developed using a Eclipse 3.2.2 and 1.4 VM target platform.