Skip to main content
Jump to: navigation, search

Difference between revisions of "STEM Releng"

(Adding a new plug-in to an existing feature)
(Adding a new plug-in to an existing feature)
Line 32: Line 32:
 
*# Right click on the project, highlight ''' Team ''' and select ''' Share Project'''
 
*# Right click on the project, highlight ''' Team ''' and select ''' Share Project'''
 
*# Follow the steps to add it to the repository.
 
*# Follow the steps to add it to the repository.
*#: '' ''' Note: ''' The STEM Source Repository has a specific layout.  Please make sure to place your new plug-in an appropriate location.  Often the plug-ins are grouped in folders with plug-ins of similar functionality (such as '' disease models '').  Remember this location, as it's needed for the build.map step below.  ''
+
*#: '' ''' Note: ''' The STEM Source Repository has a specific layout.  Please make sure to place your new plug-in in an appropriate location.  Plug-ins are grouped in folders with other plug-ins of similar functionality (such as '' disease models '').  Remember this location, as it's needed for the build.map step below.  ''
  
 
* Add the plug-in to the build map
 
* Add the plug-in to the build map

Revision as of 13:32, 29 July 2011

STEM Release Engineering

This page details how to operate the STEM builder to create binary, platform-specific builds of STEM. This information is for advanced users and committers only.

Background

The STEM build process is built on several foundational pieces of the Eclipse Platform. These pieces include:

  • Eclipse Products
  • Eclipse Features
  • PDE Build Process
  • P2 Provisioning

These fundamental aspects of the Eclipse Platform are orchestrated to build platform-specific binaries of STEM.

Adding New Code to the Builder

This section describes how to add new plug-ins, features, and third-party dependencies to the STEM Build process.

Adding a new plug-in to an existing feature

STEM is built from Eclipse plug-ins. This section describes how to add one or more new plug-ins to the STEM build process to an existing feature. If you want to create a new feature, see the next section.

  • Determine which Feature(s) the plug-in(s) should be added to
    See note above about feature cross-dependencies to help determine which features you should add the plug-in to
    1. In Eclipse, expand the feature project the plug-in(s) should be added to and double-click feature.xml
    2. In the Feature Editor, select the Plug-ins tab
    3. On the Plug-ins and Fragments page, click the Add... button
    4. In the Plug-in Selection dialog, type the name of the plug-in you wish to add. When it shows up in the list, select it and click OK
      Repeat this step for all plug-ins you wish to add to this feature
    5. Save feature.xml (File-Save or Control-S)
    6. Commit feature.xml (Right-click Team-Commit)
  • Add the plug-in to SVN
    1. In Eclipse, select the plug-in project you wish to add.
    2. Right click on the project, highlight Team and select Share Project
    3. Follow the steps to add it to the repository.
      Note: The STEM Source Repository has a specific layout. Please make sure to place your new plug-in in an appropriate location. Plug-ins are grouped in folders with other plug-ins of similar functionality (such as disease models ). Remember this location, as it's needed for the build.map step below.
  • Add the plug-in to the build map
    1. In Eclipse, expand the org.eclipse.stem.releng project
    2. Expand the maps folder and open stem.map in the text editor
    3. Add the plug-in to the build map. The syntax is as follows:
      plugin@[PLUGIN_NAME]=COPY,${checkoutDir}/[REPOSITORY_PATH],[PLUGIN_NAME]
      Where:
      [PLUGIN_NAME] should be replaced with the plug-in name (Example: org.eclipse.stem.core)
      [REPOSITORY_PATH] should be replaced with the path in SVN where the plug-in was added, relative to trunk (Example: plug-ins added to /trunk/core would use core for the [REPOSITORY_PATH])
      Important Note: Plug-ins are grouped in the build map for project set generation. To ensure that a plug-in gets checked out, make sure it's grouped appropriately with similar plug-ins
    4. Save and commit build.map

Adding a new feature

Adding a new third-party dependency

Running the STEM Builder

Setting up your environment

Checking out the source from SVN

Running the STEM Builder

Running the JUnit Tests

Continuous Integration (CI) Automated Builds

Back to the top