Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "E4/Builds"
(→Plug-in Versioning) |
|||
Line 1: | Line 1: | ||
− | *** | + | *** OLDER INFORMATION *** |
Line 7: | Line 7: | ||
= Builds = | = Builds = | ||
− | In e4 (like in the other projects under the Eclipse top-level project), we produce regular builds. One important kind of build is called ''integration build'' - usually run once a week to produce a version that is good enough to for purposes of integrating with other teams' work, and for self-hosting. Integration builds | + | In e4 (like in the other projects under the Eclipse top-level project), we produce regular builds. One important kind of build is called ''integration build'' - usually run once a week to produce a version that is good enough to for purposes of integrating with other teams' work, and for self-hosting. Integration builds simply take what's in master, tag it, and generate a report of changes since the last build. |
− | + | ||
− | + | ||
== Plug-in Versioning == | == Plug-in Versioning == | ||
Line 21: | Line 19: | ||
For new bundles, please mark them as '''0.16.0.qualifier''' | For new bundles, please mark them as '''0.16.0.qualifier''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Integration Builds == | == Integration Builds == | ||
Line 42: | Line 29: | ||
! Frequency | ! Frequency | ||
|- | |- | ||
− | | | + | | every day |
| 22:00 EST | | 22:00 EST | ||
− | | | + | | Daily |
|} | |} | ||
Line 57: | Line 44: | ||
For the build: | For the build: | ||
− | '''Tool''': | + | '''Tool''': we don't need to use the releng tool to submit for builds, that happens automatically. |
[[Image:Install-Releng-Tools.png]] | [[Image:Install-Releng-Tools.png]] | ||
− | Releng tools are in the eclipse updates site now that | + | Releng tools are in the eclipse updates site now that Luna is released and can be installed from the director app as well: |
eclipse/eclipse -application org.eclipse.equinox.p2.director \ | eclipse/eclipse -application org.eclipse.equinox.p2.director \ | ||
-consoleLog -noSplash \ | -consoleLog -noSplash \ | ||
− | -repository http://download.eclipse.org/eclipse/updates/ | + | -repository http://download.eclipse.org/eclipse/updates/4.4 \ |
-installIU org.eclipse.releng.tools.feature.group | -installIU org.eclipse.releng.tools.feature.group | ||
'''Tags''': tags should be of the form v<date>, so v20081120 or v20081120-1300 | '''Tags''': tags should be of the form v<date>, so v20081120 or v20081120-1300 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Versioning Plugins''': Teams should try and follow the standard versioning rules posted at [[Version Numbering]]. If you need to copy over an existing eclipse project to make changes, please increment the minor number by 100. i.e. 3.5.0 becomes 3.105.0. When you need to break API, then update the major number. i.e. 3.105.0 becomes 4.0.0 | '''Versioning Plugins''': Teams should try and follow the standard versioning rules posted at [[Version Numbering]]. If you need to copy over an existing eclipse project to make changes, please increment the minor number by 100. i.e. 3.5.0 becomes 3.105.0. When you need to break API, then update the major number. i.e. 3.105.0 becomes 4.0.0 | ||
Line 90: | Line 62: | ||
== Build Infrastructure == | == Build Infrastructure == | ||
− | We run our builds on build.eclipse.org ( | + | We run our builds on build.eclipse.org (an x86_64 linux machine) with a local userid, '''e4Build'''. |
=== Build Scripts === | === Build Scripts === | ||
− | The main build project is in <code>e4/releng/org.eclipse.e4.builder</code>. It contains the <code>masterBuild.sh</code> script that can be modified to run a test build or a real build (tagged and uploaded to download.eclipse.org). It also contains the PDE build directory, <code>e4/releng/org.eclipse.e4.builder/builder/general</code>, that | + | The main build project is in <code>e4/releng/org.eclipse.e4.builder</code>. It contains the <code>masterBuild.sh</code> script that can be modified to run a test build or a real build (tagged and uploaded to download.eclipse.org). Our build is now controlled by maven/tycho and the pom.xml. |
+ | |||
+ | It also contains the old PDE build directory, <code>e4/releng/org.eclipse.e4.builder/builder/general</code>, that used to build our master feature. | ||
<br> | <br> | ||
=== Machine Setup === | === Machine Setup === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
To run the tests, we need a virtual X server on :8: | To run the tests, we need a virtual X server on :8: | ||
Line 118: | Line 83: | ||
localhost | localhost | ||
− | |||
− | |||
− | |||
=== Setup === | === Setup === | ||
− | In [http:// | + | In [http://git.eclipse.org/c/e4/org.eclipse.e4.releng.git/tree/org.eclipse.e4.builder/scripts/buildCBI.sh buildCBI.sh] |
We have a set of variables that are needed in order to make the system go. | We have a set of variables that are needed in order to make the system go. | ||
Line 138: | Line 100: | ||
|- | |- | ||
− | | | + | | relengBranch |
| | | | ||
− | The branch to check out the releng project (this contains subprojects that contain all our | + | The branch to check out the releng project (this contains subprojects that contain all our repository to branch mapping). Default is master. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
Line 151: | Line 108: | ||
| | | | ||
Build architecture, currently x86 or ppc. | Build architecture, currently x86 or ppc. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
Line 171: | Line 118: | ||
| | | | ||
Build time in the 24 hour clock format HHMM, ex: 1930 | Build time in the 24 hour clock format HHMM, ex: 1930 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
Line 202: | Line 134: | ||
The date and time together: 20090625-1930 | The date and time together: 20090625-1930 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
Line 236: | Line 139: | ||
| | | | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 10:41, 16 June 2014
- OLDER INFORMATION ***
Contents
Builds
In e4 (like in the other projects under the Eclipse top-level project), we produce regular builds. One important kind of build is called integration build - usually run once a week to produce a version that is good enough to for purposes of integrating with other teams' work, and for self-hosting. Integration builds simply take what's in master, tag it, and generate a report of changes since the last build.
Plug-in Versioning
Our current stable build, e4 0.15, has all of our plugins marked as (Incubation) and new plugins should have a version 0.15.0.qualifier.
Now that master is open for our 0.16 stable stream we are following the standard Version Numbering guidelines. For example, for existing bundles:
- if you contribute bug fixes for a bundle, please increment the number to 0.11.1.qualifier
- if you change the public API or public classes (to add new API or to refactor API for the 0.16 release), please increment the number to 0.12.0.qualifier
For new bundles, please mark them as 0.16.0.qualifier
Integration Builds
Date | Time | Frequency |
---|---|---|
every day | 22:00 EST | Daily |
Submitting For the Build
In General:
Checking in code: The checkin comment should at a minimum include "bug #", and preferably be of the form "bug # summary"
For the build:
Tool: we don't need to use the releng tool to submit for builds, that happens automatically.
Releng tools are in the eclipse updates site now that Luna is released and can be installed from the director app as well:
eclipse/eclipse -application org.eclipse.equinox.p2.director \ -consoleLog -noSplash \ -repository http://download.eclipse.org/eclipse/updates/4.4 \ -installIU org.eclipse.releng.tools.feature.group
Tags: tags should be of the form v<date>, so v20081120 or v20081120-1300
Versioning Plugins: Teams should try and follow the standard versioning rules posted at Version Numbering. If you need to copy over an existing eclipse project to make changes, please increment the minor number by 100. i.e. 3.5.0 becomes 3.105.0. When you need to break API, then update the major number. i.e. 3.105.0 becomes 4.0.0
Build Infrastructure
We run our builds on build.eclipse.org (an x86_64 linux machine) with a local userid, e4Build.
Build Scripts
The main build project is in e4/releng/org.eclipse.e4.builder
. It contains the masterBuild.sh
script that can be modified to run a test build or a real build (tagged and uploaded to download.eclipse.org). Our build is now controlled by maven/tycho and the pom.xml.
It also contains the old PDE build directory, e4/releng/org.eclipse.e4.builder/builder/general
, that used to build our master feature.
Machine Setup
To run the tests, we need a virtual X server on :8:
Xvfb :8 -screen 0 1280x1024x24 -auth auth.cfg metacity --display=:8.0 --replace --sm-disable
Where auth.cfg contains at least:
localhost
Setup
In buildCBI.sh
We have a set of variables that are needed in order to make the system go.
Variable | Comments |
---|---|
writableBuildRoot |
The base directory that contains all build related files except the JREs. |
relengBranch |
The branch to check out the releng project (this contains subprojects that contain all our repository to branch mapping). Default is master. |
arch |
Build architecture, currently x86 or ppc. |
builddate |
Build date in the format YYYYMMDD, ex: 20090625 |
buildtime |
Build time in the 24 hour clock format HHMM, ex: 1930 |
eclipseIBuild |
The ID of the eclipse build we use as a target platform. With the changes to use a zipped repo for the eclipse SDK, this ID is only used to generate URLs on the download page. It should potentially be used to collect the correct p2 repo for the eclipse/equinox SDK. |
javaHome |
The java that is used to launch JVMs from the masterBuild.sh script. |
buildTimestamp |
The date and time together: 20090625-1930
|
writableBuildRoot |