Common Build Infrastructure
The Common Build Infrastructure (CBI) project is a proposed open source project under the Technology Project.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.
The Eclipse Foundation hosts a large number of projects. Historically, each project has implemented their own build system from scratch with mixed results. We believe collaboration around a common set of software production technologies such as build, testing, and similar can have a positive effect on Eclipse projects.
The Common Build Infrastructure (CBI) project maintains and develops software production technology common to multiple Eclipse projects.
- Make it really easy to build Eclipse projects
- Make it easy to automate build and testing tasks
- Make it really easy to sign jar files and other artifacts
- Make it easier for new projects to set up their build
- Continually improve the quality of builds at Eclipse
It is important to differentiate between common and universal. CBI does not abstract all build systems or rarely needed features. If something is used by one and only one project, it is unlikley to be included as part of CBI.
Once multiple projects are using a given technology something, then it may become a candidate for inclusion into CBI if doing so brings benefit to CBI and projects using it.
The following components are examples of technology that is within the scope of CBI:
- Jar signing service
- Operating system signing service
- Common Maven plugins used for Eclipse builds
- Common Eclipse license files
The Eclipse Common Build Infrastructure (CBI) combines technologies and practices for building Eclipse Software.
Given the Eclipse-focused background and scope, creating CBI as a project itself hosted at the Eclipse Foundation is very natural. CBI makes setting up and maintaining project builds easier. Creating the CBI project allows people to contribute to CBI on equal footing and hopefully will assist in growing a community for CBI over time.
CBI code is licensed under a mix of EPL and EDL code. For example:
- Data, notably the pom.xml files are EDL
- Code is EPL e.g. the jar signer
The headers in each file denote the license.
Copyright for the CBI project's initial contribution is held by the Eclipse Foundation, SAP, IBM, and Red Hat.
The initial contribution is hosted by the Eclipse Foundation already at the following URL:
- Git Repository for Maven plugins
- Git repository for the common license files
- Git repository for the signing service
We do not believe there are any legal issues lurking in CBI.
The following individuals are proposed as initial committers to the project:
- Thanh Ha, Eclipse Foundation
- Thanh is a committer on the CBI project where he has made significant contributions over the past year. He will be developing and maintaining: the signing service; the operating system signing service; and Maven plugins.
- Paul Webster, IBM
- Paul Webster is a power user and periodic contributor to CBI. He was a significant contributor to the efforts to deploy CBI for The Eclipse Platform project.
- Krzysztof Daniel, Red Hat
- Krzysztof is a power user and periodic contributor to CBI. He was a significant contributor to the efforts to deploy CBI for The Eclipse Platform project and the Fedora Linux distrubution's Eclipse build.
- David Williams, IBM
- David is a power user and periodic contributor to CBI. He was a significant contributor to the efforts to deploy CBI for The Eclipse Platform project.
- Denis Roy, Eclipse Foundation
- Denis was the original author of the signing service and plans to continue developing it.
We welcome additional committers and contributions.
The following Architecture Council members will mentor this project:
- Gunnar Wagenknecht
- John Arthorne
The following individuals, organisations, companies and projects have expressed interest in this project:
- Andrew Ross, Eclipse Foundation
- Gunnar Wagenknecht, Tasktop
- Lars Vogel, vogella GmbH
- Alexander Kurtakov, Red Hat
- Mickael Istria, JBOSS by Red Hat
- Toni Menzel, rebaze GmbH
- Wim Jongman, Remain Software
- Stephan Leicht Vogt, Business Systems Integration AG
- Pat Huff, IBM
- Jutta Bindewald, SAP
- Jochen Krause, EclipseSource
- Paul Lipton, CA Technologies
Changes to this Document