Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Teneo/Teneo Build Setup"

(Structure of build projects/features)
(Structure of build projects/features)
Line 52: Line 52:
 
** '''org.eclipse.emf.teneo.eclipselink-feature''': the EclipseLink runtime feature, this is a standard PDE feature project (the plugins are defined in the feature.xml).
 
** '''org.eclipse.emf.teneo.eclipselink-feature''': the EclipseLink runtime feature, this is a standard PDE feature project (the plugins are defined in the feature.xml).
 
** '''org.eclipse.emf.teneo.eclipselink.sdk-feature''': the SDK feature includes the runtime feature and source feature (see below for more information on building SDK features).
 
** '''org.eclipse.emf.teneo.eclipselink.sdk-feature''': the SDK feature includes the runtime feature and source feature (see below for more information on building SDK features).
* '''org.eclipse.emf.teneo.tests-feature''': defines the content of the test
+
* '''org.eclipse.emf.teneo.tests-feature''': contains the test plugins and their dependencies. The main test plugins contain test launch configurations (see below running test cases).
  
 
== Buckminster Setup ==
 
== Buckminster Setup ==

Revision as of 12:05, 7 February 2010

This page describes the Teneo build setup. Teneo uses Buckminster and Hudson for its continuous build infrastructure.

The requirements of the Teneo build setup are:

  • the build a

Note: I (Martin Taal) am not a PDE expert nor a Buckminster expert. So it is quite possible that there are better ways of setting up builds using Buckminster and Hudson. Don't hesitate to comment on the approach below, or suggest improvements or provide alternative setups. You can comment in the page or drop me a direct email(mtaal at elver.org).

Try it

The Teneo build setup has made it quite easy to do a Teneo build. To download Teneo and do a build (building, testing, generating p2 site) you need to do the following steps:

cvs -d dev.eclipse.org:/cvsroot/modeling co -d org.eclipse.emf.teneo.releng.buckminster \
org.eclipse.emf/org.eclipse.emf.teneo/releng/org.eclipse.emf.teneo.releng.buckminster
cd org.eclipse.emf.teneo.releng.buckminster
ant -f build_teneo.xml

Note the above assumes that ant is installed and that JAVA_HOME is set to Java 5.0 or higher.

After about 20 minutes you will see a builds folder with a subfolder containing the build results:

  • build: contains the targetplatform for building the main plugins and the build workspace itself
  • test: contains the targetplatform for testing, the workspace contains the workspace used for the test projects.
  • result: contains the generation result (p2 site) and the test results.

The build workspace (build/workspace) and test workspace (test/workspace) can be opened in Eclipse as workspaces.

Main builds steps (build, generate, test)

The main build steps for Teneo are:

  1. build the main deliverables:
    1. download the development projects from CVS and use them to create a workspace with a target platform
    2. download/retrieve the dependencies and set them in the targetplatform
    3. build the software (compile etc.)
    4. build the update site
    5. create downloadable zips
  2. build the test projects:
    1. download the development test projects from CVS and use them to create a workspace with a target platform
    2. download/retrieve the dependencies and set them in the targetplatform. This includes the artifacts generated in the previous step.
    3. build/compile the test plugins
  3. run the test cases

The build itself is done by an ant script which calls buckminster to perform the above steps. The ant script also take care of copying the output (p2 site and features/plugins) and creating zip files etc.

Structure of build projects/features

To setup the build a number of (feature) projects have been setup:

  • org.eclipse.emf.teneo.releng.buckminster: contains the ant files, and the buckminster files for the build and test step. The content of this project and the buckminster setup is described in more detail below.
  • org.eclipse.emf.teneo.site-feature: defines the update site and the main features it contains (Teneo Hibernate runtime and SDK and Teneo EclipseLink runtime and SDK). This project contains a buckminster.spex file to define extra dependencies (this is described in more detail below). The included features:
    • org.eclipse.emf.teneo.hibernate-feature: the runtime feature, this is a standard PDE feature project (the plugins are defined in the feature.xml).
    • org.eclipse.emf.teneo.hibernate.sdk-feature: the SDK feature includes the runtime feature and source feature (see below for more information on building SDK features).
    • org.eclipse.emf.teneo.eclipselink-feature: the EclipseLink runtime feature, this is a standard PDE feature project (the plugins are defined in the feature.xml).
    • org.eclipse.emf.teneo.eclipselink.sdk-feature: the SDK feature includes the runtime feature and source feature (see below for more information on building SDK features).
  • org.eclipse.emf.teneo.tests-feature: contains the test plugins and their dependencies. The main test plugins contain test launch configurations (see below running test cases).

Buckminster Setup

Main build project: org.eclipse.emf.teneo.releng.buckminster

buckminster.spex in PDE Feature projects

Back to the top