Jump to: navigation, search

Difference between revisions of "ECF/Development Guidelines"

< ECF
(Creating the page)
 
(See also)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This document is intended to introduce an interested developer on how to get acquainted with the [[Eclipse Communication Framework Project|ECF]] codebase, filing bugs at Bugzilla, and setting up a workspace with proper execution environments.
+
This document is intended to introduce an interested developer on how to get acquainted with the [[Eclipse Communication Framework Project|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 [[Graphical Modeling Framework|GMF]] team for creating such well-written guidelines!
  
==Workspace setup==
+
==Workspace==
===Installing an Appropriate Foundation 1.1 Execution Environment (Windows/Linux)===
+
:''For further information, please see [[J9]].''
 +
===Installing a Foundation 1.1 Execution Environment on Windows/Linux===
 
# Go to [http://www-128.ibm.com/developerworks/websphere/zones/wireless/weme_eval_runtimes.html IBM's WEME evaluation platforms website].
 
# Go to [http://www-128.ibm.com/developerworks/websphere/zones/wireless/weme_eval_runtimes.html IBM's WEME evaluation platforms website].
# Select the appropriate Foundation 1.1 download based on your operating system (Linux or Windows XP).
+
# 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 or .bin file.
+
# 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 as usual. On Linux, make sure that the .bin file is executable (invoke a <code>chmod +x</code> on it as necessary). You may not have permissions to write to the default folder it sets itself to, so change it as necessary.
+
# 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 <code>chmod +x</code> 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 <code>weme-win-x86-ppro11_6.1.0.20060727-102926.zip</code> zip file (the name will be slightly different on Linux).
 
#Dig inside the installed folder until you find the <code>weme-win-x86-ppro11_6.1.0.20060727-102926.zip</code> zip file (the name will be slightly different on Linux).
#Extract the file to somewhere of your convenience. On Linux, you may need to enter the <code>bin</code> folder and invoke <code>chmod +x</code> on the <code>*.so</code> files and the J9 binaries (such as <code>j9</code>, <code>j9dbserv</code>, etc.).
+
#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 <code>bin</code> folder and invoke <code>chmod +x</code> on the <code>*.so</code> files and the J9 binaries (such as <code>j9</code>, <code>j9dbserv</code>, etc.).
 
#Follow the J9 JRE setup instructions specified [http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-debug-home/plugins/org.eclipse.jdt.launching.j9/index.html here]. If you do not find the plug-in after you have reinstalled Eclipse, try again with the <code>-clean</code> argument appended.
 
#Follow the J9 JRE setup instructions specified [http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-debug-home/plugins/org.eclipse.jdt.launching.j9/index.html here]. If you do not find the plug-in after you have reinstalled Eclipse, try again with the <code>-clean</code> argument appended.
 
# Now configure your execution environments by going to Window - Preferences - Java - Execution Environments.
 
# Now configure your execution environments by going to Window - Preferences - Java - Execution Environments.
Line 15: Line 16:
  
 
===Setting a Foundation 1.1 Runtime for a Project===
 
===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 <code>MANIFEST.MF</code> file. This can be done in the editor's 'Overview' tab. Per the [[Execution Environments#Foundation class libraries|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.
 
# 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.
 
# Access the 'Java Build Path' section and click on the 'Libraries' tab.
Line 21: Line 23:
 
# 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'.
 
# 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'.
  
You can set a plug-in's EE by opening up the <code>MANIFEST.MF</code> file and setting it it in the 'Overview' tab.
+
==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 [http://www.eclipse.org/legal/copyrightandlicensenotice.php 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 <code>prefs</code> file [http://www.eclipse.org/equinox/documents/org.eclipse.jdt.core.prefs here]. The editor preferences that the ECF project uses is also the same as Equinox's, you can find that <code>prefs</code> file [http://www.eclipse.org/equinox/documents/org.eclipse.jdt.ui.prefs here].
  
 
==See also==
 
==See also==
Line 27: Line 40:
  
 
[[Version Numbering]]
 
[[Version Numbering]]
 +
 +
{{ECF}}
 +
 +
[[Category:ECF]]
 +
[[Category:Eclipse Communication Framework|Development Guidelines]]

Latest revision as of 09:23, 22 December 2010

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!

Workspace

For further information, please see J9.

Installing a Foundation 1.1 Execution Environment on Windows/Linux

  1. Go to IBM's WEME evaluation platforms website.
  2. Select the appropriate Foundation 1.1 download based on your operating system.
  3. Go through the motions of signing up/logging into an IBM account and then download the .exe (Windows) or .bin (Linux) file.
  4. 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.
  5. 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).
  6. 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.).
  7. 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.
  8. Now configure your execution environments by going to Window - Preferences - Java - Execution Environments.
  9. 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'.
  10. That's it!

Setting a Foundation 1.1 Runtime for a Project

  1. 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.
  2. 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.
  3. Access the 'Java Build Path' section and click on the 'Libraries' tab.
  4. Click on your existing JRE System Library and remove it.
  5. Click on 'Add Library...', a dialog window should appear.
  6. 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.

See also

Development Conventions and Guidelines

Version Numbering

Eclipse Communication Framework
API
API DocumentationJavadocProvidersECF/Bot Framework
Development
Development GuidelinesIntegrators Guide