Difference between revisions of "Common Build Infrastructure/Build Types"

From Eclipsepedia

Jump to: navigation, search
m
m
Line 3: Line 3:
 
These are:
 
These are:
  
# Nightly (N) - run frequently as SVN or CVS changes; generally run from trunk or head.
+
# Nightly (N) - run '''continuously''' as SVN or CVS changes; generally run from trunk or head. '''Continuously''' really means "will check repository every X minutes and build if required." See also [[Common_Build_Infrastructure/Defining_Binary_Dependencies#Snapshot_Dependencies|Snapshot Dependencies]]
# Integration (I) - run weekly
+
# Integration (I) - run weekly on schedule
 
# Stable (S) - including Milestones and Release Candidates, these are run every 4-6 weeks at the start of a cycle, then weekly as needed at the end of a cycle.
 
# Stable (S) - including Milestones and Release Candidates, these are run every 4-6 weeks at the start of a cycle, then weekly as needed at the end of a cycle.
 
# Release (R) - once at the end of the cycle.
 
# Release (R) - once at the end of the cycle.

Revision as of 15:37, 18 September 2009

Generally, there are 4 types of builds run at Eclipse.

These are:

  1. Nightly (N) - run continuously as SVN or CVS changes; generally run from trunk or head. Continuously really means "will check repository every X minutes and build if required." See also Snapshot Dependencies
  2. Integration (I) - run weekly on schedule
  3. Stable (S) - including Milestones and Release Candidates, these are run every 4-6 weeks at the start of a cycle, then weekly as needed at the end of a cycle.
  4. Release (R) - once at the end of the cycle.

There is also a 5th type, the Maintenance (M) build, which is essentially a weekly Integration build, but done as maintenance on a branch rather than as integration from trunk or head.

To create these different types of builds, input the following variables into and Athena build / Hudson job:

Nightly

Set the build type to "N", which will disable signing to save time and server resources.

If you want to build from HEAD (or another branch/tag) instead of respecting the values in the map file, use the option below:

BUILDTYPE = N
EXTRAFLAGS = -forceContextQualifier -fetchTag HEAD

Integration or Maintenance

Set build type to "I" or "M", as appropriate.

If you want plugins to all be timestamped with the build's timestamp instead of the unique values from the tags in the map files, set -forceContextQualifier. Generally, this is NOT recommended unless your maps contain "HEAD" or "trunk"

BUILDTYPE = I
EXTRAFLAGS = -forceContextQualifier 

Stable or Release

Set build type to "S" or "R", as appropriate.

Since these builds are stable, they should be built from tags and thus -forceContextQualifier should not be needed.

BUILDTYPE = S
EXTRAFLAGS = -buildAlias 0.2.0M3
 or 
BUILDTYPE = R
EXTRAFLAGS = -buildAlias 0.2.0