Platform-releng/Indigo Build Changes
This document captures work to be performed on the Eclipse project build process during the Indigo development cycle (July 2010 to June 2011). There are three main areas of work. In addition, a fourth area of investigation (Git migration) may start during this development period depending on available resources.
- Consolidate 3.x and 4.x stream builds
- Migrate build to eclipse.org hardware
- Migrate to using Hudson
- Migration to Git.
Consolidating 3.x and 4.x stream builds
Currently the 4.x stream build repeats much of the same work as the 3.x stream build. Also, many of the bundles in 4.x are still produced by the e4 build process even though the components have graduated/moved into the Platform project. Instead, the 4.x build should consume nothing from e4, and only build the bundles that are actually new or changed in the 4.x stream.
The following steps are needed to get to this point:
- change e4 bundle ownership to new groups
- Move forked org.eclipse.ui.workbench bundle into a branch of the real project
- Refactor e4 features to keep dependencies clean - separate graduated parts of CSS and modeled UI into separate features that can be included by org.eclipse.rcp
- Change order of build to (3.7->4.1->e4 instead of (3.7->e4->4.1)
- Signing of 4.1 builds
- Short form of 4.1 build currently doesn't sign
- Find a custom target somewhere in the 4.x build to perform signing of the right contents. After compile (post build)
- e4 bundle/package rename...
- Move renamed graduated bundles into new home
- Running all Eclipse SDK tests
- fork tests that are affected by 4.x changes
- Fork platform doc (ISV and user)
Moving to Hudson
- permission problem, hudson build cannot promote
- need separate cron job to promote build afterwards
Moving to eclipse.org hardware
- Setting up windows tests - need to figure out how to spawn windows tests (virtualize or not?)
- Mac OS missing - maybe EclipseSource donation?
- performance tests
Move to GIT
- git fetch factory for pde build - is egit graduating? - Can we just move some bundles to GIT or does the entire project have to move?