Jump to: navigation, search

Difference between revisions of "RAP/Build Process"

< RAP
(Procedure for release builds)
Line 21: Line 21:
 
=== Procedure for Milestone builds ===
 
=== Procedure for Milestone builds ===
  
* Tag CVS
+
* Prepare new base platform in <code>/shared/rt/rap/base-platforms</code> (see <code>HOWTO</code> file)
** Tag everything that is contained in the <code>rt/org.eclipse.rap</code> module, pattern: <code>vYYYYMMDD_R12-Mx</code>
+
* Configure pom.xml files to include the new base platform
*** You may need to increase the CVS connection timeout in <em>Preferences -> Team -> CVS -> Connection</em> tab (120 s seem to work)
+
* Build runtime and tooling with <code>BUILD_TYPE</code> <code>S</code> for stable builds (these will be signed)
 
+
* Add tag to git repositories
* Prepare new base platform in <code>/shared/rt/rap/base-platforms</code> (see <code>/shared/rt/rap/README</code>)
+
** Use annotated tags, pattern: <code>1.5.0-Mx-YYYYMMDD</code>
** Copy base platform, extract it into a new directory
+
** Copy <code>com.ibm.icu.base</code> and include the bundles into the base platform
+
** Copy Equinox SDK from and include the following bundles into the base platform:
+
*** <code>org.eclipse.equinox.servletbridge</code>
+
*** <code>org.eclipse.equinox.servletbridge.extensionbundle</code>
+
*** <code>org.eclipse.equinox.http.servletbridge</code>
+
* Configure the hudson jobs to use the new base platform
+
 
+
* Build runtime and tooling
+
** Set parameter <code>BUILD_TYPE</code> to <code>Mx</code> for milestone builds, <code>RCx</code> for release candidates, or <code>R</code> for release builds
+
** Set parameter <code>CVS_TAG</code> to the new tag (see above). DO NOT build milestones from HEAD
+
 
+
* Copy a <code>notice.html</code> and <code>epl-v10.html</code> into the root directory (eclipse) of the produced zip files (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=347659 bug 347659])
+
 
+
* Sign and upload files. This is currently done by the <code>publish.sh</code> script in <code>org.eclipse.rap.releng</code>
+
 
+
===== Only for M1 =====
+
 
+
* Update rap/latest-stable/{runtime/tooling} repositories to redirect to new repo
+
  
 
==== Publishing ====
 
==== Publishing ====
  
 
* Finalize New & Noteworthy
 
* Finalize New & Noteworthy
* Update web site: new & noteworthy, downloads page, add links to previous version to archive page
+
* 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
 
* 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
 
* Notify the newsgroup
 
* Notify the newsgroup
 
* Announce via Blog
 
* Announce via Blog
 
* Re-deploy demo applications (in oder to demonstrate the new features from the milestone)
 
* Re-deploy demo applications (in oder to demonstrate the new features from the milestone)
 +
* Update rap/latest-stable/{runtime/tooling} repositories to redirect to new repo (for compatibility with 1.4 tooling)
 +
* Update rap/targets/ files
  
 
=== Procedure for release builds ===
 
=== Procedure for release builds ===
Line 66: Line 49:
 
* Check copyright year and version number of JavaDoc (search for "JavaDoc" in <code>org.eclipse.rap.releng/tooling/customTargets.xml</code>)
 
* Check copyright year and version number of JavaDoc (search for "JavaDoc" in <code>org.eclipse.rap.releng/tooling/customTargets.xml</code>)
 
* Move old builds to archive (<code>dev.eclipse.org:/home/data/httpd/archive.eclipse.org/rt/rap/downloads</code>), update archive page
 
* Move old builds to archive (<code>dev.eclipse.org:/home/data/httpd/archive.eclipse.org/rt/rap/downloads</code>), update archive page
* Update the P2-repository URLs of install target action (see class o.e.r.ui.internal.intro.target.InstallTargetDialog)
+
* Update the RAP-tooling entry in the [http://marketplace.eclipse.org/content/rich-ajax-platform-rap-tooling Eclipse Marketplace] and in the Yoxos Marketplace. They should point to the latest release. (Beyhan)
* Update the RAP-tooling entry in the [http://marketplace.eclipse.org/content/rich-ajax-platform-rap-tooling Eclipse Marketplace] and in the Yoxos Marketplace. They should point to the latest release. (Beyhan)
+
 
* Redirect rap/latest-release/{runtime/tooling} repositories
 
* Redirect rap/latest-release/{runtime/tooling} repositories
 
* notify newsgroup and mailing list
 
* 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)
 
* 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)
 +
 +
* Check <code>notice.html</code> and <code>epl-v10.html</code> files for updates
 +
* Make sure <code>notice.html</code> and <code>epl-v10.html</code> files are included in the download zip files (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=347659 bug 347659])
  
 
=== Simultaneous Release ===
 
=== Simultaneous Release ===

Revision as of 18:19, 16 May 2012

Since version 1.5, RAP is built on the public build server at Eclipse.

Hudson Builds

We have two build jobs at the Eclipse.org Hudson:

The base directory for our builds is /shared/rt/rap on build.eclipse.org.

Nightly Builds

We produce a p2 repositories from our nightly builds:

These p2 repositories are updated by a cron job:

/shared/rt/rap/scripts/1.5/updateNightlyBuilds.sh

This job is run by rsternber's crontab.

Procedure for Milestone builds

  • Prepare new base platform in /shared/rt/rap/base-platforms (see HOWTO file)
  • Configure pom.xml files to include the new base platform
  • Build runtime and tooling with BUILD_TYPE S for stable builds (these will be signed)
  • Add tag to git repositories
    • Use annotated tags, pattern: 1.5.0-Mx-YYYYMMDD

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
  • Notify the newsgroup
  • Announce via Blog
  • Re-deploy demo applications (in oder to demonstrate the new features from the milestone)
  • Update rap/latest-stable/{runtime/tooling} repositories to redirect to new repo (for compatibility with 1.4 tooling)
  • Update rap/targets/ files

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. (Beyhan)
  • 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)
  • Check notice.html and epl-v10.html files for updates
  • Make sure notice.html and epl-v10.html files are included in the download zip files (see bug 347659)

Simultaneous Release