The Eclipse Common Build Infrastructure (CBI) is an initiative combining technologies and practices for building Eclipse Software.
- Make it really easy to contribute Eclipse projects
- Make it really easy to build Eclipse projects
- Get all Eclipse projects building their software on Eclipse Foundation hardware.
- Enable the Long Term Support Program.
There is a strong link between CBI and the Long Term Support Program which enables a marketplace of companies providing maintenance and support for Eclipse technologies for durations far beyond typical community support. Please NOTE: CBI features will be available to community.
It is our hope that this project develops an offering that is compelling so that many projects will move to use it.
- Bi-weekly conference call, Tuesdays 10:00 to 11:00 Eastern timezone. Conference bridge details. Contact andrew dot ross at eclipse dot org if you would like to be added to the Calendar reminder.
- Code Sprint #1 - in Ottawa, Canada
- Code Sprint #2 - in July, 2012
There are opportunities for students interested in participating in Google Summer of Code. Please see our list of project ideas and scan for CBI.
- CBI/Eclipse Platform Build see the CBI/Eclipse Platform Build Roadmap
- Video discussing JBoss tools use of Tycho
Preferred Build Technologies
Maven 3.0 drives the builds. Projects are expected to provide standard Maven 3.0 POM files for their builds. The builds should be built in such a way that they can be run on the local workstation, or on the Eclipse build server. Note that builds can only be signed on the Eclipse build server.
- Parent Maven POM for Eclipse projects;
- Signing Builds using Maven; and
- Maven repository support at Eclipse.
Tycho is focused on a Maven-centric, manifest-first approach to building Eclipse plug-ins, features, update sites, RCP applications and OSGi bundles.
Related Topics and Links
What does the CBI build of the Eclipse platform do?
Answer: The CBI build of the Eclipse platform is intended to produce the same output as the PDE build, and thus facilitate packaging without noticeable change. The noticeable difference the CBI build of the platform makes is ease of use to build the platform. For example, the prototype has consistently demonstrated that a newcomer without prior experience can build the Eclipse platform with under 30 minutes of effort on a machine with a supported JDK & Maven.
Answer: The Long Term Support program is aimed at enabling organizations to support and maintain Eclipse software far into the future, for decades if needed. Part of the program enables maintenance committers working on behalf of the company to fix issues. Ensuring a very easy to use, very easy to maintain, and portable build was essential to the program. The fact that a build with these attributes also provides much benefit to the community was another good reason to do CBI.
Won't CBI be kept behind a firewall at Eclipse?
Answer: No, the work done for CBI will be public and available and projects will be encouraged to leverage them. In the future, there may be some enhanced tools and features based on CBI designed to make Long Term Support (LTS) easier/more efficient/more effective. These might be available to members of the LTS working group only and enable a business model which supports the Eclipse Foundation.
Will my project be forced to move to CBI?
Answer: No, there are no plans for forcing projects to use CBI. But if CBI develops the way we intend, you'll likely feel there's much good value to use it and decide to move to CBI on your own. Part of the benefit include the really easy to use & powerful build. Part of the benefit is that using CBI allows the Eclipse Foundation's release engineer to provide some assistance to ensure your project has a really good build. Another important part of the CBI initiative is a Continuous integration facility and build farm maintained by the Eclipse Foundation... so you don't need to create & maintain one yourself somewhere else.
Isn't this just yet-another-build system at Eclipse?
Answer: In truth, many of the technologies involved with CBI such as Maven, Tycho, Hydson, Git, etc. were already in use by a number of projects who consider them to be best of breed. In addition, they were/are being considered by others. Thus in a way, CBI is an evolutionary effort building on momentum in the community. Technologies such as Maven and Nexus (the artefact storage repository often used with Maven) are ubiquitous and very popular.