ECF/Development Guidelines

This document is intended to introduce an interested developer on how to get acquainted with the ECF codebase, filing bugs at Bugzilla, and setting up a workspace with proper execution environments. A lot of the material here is copied and pasted in verbatim or otherwise from the GMF Development Guidelines article, kudos to the GMF team for creating such well-written guidelines!

Installing a Foundation 1.1 Execution Environment on Windows/Linux

Go through the motions of signing up/logging into an IBM account and then download the .exe (Windows) or .bin (Linux) file.

Install the downloaded file. On Windows, simply double-click on the executable as you would for any other program. On Linux, make sure that the .bin file is executable (invoke a chmod +x on it as necessary), and then open it (from the command line or otherwise). You may not have permissions to write to the default folder it sets itself to, so change it as necessary.

Dig inside the installed folder until you find the weme-win-x86-ppro11_6.1.0.20060727-102926.zip zip file (the name will be slightly different on Linux).

Extract the file to somewhere of your convenience. Note that it will not create a new folder, so don't unzip it in a messy folder! ;) On Linux, you may need to enter the bin folder and invoke chmod +x on the *.so files and the J9 binaries (such as j9, j9dbserv, etc.).

Follow the J9 JRE setup instructions specified here. If you do not find the plug-in after you have reinstalled Eclipse, try again with the -clean argument appended.

Select CDC-1.1/Foundation-1.1 from the left column, you should see your newly installed VM being a [perfect match], click on the checkbox, and then click 'OK'.

That's it!

Setting a Foundation 1.1 Runtime for a Project

If you have not already done so, you should add the CDC-1.1/Foundation-1.1 execution environment to your plug-in's MANIFEST.MF file. This can be done in the editor's 'Overview' tab. Per the Execution Environments' article, you should also set J2SE-1.4 as an exeuction environment.

Click on your project and access it's properties bringing up its context menu by right-clicking, 'Properties' should be at or near the bottom.

Access the 'Java Build Path' section and click on the 'Libraries' tab.

Click on your existing JRE System Library and remove it.

Click on 'Add Library...', a dialog window should appear.

Select 'JRE System Library', and then go 'Next'. Select the 'Execution Environment' radio button, and then select CDC-1.1/Foundation-1.1 from the combo control, now click 'Finish'.

Coding

The items described in this section covers coding standards and styles (such as formatting), best practices, and other concerns that are upheld by ECF to conform to the high standards expected from being an Eclipse project.

Copyright

All code contributions to ECF must be licensed under the Eclipse Public License. Any code or library that is not under the EPL that you may be using in your contribution should be licensed under an EPL-compatible license. Code of that nature needs to undergo an IP check prior to getting committed into Eclipse's CVS repository. In the meantime, it is likely that your contribution will be committed to the repository at OSUOSL's server. If you use code that is not under an EPL-compatible license, the code will remain at OSUOSL's CVS repository and will never be moved to Eclipse's CVS repository.

If you are using any third-party library or code in your contribution, you should make note of this clearly when you file your bug/enhancement at Bugzilla regardless of whether the other code is licensed under the EPL or an EPL-compatible license. This is important for keeping track of IP for code in Eclipse projects.

In accordance with other Eclipse projects, an appropriate copyright notice must be presented at the beginning of all source files. You can set this by navigating to Preferences... > Java > Code Style > Code Templates, you can find a template you can take from the Foundation's legal documentation. The date range presented is used to indicate when a file was created and last modified.

Conventions

The ECF project uses the same compiler and formatter preferences that the Equinox project uses. You can download the prefs file here. The editor preferences that the ECF project uses is also the same as Equinox's, you can find that prefs file here.