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.
Difference between revisions of "PTP/release engineering"
(→Adding a new feature) |
(→Versions) |
||
Line 29: | Line 29: | ||
|- | |- | ||
| <code>org.eclipse.ptp.aix.ppc</code> | | <code>org.eclipse.ptp.aix.ppc</code> | ||
− | | <code> | + | | <code>MANIFEST.MF</code> |
− | | Update | + | | Update plugin version number to M.N.S-qualifier |
|- | |- | ||
| <code>org.eclipse.ptp.linux.ppc</code> | | <code>org.eclipse.ptp.linux.ppc</code> | ||
− | | <code> | + | | <code>MANIFEST.MF</code> |
− | | Update | + | | Update plugin version number to M.N.S-qualifier |
|- | |- | ||
| <code>org.eclipse.ptp.linux.x84</code> | | <code>org.eclipse.ptp.linux.x84</code> | ||
− | | <code> | + | | <code>MANIFEST.MF</code> |
− | | Update | + | | Update plugin version number to M.N.S-qualifier |
|- | |- | ||
| <code>org.eclipse.ptp.linux.x86_64</code> | | <code>org.eclipse.ptp.linux.x86_64</code> | ||
− | | <code> | + | | <code>MANIFEST.MF</code> |
− | | Update | + | | Update plugin version number to M.N.S-qualifier |
|- | |- | ||
| <code>org.eclipse.ptp.macosx.ppc</code> | | <code>org.eclipse.ptp.macosx.ppc</code> | ||
− | | <code> | + | | <code>MANIFEST.MF</code> |
− | | Update | + | | Update plugin version number to M.N.S-qualifier |
|- | |- | ||
| <code>org.eclipse.ptp.macosx.x86</code> | | <code>org.eclipse.ptp.macosx.x86</code> | ||
− | | <code> | + | | <code>MANIFEST.MF</code> |
− | | Update | + | | Update plugin version number to M.N.S-qualifier |
|- | |- | ||
| rowspan="2" | <code>org.eclipse.ptp.debug.sdm</code> | | rowspan="2" | <code>org.eclipse.ptp.debug.sdm</code> |
Revision as of 15:12, 29 July 2009
Contents
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 the different scripts involved in the build process.
Preparation
Versions
Prior to a new release, the version numbers of various features/plugins must be updated to reflect the version of the build. In general, the version numbers of plugins should only be changed if the plugin has been modified.
The following table lists the version numbers that MUST be updated.
Feature/Plugin/Fragment | File | Comments |
---|---|---|
org.eclipse.ptp.*-feature
|
feature.xml
|
Update feature version number to M.N.S-qualifier |
org.eclipse.ptp.master
|
feature.xml
|
Update feature version number to M.N.S-qualifier |
org.eclipse.ptp
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
org.eclipse.ptp.aix.ppc
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
org.eclipse.ptp.linux.ppc
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
org.eclipse.ptp.linux.x84
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
org.eclipse.ptp.linux.x86_64
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
org.eclipse.ptp.macosx.ppc
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
org.eclipse.ptp.macosx.x86
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
org.eclipse.ptp.debug.sdm
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
configure.in
|
Update AC_INIT version, then run autoconf
| |
org.eclipse.ptp.proxy
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
configure.in
|
Update AC_INIT version, then run autoconf
| |
org.eclipse.ptp.utils
|
MANIFEST.MF
|
Update plugin version number to M.N.S-qualifier |
configure.in
|
Update AC_INIT version, then run autoconf
| |
org.eclipse.ptp.releng
|
build.xml
|
Update branchVersion to M.N.S
|
org.eclipse.ptp.rdt.remotejars
|
build.xml
|
Update ptpVersion to M.N.S
|
For a new major or minor release (but not a service release), the update site text will also need to be changed:
org.eclipse.ptp.releng/buildsite.xml
Build Scripts
The main PTP build scripts live in the releng/org.eclipse.ptp.releng
plugin. The script that is used to build the RDT servers is located in org.eclipse.ptp.rdt.core.remotejars
.
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
build.xml
and change the values of theeclipseDist
,cdtDist
,mylynDist
,rseDist
, andtauJars
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 is used as follows:
sh ptpbuild [-r tag] [-d build_dir] [build_args]
If tag
is specified, this will be the CVS tag used to check out the releng project. The default value is HEAD
If build_dir
is specified, this will be the directory in which the build will take place (the basedir
property in build.xml
). The default location is /opt/public/download-staging.priv/tools/ptp/releng
.
Any remaining arguments will be passed to the build.sh
script.
The
ptpbuild
script checks out a copy of theorg.eclipse.ptp.releng
project prior to the build. In order to prevent the version in CVS from being used instead of your modified local version, you will need to comment out the section of the script that does the checkout. Once you've done this, copy theorg.eclipse.ptp.releng
directory you checked out earlier (and modified) to the build directory, then runptpbuild
.
Build results
On completion, a successful build will be located in /home/www/tools/ptp/builds/M.N.S/I.IYYYMMDDHHMM
, where M.N.S
is the version number of the release, and YYYYMMDDHHMM
is the date and time stamp for the build. The location of the output is determined by the copyTo
property in the org.eclipse.ptp/build.xml
and org.eclipse.ptp.rdt.core.remotejars/build.xml
scripts.
The output directory will contain a signed zipped copy of the master update site along with various other files.
The master update site will be in the form:
-
ptp-master-M.N.S-IYYYYMMDDHHMM.zip
If the build was not successful, then the partial build will be located in the build directory.
Modifying the build
Changing the build version
In order to change a the build version of PTP, you need to make the following modifications in the appropriate branch:
- Modify the
branchVersion
attribute inorg.eclipse.ptp.releng/build.xml
(e.g. "2.1.1") - Modify the
ptpTag
andmapVersionTag
tags inorg.eclipse.ptp/releng/master/build.properties
(e.g. "ptp_2_1") - Modify the
ptpVersion
attribute inorg.eclipse.ptp.rdt.core.remotejars
(e.g. "2.1.1")
Make sure you supply the correct branch tag to the ptpbuild
script (e.g. "ptp_2_1") so that the correct version is built.
If all versions don't match correctly, strange things may happen.
Changing the build type
The build.xml
script supports four different types of builds:
- nightly (default)
- In addition to building, tags the CVS repository with the build version, signs the plugins, runs any tests, then copies the result to the output directory. Note that signing will only work on the Eclipse build server.
- build
- Just runs the build.
- testbuild
- Runs the build and tests, then copies the result to the output directory.
- buildcopy
- Runs the build, and copies the result to the output directory without running any tests.
The build type can be modified by changing the default
attribute of the project
XML element in the build.xml
script.
Changing the version of CDT used to compile RDT
- Modify the
cdtDist
property inbuild.xml
to point to the new version. - Modify the
cdtCoreVersion
property inorg.eclipse.ptp.rdt.core.remotejars/build.xml
to the new value of theorg.eclipse.cdt.core
plugin. This is generally the same as the CDT distribution I number without the "I", but not always, so it is good to check. e.g. if the CDT distribution iscdt-master-5.0.2.I200902130801.zip
, then thecdtCoreVersion
should be5.0.2.200902130801
.
Adding a new feature
- Add the new feature to the PTP master feature
org.eclipse.ptp.master
- Add entries in
org.eclipse.ptp.releng/maps/ptp.map
for the feature and all of its plugins - Add entries to the
tag
target element inbuild.xml
to tag the feature and its plugins - Add the new feature to the update site in
org.eclipse.ptp.releng/buildsite.xml