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 to IBM's WEME evaluation platforms website.
- Select the appropriate Foundation 1.1 download based on your operating system.
- 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 +xon 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_220.127.116.1160727-102926.zipzip 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
binfolder and invoke
chmod +xon the
*.sofiles and the J9 binaries (such as
- 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
- Now configure your execution environments by going to Window - Preferences - Java - Execution Environments.
- 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.MFfile. 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'.
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.
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 must 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 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.