Jump to: navigation, search

Difference between revisions of "RAP/Build Process"

< RAP
(New page: Since version 1.5, RAP is build on the public build server at Eclipse. === Hudson Builds === The build directory is <code>/shared/rt/rap</code> on <code>build.eclipse.org</code> We have...)
 
Line 1: Line 1:
Since version 1.5, RAP is build on the public build server at Eclipse.
+
Since version 1.5, RAP is built on the public build server at Eclipse.
  
 
=== Hudson Builds ===
 
=== Hudson Builds ===
  
The build directory is <code>/shared/rt/rap</code> on <code>build.eclipse.org</code>
+
We have two build jobs at the Eclipse.org Hudson:
 
+
We have two builds at the Eclipse.org Hudson:
+
 
* [https://hudson.eclipse.org/hudson/job/rap-runtime/ rap-runtime]
 
* [https://hudson.eclipse.org/hudson/job/rap-runtime/ rap-runtime]
 
* [https://hudson.eclipse.org/hudson/job/rap-tooling/ rap-tooling]
 
* [https://hudson.eclipse.org/hudson/job/rap-tooling/ rap-tooling]
  
The simultaneous build aggregator:
+
The base directory for our builds is <code>/shared/rt/rap</code> on <code>build.eclipse.org</code>.
* [https://hudson.eclipse.org/hudson/view/Repository%20Aggregation/job/indigo.runAggregator/ indigo aggregator]
+
  
 
=== Procedure for Milestone builds ===
 
=== Procedure for Milestone builds ===
Line 18: Line 15:
 
*** You may need to increase the CVS connection timeout in <em>Preferences -> Team -> CVS -> Connection</em> tab (120 s seem to work)
 
*** You may need to increase the CVS connection timeout in <em>Preferences -> Team -> CVS -> Connection</em> tab (120 s seem to work)
  
* Prepare new base platform in <code>/shared/rt/rap/base-platforms</code>
+
* Prepare new base platform in <code>/shared/rt/rap/base-platforms</code> (see <code>/shared/rt/rap/README</code>)
ssh build.eclipsesource.com
+
** Copy base platform, extract it into a new directory
sudo su - build
+
** Copy <code>com.ibm.icu.base</code> and include the bundles into the base platform
cd /home/build/rap/build-platforms
+
** Copy Equinox SDK from and include the following bundles into the base platform:
** Download base platform, extract it and include com.ibm.icu.base from http://download.eclipse.org.
+
*** <code>org.eclipse.equinox.servletbridge</code>
** Download latest Equinox SDK from http://download.eclipse.org/equinox/ and include the following bundles into the base platform:
+
*** <code>org.eclipse.equinox.servletbridge.extensionbundle</code>
*** <code>org.eclipse.equinox.servletbridge<code>
+
*** <code>org.eclipse.equinox.http.servletbridge</code>
*** <code>org.eclipse.equinox.servletbridge.extensionbundle<code>
+
*** <code>org.eclipse.equinox.http.servletbridge<code>
+
 
** We used to delete all junit4 bundles from the plugins folder, probably not needed anymore (?)
 
** We used to delete all junit4 bundles from the plugins folder, probably not needed anymore (?)
* Configure the hudson projects to use the new base platform.
+
 
 +
* Configure the hudson jobs to use the new base platform
  
 
* Build runtime and tooling
 
* Build runtime and tooling
** Set parameter BUILD_TYPE to Mx for milestone builds. Make sure the result's filenames include the build type.
+
** 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 CVS_TAG to the new tag (see above). DO NOT build milestones from HEAD.
+
** Set parameter <code>CVS_TAG</code> to the new tag (see above). DO NOT build milestones from HEAD
  
* Copy notice.html and epl-v10.html into the root directory (eclipse) of the produced zip files (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=347659 bug 347659])
+
* 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 publish files. This is currently done by the <code>publish.sh</code> script in <code>org.eclipse.rap.releng</code>
+
* Sign and upload files. This is currently done by the <code>publish.sh</code> script in <code>org.eclipse.rap.releng</code>
 +
 
 +
==== Publishing ====
  
 
* Finalize New & Noteworthy
 
* Finalize New & Noteworthy
Line 45: Line 43:
 
* 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)
  
=== Release builds ===
+
=== Procedure for release builds ===
  
 
additional steps to do when creating release builds
 
additional steps to do when creating release builds
  
* maintain version number in bundle manifests
+
* ensure version numbers in bundle manifests
* maintain about.html files, check that they are included in source build
+
* ensure legal files (see [http://eclipse.org/legal/guidetolegaldoc.php])
 +
** check that about.html are included in source build
 
* update infocenter content and links to infocenter from project home page
 
* update infocenter content and links to infocenter from project home page
 
* notify newsgroup and mailing list
 
* notify newsgroup and mailing list
Line 58: Line 57:
 
* Update the P2-repository URLs of install target action (see class o.e.r.ui.internal.intro.target.InstallTargetDialog)
 
* 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 Eclipse Marketplace and in the Yoxos Marketplace.  They should point to the latest release. (Beyhan)
 
* Update the RAP-tooling entry in the Eclipse Marketplace and in the Yoxos Marketplace.  They should point to the latest release. (Beyhan)
 +
 +
=== Simultaneous Release ===
 +
 +
* [https://hudson.eclipse.org/hudson/view/Repository%20Aggregation/job/indigo.runAggregator/ indigo aggregator]
 +
* [[SimRel/Simultaneous_Release_FAQ|Simultaneous_Release_FAQ]]

Revision as of 12:03, 31 May 2011

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.

Procedure for Milestone builds

  • Tag CVS
    • Tag everything that is contained in the rt/org.eclipse.rap module, pattern: vYYYYMMDD_R12-Mx
      • You may need to increase the CVS connection timeout in Preferences -> Team -> CVS -> Connection tab (120 s seem to work)
  • Prepare new base platform in /shared/rt/rap/base-platforms (see /shared/rt/rap/README)
    • Copy base platform, extract it into a new directory
    • Copy com.ibm.icu.base and include the bundles into the base platform
    • Copy Equinox SDK from and include the following bundles into the base platform:
      • org.eclipse.equinox.servletbridge
      • org.eclipse.equinox.servletbridge.extensionbundle
      • org.eclipse.equinox.http.servletbridge
    • We used to delete all junit4 bundles from the plugins folder, probably not needed anymore (?)
  • Configure the hudson jobs to use the new base platform
  • Build runtime and tooling
    • Set parameter BUILD_TYPE to Mx for milestone builds, RCx for release candidates, or R for release builds
    • Set parameter CVS_TAG to the new tag (see above). DO NOT build milestones from HEAD
  • Copy a notice.html and epl-v10.html into the root directory (eclipse) of the produced zip files (see bug 347659)
  • Sign and upload files. This is currently done by the publish.sh script in org.eclipse.rap.releng

Publishing

  • Finalize New & Noteworthy
  • Update web site: new & noteworthy, downloads page, add links to previous version to archive page
  • 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)

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
  • notify newsgroup and mailing list
  • 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 P2-repository URLs of install target action (see class o.e.r.ui.internal.intro.target.InstallTargetDialog)
  • Update the RAP-tooling entry in the Eclipse Marketplace and in the Yoxos Marketplace. They should point to the latest release. (Beyhan)

Simultaneous Release