Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "PTP/release engineering"

< PTP
(Packaging the update site)
Line 6: Line 6:
  
 
Check out the <code>releng/org.eclipse.ptp.releng</code> plugin. This plugin contains the main build scripts for PTP.
 
Check out the <code>releng/org.eclipse.ptp.releng</code> plugin. This plugin contains the main build scripts for PTP.
 +
 +
If you are building locally, you will need to download copies of the following files:
 +
 +
* The Eclipse 3.4 SDK for your architecture (http://download.eclipse.org/eclipse/downloads)
 +
* The latest build of CDT 5.0.x (http://download.eclipse.org/tools/cdt/builds)
 +
* Mylyn 3.1 (http://www.eclipse.org/mylyn/downloads)
 +
* RSE 3.0 (http://download.eclipse.org/dsdp/tm/downloads)
 +
* TAU Jars (http://nic.uoregon.edu/~wspear/tau_jars.zip)
 +
 +
Edit <code>build.xml</code> and change the values of the <code>eclipseDist</code>, <code>cdtDist</code>, <code>mylynDist</code>, <code>rseDist</code>, and <code>tauJars</code> properties to the location of each downloaded file, respectively.
  
 
== Running a headless build ==
 
== Running a headless build ==
Line 27: Line 37:
 
If the build was not successful, then there will be no corresponding subdirectory. Instead, the build.log and partial build will be located in the STAGING_DIR.
 
If the build was not successful, then there will be no corresponding subdirectory. Instead, the build.log and partial build will be located in the STAGING_DIR.
  
== Signing the plugins ==
+
== Modifying the build ==
 
+
Copy the zip file to build.eclipse.org using the command:
+
scp ptp-updatesite-''version''.zip ''user''@build.eclipse.org:/opt/public/download-staging.priv/tools/ptp
+
where <code>''user''</code> is your committer user ID.
+
 
+
Next, run the command:
+
ssh user@build.eclipse.org sign /opt/public/download-staging.priv/tools/ptp/ptp-updatesite-''version''.zip mail
+
This will begin the signing process and you will be sent an email when it is completed.
+
 
+
== Installing the update site ==
+
 
+
Move the signed zip file to the release directory with the command:
+
ssh ''user''@build.eclipse.org mv /opt/public/download-staging.priv/tools/ptp/ptp-updatesite-''version''.zip downloads/tools/ptp/releases/2.0
+
 
+
Remove the old update site plugins and features:
+
 
+
ssh ''user''@build.eclipse.org "(cd downloads/tools/ptp/releases/2.0; rm plugins/* features/*)"
+
 
+
Unzip the update site using the following command.  Answer "A" (All) if you are asked to overwrite any files.
+
ssh ''user''@build.eclipse.org "(cd downloads/tools/ptp/releases/2.0; unzip ptp-updatesite-''version''.zip)"
+
 
+
== Create individual components ==
+
 
+
Copy the signed update site back to the <code>org.eclipse.ptp-update</code> directory on your local machine. It should be ok to overwrite the unsigned version.
+
 
+
scp ''user''@build.eclipse.org:downloads/tools/ptp/releases/2.0/ptp-updatesite-''version''.zip .
+
 
+
Run the <code>make_archives</code> script on the zip file. This will create a number of zip and tar.gz files in the local directory:
+
 
+
sh make_archives ptp-updatesite-''version''.zip
+
 
+
Remove the old component files from the downloads site:
+
 
+
ssh ''user''@build.eclipse.org "rm -f downloads/tools/ptp/release/2.0/org.eclipse.ptp* downloads/tools/ptp/releases/2.0/ptp_proxy*"
+
 
+
Copy the new zip and tar.gz files up to the download site:
+
  
scp org.eclipse.ptp* ptp_proxy* ''user''@build.eclipse.org:downloads/tools/ptp/releases/2.0
+
=== Changing the build version ===
  
== Update the downloads page ==
+
In order to build a different version of PTP, change the <code>branchVersion</code> attribute in <code>build.xml</code>. You will also need to supply the new version to the <code>ptpbuild</code> script so that the build output goes to the correct place.
  
Update the downloads.php page with the new release information.
+
===

Revision as of 15:30, 18 March 2009

Overview

Building a PTP release or interim build uses an automated headless build on build.eclipse.org. This document describes how this build is configured, and will enable you to build PTP locally.

Preparation

Check out the releng/org.eclipse.ptp.releng plugin. This plugin contains the main build scripts for PTP.

If you are building locally, you will need to download copies of the following files:

Edit build.xml and change the values of the eclipseDist, cdtDist, mylynDist, rseDist, and tauJars properties to the location of each downloaded file, respectively.

Running a headless build

The ptpbuild script in the org.eclipse.ptp.releng plugin manages the process of building PTP. It requires one argument that is the version of PTP that is being built. This version is only used to specify the location of the resulting build output files.

The following locations are used by default:

/opt/public/download-staging.priv/tools/ptp/releng 
Main directory where the build will take place. This can be overidden by changing the value of the STAGING_DIR variable in the script.
/home/www/tools/ptp/builds/ptp_version 
Default location for output build files, where ptp_version is the version specified on the command line. This can be overidden by changing the value of the BUILDS_DIR variable in the script.

Build results

On completion, a successful build will be located in a subdirectory of the BUILDS_DIR directory called I.IYYYMMDDHHMM, where YYYYMMDDHHMM is the date and time stamp for the build. This directory will contain a signed zipped copy of the master update site along with various other files. Files produced by the build include:

  • ptp-master-M.N.O-IYYYYMMDDHHMM.zip
  • RDT servers for the various operating systems
  • build.log

If the build was not successful, then there will be no corresponding subdirectory. Instead, the build.log and partial build will be located in the STAGING_DIR.

Modifying the build

Changing the build version

In order to build a different version of PTP, change the branchVersion attribute in build.xml. You will also need to supply the new version to the ptpbuild script so that the build output goes to the correct place.

=

Back to the top