logoTop pad
Table of Contents
Creating a new project
Creating a new MIDlet
Packaging for deployment
For EclipseME developers

Eclipse Ready Logo
SourceForge.net Logo

Advanced - Developer Documentation

If you're an EclipseME user, this area isn't really intended for you. This area is intended for persons interested in contributing to the ongoing development of the EclipseME plugin.

  1. Browsing the EclipseME Code
  2. Downloading the EclipseME Code
  3. Debugging the EclipseME Code
  4. Building the EclipseME Binaries
  5. Creating Patches
  6. Anatomy of the EclipseME Code
  7. Extending the EclipseME Code
  8. EclipseME Core API Reference

Browsing the EclipseME Code

Versions 1.6.2 and later of EclipseME are being developed in the Sourceforge Subversion repository. While the previous versions still exist in Sourceforge CVS for historical purposes, no further development is occurring within CVS. A description of how to generically access the EclipseME SVN archive can be found here, and you can browse the contents of the EclipseME SVN archive by clicking here.

Downloading the EclipseME Code

If you're going to do any development on EclipseME, you will need to use a Subversion client. The best way to interact with SVN from Eclipse is to use one of the two Subversion plugins. The Subversive project can be found here, while the Subclipse project is hosted by tigris.org. These directions will assume the use of the Subversive plugin. If you prefer Subclipse, please translate these directions accordingly.

Creating the EclipseME SVN Repository Location

Refer to the plugin documentation for further instructions on creating a new SVN Repository Location within the SVN Repositories View. Specify the following information when creating the repository location:

Password(leave this empty)

Checking Out the EclipseME Project

The EclipseME project source control contains three top-level folders. The separation is very simple:

  • eclipseme-src
    The source code for EclipseME
  • eclipseme-tools
    The source code for some tools used in the development of EclipseME
  • eclipseme-web
    The HTML and other source code that makes up the the eclipseme.org web site
  • Development of EclipseME only requires the source code provided by the eclipseme-src folder from SVN. To set up for development, do the following:

    1. Expand the newly created EclipseME SVN repository location.
    2. Expand the trunk branch within the EclipseME SVN repository location.
    3. Right-click on the eclipseme-src project and choose Check Out from the context menu.

    At this point, the code has been checked out into your workspace, but it is not yet setup such that Eclipse can be used for developing the code. The Eclipse Plugin Development Environment (PDE) requires that each plugin and feature is imported into the workspace as a project. The best way to do this is to "share" the code with the eclipseme-src project that was just checked out. To import the plugin projects:

    1. Choose File -> Import...
    2. Expand the General category.
    3. Select Existing Projects into Workspace.
    4. Press the Next button.
    5. Enter or browse to [workspace-root]/eclipseme-src/plugins for the root directory.
    6. Press the Refresh button and allow Eclipse to locate all of the plugin projects.
    7. Select all of the plugin projects that were located (this should be the default).
    8. Make sure that Copy projects into workspace is not enabled.
    9. Press the Finish button to initiate the import.

    At this point, the Eclipse should have imported and compiled the plugin projects. The "Anatomy" page provides a brief description of the plugins.

    Debugging the EclipseME Code

    The code may be edited and debugged using the standard Eclipse mechanisms for working with Eclipse plugins. Refer to the Eclipse Plugin Development Environment (PDE) help for further information on developing plugins for Eclipse.

    Building the EclipseME Site Distribution Archive

    After development of any new functionality is complete, the EclipseME distribution archive can be built using the provided Ant build file. The Ant build file can be found in [workspace-root]/build/build.xml. The Ant file can be launched outside (provided the necessary Ant properties are set to point to the Eclipse home location) or inside of Eclipse. The easiest way to launch the build is to use the provided [workspace-root]/build/Build EclipseME Site Archive.launch. You can launch via the External Tools launcher on the Eclipse toolbar. From the Eclipse Run menu, select External Tools and then External Tools... again from the submenu. This will display a dialog similar to the following:


    Select the item labeled Build EclipseME Site Archive and press the Run button. This will start the process of packaging up the EclipseME distribution archive. The output archive will be placed in [workspace-root]/output/eclipseme.feature.

    Typically, once you have build the site archive once, Build EclipseME Site Archive will then appear directly in your Run / External Tools menu.

    Creating Patches

    If you've followed along this far and managed to make a change in EclipseME that you feel should be included for other users, the best way to provide that change to the maintainers is with a patch file. Patches can be created by:

    1. Select the project that contains the changes to be submitted.
    2. Open the context menu and choose Team -> Create Patch...
    3. Select Save in file system and provide a file system location into which the patch file can be written.
    4. Press the Finish button to generate the patch.

    Submitting patches once they have been created is done using the EclipseME Sourceforge bug and enhancement trackers. Create a new bug or a new feature request. Make sure to describe the problem being solved, your solution to the problem and then attach your patch file to the bug or feature request.

    Patches are the best way to help solve your own problem with EclipseME. Please understand that in certain cases, your patch may not be used. This is most likely in cases where a more general solution can be applied. Whether or not a patch is used, it always helps the maintainers to better understand the problem to be solved.

    Copyright © 2005, http://www.eclipseme.org. All rights reserved.