Platform UI/Build Submission
Last update: Aug 12/2009
Contents
How to do an Integration Build submission
The following describes how to do an integration build submission. The steps for doing a maintenance submission are mostly the same except for how you set up the workspace in the first place. See section at the end.
Prep
- It is best to keep an install/workspace around solely for the purpose of build submission. Take the latest milestone.
- Install releng tools into your eclipse install. See E4/Builds for pretty pictures of the releng tool.
- Go to Help>Install New Software
- Choose the Galileo release site or Eclipse Update site
- If the Releng tools are no longer compatible, use the I build site, http://download.eclipse.org/eclipse/updates/3.6-I-builds
- Install the Eclipse Releng Tools
- Note: to verify its installed, start up eclipse, pick a project and popup menu. You should see "Fix Copyrights..."
Steps
- Load contents from CVS
- Check Out four things:the three modules (they will be at the bottom) and the releng project
- Module platform-ui : Note: the projects org.eclipse.ui.carbon and org.eclipse.ui.cocoa will have errors if you are not on Carbon/Cocoa. At time of writing, org.eclipse.carbon generates 53 errors and org.eclipse.cocoa generates 41. You should have no other errors though. As well, org.eclipse.ui.win32 will have errors if you are not on Windows.
- Module platform-ui-tests
- Module platform-ui-examples
- Project org.eclipse.releng
- Check Out four things:the three modules (they will be at the bottom) and the releng project
- Run the test suites. To do this:
- "Close Project" org.eclipse.ui.carbon and org.eclipse.ui.cocoa if you are not on Carbon/Cocoa. If you are not on Windows, close org.eclipse.ui.win32. Verify you now have no compile errors.
- Open up Run->Run Configurations
- Under JUnit Plug-in Test, select each test in turn and run. You can't multi select, so each test is run on its own.
- Note: The UI Tests, JFace-All and RCP Test Suite require that the workbench have focus otherwise you will get false errors. Go get a coffee while running these since you can't use your machine.
- "Open Project" org.eclipse.ui.carbon and org.eclipse.ui.cocoa (and org.eclipse.ui.win32) if you closed them above.
- The act of running the tests will modify some of the test suite projects. Reload (Update and Override) them to clear the local changes.
- Select all the projects, pop up the menu and pick Team->Release...
- If the banner shows an error "Invalid map project selected" then select the project org.eclipse.releng. It has the maps in it.
- Leave selected "Use the default map project (org.eclipse.releng)". Click Next>.
- There will be a tree with three top level items all checked. Deselect the first two, leaving "ui.map" and its children selected. Click Next>.
- The next step takes some time while cvs info is checked.
- The next page will be "Changed Projects". Check the "Generate Build Notes" option at the bottom. Click Next>
- The system will be busy for a minute or two.
- You will see the "Notes for Build Changes" page. Select all the text and paste into your mailer. Later, use this text to send an email (see below).
- Check the "Update the Build Notes File" checkbox at the top, and fill in the build notes file field as "/org.eclipse.ui/buildnotes_workbench.html". Click Next>.
- Type in the build tag, which is I or M (for integration or maintenance) followed by the build date-time (not the current date/time, the one at which the build will be run). So for example, I20071127-0800. Copy the text you typed in as you'll need it next. Leave the other options as is. Click Next>.
- Enter the commit comment for the changed configuration file. Type "Submission for X-Y" where X-Y is the build date-time you entered for the tagging and copied.
- If you get errors about projects already being tagged with the build tag, go back and modify the build tag to make it different (i.e. place an "a" after it)
- Send an email to platform-ui-dev@eclipse.org with the text from above notifying of the build submission.
- For maintenance builds (towards the end), milestone week, or RC builds, send the same email to platform-releng-dev@eclipse.org so that everyone knows who contributed in the end game.
Milestone week
- During the milestone week, its important to announce on the platform-ui list, when the build submission will be done. It should be done more frequently (preferably daily)
- Monday's build will be the candidate for the milestone, so its important to tag for that build. Else, the changes won't be pushed in for the milestone
How to do an Maintenance Build submission
The steps are almost identical to the Integration build steps, the only change is in the way you check out the workspace. Essentially you are checking out all of the projects from the base version (for example R3_5), and then you are refreshing those projects that are in the maintenance branch (R3_5_maintenance for example).
- Change your target platform to the last relevant release like 3.5.0 or the last maintenance build
- When checking out the projects, check them out with a specific version: go into Versions, select the org.eclipse.releng, platform-ui, platform-ui-test, platform-ui-examples, and select the base version for the release (e.g. R3_5).
- Verify that the CVS decorations are as expected (e.g. R3_5)
- Select all projects in the Package Explorer, do "Replace with...>Another branch or version..."
- Click "Refresh Tags", find the branch name to use (e.g. R3_5_maintenance)
- Click OK
This will replace branched projects with the contents from the branch, but (miraculously ;-) leave the contents of projects that are not yet branched untouched. To confirm, check the CVS decorators.
Make sure that you check out org.eclipse.releng correctly - this project needs to be checked out from the maintenance branch (e.g. R3_5_maintenance).
The rest of the build submission (into the R3_5_maintenance branch of the releng project) should be the same as above, using a version tag that looks like M20090708-0800 (except you'd pick today's date, or the anticipated timestamp of the build - even for older maintenance streams).
If you are unsure about anything, or have questions, please do ask another committer. Everybody on the team knows that build submissions (in particular to maintenance streams) are tricky, and will be happy to help.
Running the Tests
If you are too lazy to run the tests one by one, you can use the testRunner plugin to automate the task.
- Checkout org.eclipse.ui.incubator.testRunner plugin from the platform-incubator/ui/other module.
- Use PDE's Self Hosting to install the plugin in your Eclipse instance (select the default location that Install Into Host proposes)
- Select the Utils->Launch Tests menu item (Or just press Ctrl+5)
- Note, this will run *every* JUnit Plugin tests available in your launch configurations. So make sure you don't have any thing other than the default Platform UI test configuration in your workspace. If you have, its just going to take additional time
- Start your fav game in your XBox console and come back to your PC after an hour