Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
RAP/Build Process
Since version 1.5, RAP is built on the public build server at Eclipse.
Contents
Hudson Builds
Build jobs at the Eclipse.org Hudson:
RAP 1.5 | RAP 2.0 | RAP 2.x (head) |
---|---|---|
rap-1.5-runtime | rap-2.0-runtime | rap-head-runtime |
rap-1.5-tools | rap-2.0-tools | rap-head-tools |
rap-1.5-incubator | rap-head-incubator-COMPONENT_NAME |
The base directory for our builds is /shared/rt/rap
on build.eclipse.org
.
Nightly Builds
We produce p2 repositories from our nightly builds:
- http://download.eclipse.org/rt/rap/nightly/runtime/
- http://download.eclipse.org/rt/rap/nightly/tooling/
These p2 repositories are updated by a cron job:
/shared/rt/rap/scripts/publish-nightly-build.sh
This job is run by rsternber's crontab.
Procedure for Milestone builds
- Prepare new base platform in
/shared/rt/rap/base-platforms
(seeHOWTO
file) - Configure pom.xml files to include the new base platform
-
features/org.eclipse.rap.equinox.target.feature/.project
(RAP Runtime) - bug in qualifier generation -
features/org.eclipse.rap.equinox.target.feature/pom.xml
(RAP Runtime) -
releng/org.eclipse.rap.build/pom.xml
(RAP Runtime) -
releng/org.eclipse.rap.target.build/pom.xml
(RAP Runtime) -
releng/org.eclipse.rap.target.build/repository.kepler/pom.xml
(RAP Runtime) -
releng/org.eclipse.rap.tools.build/pom.xml
(RAP Tools)
-
- Build RAP Runtime and RAP Tools with
BUILD_TYPE
=S
for stable builds (these will be signed) - Move repositories to download area (see
/shared/rt/rap/publish/
) - Contribute repositories to simrel aggregator
- Add tag to git repositories
-
TAG=2.1.0-RCx
-
git tag -a -m "$TAG" -s $TAG
(note: -s creates a signed tag) -
git push --tags origin
-
Publishing
- Finalize New & Noteworthy
- Update web site: builds.xml and arrivals sidebar
- Scan Bugzilla for open bugs that are targeted at the milestone or bugs that are still open but solved, verify target version of closed bugs
- Update composite repositories for runtime and tools
- Update rap/targets/ files
- [1.5 only] Update rap/latest-stable/{runtime/tooling} repositories to redirect to new repo (for compatibility with 1.4 tooling)
- Notify the newsgroup
- Announce via Blog
- Re-deploy demo applications (in oder to demonstrate the new features from the milestone)
- Publish RWT bundles in the Maven Central repository.
Procedure for release builds
additional steps to do when creating release builds
- ensure version numbers in bundle manifests
- ensure legal files (see [1])
- check that about.html are included in source build
- update infocenter content and links to infocenter from project home page
- update help plugin
- Check copyright year and version number of JavaDoc (search for "JavaDoc" in
org.eclipse.rap.releng/tooling/customTargets.xml
) - Move old builds to archive (
dev.eclipse.org:/home/data/httpd/archive.eclipse.org/rt/rap/downloads
), update archive page - Update the RAP-tooling entry in the Eclipse Marketplace and in the Yoxos Marketplace. They should point to the latest release.
- Redirect rap/latest-release/{runtime/tooling} repositories
- notify newsgroup and mailing list
- use the portal to review project metadata that is displayed in the "About this Project" page (i.e. update release train name in description text)
- Add p2.stats to artifact.xml
- Add p2 mirror URLs to artifact.xml
- Check
notice.html
andepl-v10.html
files for updates - Make sure
notice.html
andepl-v10.html
files are included in the download zip files (see bug 347659)
- Publish RWT bundles in the Maven Central repository.
Eclipse Marketplace
Make sure the RAP Tools are uploaded to the Eclipse market place.
Simultaneous Release
RAP Incubator Builds
In order to help early adopters consuming the work from the RAP Incubator project, we are running a set of automated builds from Git HEAD for all RAP Incubator Projects. Every component has its own build that must follow some common naming conventions.
- Every RAP Incubator Component has a
COMPONENT_NAME
, that is used to find the necessary build scripts, features, etc. - Every component has its own Git repository
org.eclipse.rap.incubator.COMPONENT_NAME.git
at git.eclipse.org/c/rap/incubator/. - The build is based on Tycho and uses the RAP Incubator parent releng/org.eclipse.rap.incubator.releng/pom.xml.
- The main build project
releng/org.eclipse.rap.COMPONENT_NAME.build
of the component contains thepom.xml
that is used to build the entire component. In addition to that, it has- a
repository/
sub-directory with an additional pom that creates the final p2 repository of the component.
- a
- There is a main feature
features/org.eclipse.rap.COMPONENT_NAME.feature
that assembles everything that is used by a potential consumer.
Every build creates an independent p2 repository. All repositories are available on the build server at
/shared/rt/rap/incubator/nightly/COMPONENT_NAME
At the moment, we are running builds for the following components
- clientscripting
- cnf
- fileupload
- gef
- nebula-grid
- osgi-packaging
- pde
- tabbed-properties
- visualization
and make them available from build.eclipse.org/rt/rap/incubator/nightly and from download.eclipse.org/rt/rap/incubator/nightly.