Jump to: navigation, search

Difference between revisions of "RAP/Build Process"

< RAP
(Release builds)
(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 built on the public build server at Eclipse.
+
Since version 1.5, RAP is build on the public build server at Eclipse.
  
 
=== Hudson Builds ===
 
=== Hudson Builds ===
  
We have two build jobs at the Eclipse.org Hudson:
+
The build directory is <code>/shared/rt/rap</code> on <code>build.eclipse.org</code>
 +
 
 +
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 base directory for our builds is <code>/shared/rt/rap</code> on <code>build.eclipse.org</code>.
+
The simultaneous build aggregator:
 +
* [https://hudson.eclipse.org/hudson/view/Repository%20Aggregation/job/indigo.runAggregator/ indigo aggregator]
  
 
=== Procedure for Milestone builds ===
 
=== Procedure for Milestone builds ===
Line 15: Line 18:
 
*** 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> (see <code>/shared/rt/rap/README</code>)
+
* Prepare new base platform in <code>/shared/rt/rap/base-platforms</code>
** Copy base platform, extract it into a new directory
+
ssh build.eclipsesource.com
** Copy <code>com.ibm.icu.base</code> and include the bundles into the base platform
+
sudo su - build
** Copy Equinox SDK from and include the following bundles into the base platform:
+
cd /home/build/rap/build-platforms
*** <code>org.eclipse.equinox.servletbridge</code>
+
** Download base platform, extract it and include com.ibm.icu.base from http://download.eclipse.org.
*** <code>org.eclipse.equinox.servletbridge.extensionbundle</code>
+
** Download latest Equinox SDK from http://download.eclipse.org/equinox/ and include the following bundles into the base platform:
*** <code>org.eclipse.equinox.http.servletbridge</code>
+
*** <code>org.eclipse.equinox.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 <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 BUILD_TYPE to Mx for milestone builds. Make sure the result's filenames include the build type.
** Set parameter <code>CVS_TAG</code> to the new tag (see above). DO NOT build milestones from HEAD
+
** Set parameter CVS_TAG 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])
+
* 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])
  
* Sign and upload files. This is currently done by the <code>publish.sh</code> script in <code>org.eclipse.rap.releng</code>
+
* Sign and publish 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 43: Line 45:
 
* 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)
  
=== Procedure for release builds ===
+
=== Release builds ===
  
 
additional steps to do when creating release builds
 
additional steps to do when creating release builds
  
* ensure version numbers in bundle manifests
+
* maintain version number in bundle manifests
* ensure legal files (see [http://eclipse.org/legal/guidetolegaldoc.php])
+
* maintain about.html files, check that they are included in source build
** 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 57: Line 58:
 
* 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]
 

Revision as of 11:02, 30 May 2011

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

Hudson Builds

The build directory is /shared/rt/rap on build.eclipse.org

We have two builds at the Eclipse.org Hudson:

The simultaneous build aggregator:

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
ssh build.eclipsesource.com
sudo su - build
cd /home/build/rap/build-platforms
    • Download base platform, extract it and include com.ibm.icu.base from http://download.eclipse.org.
    • Download latest Equinox SDK from http://download.eclipse.org/equinox/ and include the following bundles into the base platform:
      • org.eclipse.equinox.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 (?)
  • Configure the hudson projects to use the new base platform.
  • 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 CVS_TAG 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 bug 347659)
  • Sign and publish files. This is currently done by the <code>publish.sh script in org.eclipse.rap.releng
  • 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)

Release builds

additional steps to do when creating release builds

  • maintain version number in bundle manifests
  • maintain about.html files, check that they 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)