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 "Data Tools Platform:Release Engineering"

(components)
(org.eclipse.datatools.releng.builder)
Line 61: Line 61:
  
 
====components====
 
====components====
The components folder contains a folder for each component that will be built.  These folders may be used directly with [http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tasks/pde_feature_build.htm PDE builder] as the '''buildLocation''' for the build.
+
The components folder contains a folder for each component that will be built.  These folders may be used directly with [http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tasks/pde_feature_build.htm PDE builder] as the ''buildLocation'' for the build.
  
 
A component is synonymous with a feature.  The feature specified by the component is used to drive the build.  See the [http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tasks/pde_feature_build.htm PDE builder] documentation for more information.
 
A component is synonymous with a feature.  The feature specified by the component is used to drive the build.  See the [http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tasks/pde_feature_build.htm PDE builder] documentation for more information.
Line 67: Line 67:
 
This system deviates from the general [http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tasks/pde_feature_build.htm PDE build] integration by the following:
 
This system deviates from the general [http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tasks/pde_feature_build.htm PDE build] integration by the following:
 
*'''allElements.xml''' is incorporated directly within '''customTargets.xml'''
 
*'''allElements.xml''' is incorporated directly within '''customTargets.xml'''
*:The '''allElements''' and '''assemble.element.id[.config.spec]''' targets are defined directly within '''customTargets.xml'''.
+
*:The ''allElements'' and ''assemble.element.id[.config.spec]'' targets are defined directly within ''customTargets.xml''.
*most of the targets for '''customTargets.xml''' are imported from '''scripts/build/defaultCustomTargets.xml'''
+
*most of the targets for ''customTargets.xml'' are imported from ''scripts/build/defaultCustomTargets.xml''
*:'''scripts/build/defaultCustomTargets.xml''' contains targets that are common to all component builds (e.g. fetching dependencies).  (Note, individual components may override any targets imported from '''defaultCustomTargets.xml'''.)
+
*:''scripts/build/defaultCustomTargets.xml'' contains targets that are common to all component builds (e.g. fetching dependencies).  (Note, individual components may override any targets imported from ''defaultCustomTargets.xml''.)
 
*'''dependency.xml'''
 
*'''dependency.xml'''
*:This file is used to specify the dependencies required by the component.  The '''dependencies.properties''' file in [[#org.eclipse.datatools.releng | org.eclipse.datatools.releng]] must contain an entry for each of the group IDs specified in this file.
+
*:This file is used to specify the dependencies required by the component.  The ''dependencies.properties'' file in [[#org.eclipse.datatools.releng | org.eclipse.datatools.releng]] must contain an entry for each of the group IDs specified in this file.
 +
 
 +
====cruise====
 +
 
 +
====distribution====
 +
 
 +
====scripts====

Revision as of 17:04, 12 February 2007

Back to DTP Main Page

This information is preliminary. While this system is available within CVS, it is not currently used to generate the DTP builds.

This page details the build system utilised by DTP.

Overview

This system was derived from the system used by WTP and STP (and probably others). The system performs the following tasks:

  • Component builds
    builds plugins and features
    generates install ZIP
    generates update site JARs
  • Component testing
    executes unit tests
    generates results files
  • Update site generation
    generates html for download site
    incorporates build settings
    incorporates build results (e.g. warnings/errors)
    incorporates test results
  • Download site generation
    [TBD]
  • Uploading build information
    publishes generated files to DTP web site

Design

The build system is designed to organized as follows:

distribution
a group of one or more components
component
synonymous with feature; the input to the builder/assembler/packager

The system is comprised of custom Ant scripts which are used to initialize build properties, download dependencies, invoke the PDE builder for individual components, generate site files.

The head-less PDE builder is used to generate plugin JARs and ZIPs. The PDE builder executes a build using information in the feature and plugin manifests. This helps ensure the plugin build environment is similar to its execution environment.

The system is composed of two projects within CVS:

  • org.eclipse.datatools.releng
  • org.eclipse.datatools.releng.builder

org.eclipse.datatools.releng

This project contains the following files:

*.map files
used by the PDE builder to locate and fetch source for the build. These files are used to specify the following information:
  • plugin/fragment/bundle/feature ID
  • plugin/fragment/bundle/feature location in CVS (project and path)
  • tag to fetch
dependencies.properties
specifies names and download locations for dependencies (e.g. Eclipse platform, EMF, GEF)
build.cfg
specifies which tag of the org.eclipse.datatools.releng.builder should be used to execute the build

org.eclipse.datatools.releng.builder

This project contains the scripts used to execute the build. It is divided into the following sections (by folder):

  • components
  • cruise
  • distribution
  • scripts

At the root is the build.xml file that drives the build for a particular distribution (i.e. the distribution must be specified when this file is invoked; e.g. dtp).

components

The components folder contains a folder for each component that will be built. These folders may be used directly with PDE builder as the buildLocation for the build.

A component is synonymous with a feature. The feature specified by the component is used to drive the build. See the PDE builder documentation for more information.

This system deviates from the general PDE build integration by the following:

  • allElements.xml is incorporated directly within customTargets.xml
    The allElements and assemble.element.id[.config.spec] targets are defined directly within customTargets.xml.
  • most of the targets for customTargets.xml are imported from scripts/build/defaultCustomTargets.xml
    scripts/build/defaultCustomTargets.xml contains targets that are common to all component builds (e.g. fetching dependencies). (Note, individual components may override any targets imported from defaultCustomTargets.xml.)
  • dependency.xml
    This file is used to specify the dependencies required by the component. The dependencies.properties file in org.eclipse.datatools.releng must contain an entry for each of the group IDs specified in this file.

cruise

distribution

scripts

Back to the top