Jump to: navigation, search

Development Resources/Words of Wisdom and Bits of Advice

These are things that Eclipse Project leads and committers need, and should, be doing on a regular basis (daily/weekly/weekly/quarterly/etc).


A common question new projects ask is "how should we use Bugzilla effectively?". There are many schemes for using Bugzilla, but a common one is described on another page.

Heartbeat Builds

We have learned that projects cannot successfully build their three communities without regular milestone releases (we recommend six to eight week periods), nor can it do so without regular, successful, heartbeat builds (we recommend at least nightly). Projects need regular milestones and builds so that their three communities can continuously pick up, integrate, test, use, and provide feedback on the latest features and improvements. Projects that do not provide frequent builds are effectively working in the closed rather than in the open.

Projects often make use of the PDE project's PDE BUILD tools to help automate the builds.

  • We recommend that the automated build system use anonymous pserver CVS commands rather than extssh because it's faster, it's more secure (no developer password), and build system errors cannot accidentally modify any files.

Milestone Releases

Interim milestone and release candidate releases will be named n.nMn (e.g., 3.3M4) or n.nRCn (e.g., 4.1RC2). The n.n and n.n.n release numbering is reserved for the final Reviewed release. Additionally, all nightly, integration, milestone, release candidate, and final releases will be available via a download link found on the project's home page.

Main eclipse.org Web Pages

The eclipse.org site has various news and announcement pages, as well as pages that describe the projects and top-level PMCs. To request an announcement or news, send email to emo@eclipse.org. To change your project's pages, use the project's website CVS: /cvsroot/org.eclipse/www/[project]

Nuturing the Three Communities

Project teams will obviously be doing this, but we include it here for the sake of completeness and as a reminder that it is very important. Continue to use the public mailing lists, respond in the newsgroups, write articles, staff code camps, triage the bugzilla, attend the Eclipse community events (e.g. EclipseCon, Eclipse Summit Europe, Council meetings, ...) and so on.

Release Reviews

Each major release (where major is defined as any release whose N or M version number changes in the N.M.P version number) must go through a Release Review. Please schedule enough time to complete the Review and any potential remedial actions so as not to impact the project's release schedule.

Stale CVS Components

As the projects evolve, some CVS modules become stale and cause confusion to newcomers when they are browsing the repositories. These modules cannot be deleted from the repository, because they contain history and they have been part of a build at one point.

In order to limit confusion and not lose history, the HEAD of stale modules should be replaced by a README file describing the status of the project. This file should also contain when the development has been stopped, against which version of eclipse it was working, and the CVS tag with the last working copy of the code.

Status Reporting

All projects are required to report their status using the Project Status Reporting infrastructure.

Use The Correct Servers

The eclipse.org infrastructure is solid and capable, but it is also capable of being brought to its knees by poor file placement. Projects will follow these guidelines:

  • Avoid links to viewcvs pages that render web content on-the-fly from HEAD (example: http://dev.eclipse.org/viewcvs/index.cgi/eclipse-project-home/plans/eclipse_after_2_1.html?view=co). Instead, commit the content to your website CVS and use normal links.
  • Do not place downloads or large files on the dev.eclipse.org machine (the web pages or the CVS/SVN). Use the download.eclipse.org machine for all downloads - these machines are load balanced, mirrored, and have a separate bandwidth allotment.
    • Large files that change often should be placed on download servers.
    • Files larger than 5Mbs should be placed on the download servers.
    • All zip and gzip files should be placed on the download servers.

This page is moderated by the EMO