<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    <meta name="author" content="Mikaël Barbero">
    
    <meta name="keywords" content="" />
    <meta name="generator" content="Hugo 0.14" />
    <link href="//fonts.googleapis.com/css?family=Open+Sans:400,700,300,600,100" rel="stylesheet" type="text/css">
    <link rel="shortcut icon" href="http://www.eclipse.org/cbi/public/images/favicon.ico"/>
    <title>Common Build Infrastructure</title>
    <meta property="og:title" content="" />
    <meta property="og:description" content="Common Build Infrastructure Website" />
    <meta property="og:image" content="http://www.eclipse.org/cbi/images/logo/eclipse.png" />
    <link rel="stylesheet" href="http://www.eclipse.org/cbi/public/css/solstice.css">
    
    
  </head>
  <body class="" id="body_solstice">
    <a class="sr-only" href="#content">Skip to main content</a>
    <div id="toolbar-container-wrapper" class="clearfix">
      <div class="container">
        <div id="row-toolbar" class="region region-toolbar text-right hidden-print">
          <div id="row-toolbar-col" class="col-md-24">
            <section id="block-solstice-support-solstice-support-toolbar" class="block block-solstice-support clearfix">
              <div class="block-content"><ul class="list-inline"><li>&nbsp;</li></ul></div>
            </section>
          </div>
        </div>
      </div>
    </div>
    <header role="banner">
      <div class="container">
        <div id="row-logo-search">
          <div id="header-left" class="col-sm-14 col-md-16 col-lg-19">
            <div class="row">
              <div class="hidden-xs">
                <a href="https://eclipse.org/"><img src="http://www.eclipse.org/cbi/public/images/logo/eclipse-800x188.png" alt="Eclipse.org logo" class="logo-eclipse-default"/></a>
              </div>
              <div id="main-menu" class="navbar row yamm">
                <div id="navbar-collapse-1" class="navbar-collapse collapse">
                  <ul class="nav navbar-nav">
                    

<li class="dropdown">
  <a data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
  <ul class="dropdown-menu">
    <li>
      
      <div class="yamm-content">
        <div class="row">
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Community</strong></p>
            </li>
            <li><a href="http://marketplace.eclipse.org">Marketplace</a></li>
            <li><a href="http://events.eclipse.org">Events</a></li>
            <li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li>
            <li><a href="https://eclipse.org/community/eclipse_newsletter/">Newsletter</a></li>
            <li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li>
          </ul>
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Participate</strong></p>
            </li>
            <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
            <li><a href="https://eclipse.org/forums/">Forums</a></li>
            <li><a href="https://eclipse.org/mail/">Mailing Lists</a></li>
            <li><a href="https://wiki.eclipse.org/">Wiki</a></li>
            <li><a href="https://wiki.eclipse.org/IRC">IRC</a></li>
            <li><a href="https://eclipse.org/contribute/">How to Contribute</a></li>
          </ul>
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Working Groups</strong></p>
            </li>
            <li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li>
            <li><a href="http://iot.eclipse.org">Internet of Things</a></li>
            <li><a href="http://locationtech.org">LocationTech</a></li>
            <li><a href="http://lts.eclipse.org">Long-Term Support</a></li>
            <li><a href="http://polarsys.org">PolarSys</a></li>
            <li><a href="http://science.eclipse.org">Science</a></li>
            <li><a href="http://www.openmdm.org">OpenMDM</a></li>
          </ul>
        </div>
      </div>
    </li>
  </ul>
</li>


                  </ul>
                </div>
                <div class="navbar-header">
                  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1">
                  <span class="sr-only">Toggle navigation</span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  </button>
                  <a href="https://eclipse.org/" class="navbar-brand visible-xs"><img src="http://www.eclipse.org/cbi//public/images/logo/eclipse-800x188.png" alt="Eclipse.org logo" width="174" class="logo-eclipse-default"/></a>
                </div>
              </div>
            </div>
          </div>
          <div id="header-right" class="form-inline col-sm-10 col-md-8 col-lg-5 hidden-print hidden-xs">
            <div id="header-right-container">
              <div id="custom-search-form" class="reset-box-sizing">
  <script>
    (function() {
      var cx = '011805775785170369411:15ipmpflp-0';
      var gcse = document.createElement('script');
      gcse.type = 'text/javascript';
      gcse.async = true;
      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
          '//cse.google.com/cse.js?cx=' + cx;
      var s = document.getElementsByTagName('script')[0];
      s.parentNode.insertBefore(gcse, s);
    })();
  </script>
  <gcse:searchbox-only></gcse:searchbox-only>
</div>

              
            </div>
          </div>
        </div>
      </div>
    </header>
    <section id="breadcrumb" class="defaut-breadcrumbs hidden-print">
  <div class="container">
    <h3 class="sr-only">Breadcrumbs</h3>
    <div class="col-xs-24">
      
      
      <ol class="breadcrumb">
        <li><a href="https://www.eclipse.org/">Home</a></li>
        <li><a href="/">Common Build Infrastructure</a></li>
        
        
        
        
      </ol>
    </div>
  </div>
</section>

    <main role="main" class=" no-promo">
    <div class="container background-image-none" id="novaContent">
    

<div class="container">
  <h1>Common Build Infrastructure</h1>
  
    
  
    
        

<p>The Eclipse Common Build Infrastructure (CBI) is an initiative combining technologies and practices for building Eclipse Software.</p>

<h2 id="what-is-cbi:d680e8a854a7cbad6d490c445cba2eba">What is CBI</h2>

<p>The core of CBI today is Maven with the Tycho plugins. The Tycho plugins teach Maven how to build (and consume) Eclipse plugins and OSGi bundles. This enables building Eclipse projects with &ldquo;maven clean install&rdquo; just as one would build other Maven projects.</p>

<p>Common services such as the Jar signing facility, MacOS signing facility, and Windows signing facility are also included with CBI. Other tools and services may be included in the future as the need arises.</p>

<p>Over time mature templates and common pom.xml files will be provided that set common values finely honed with experience.</p>

<p>One might go so far as to include Git, Hudson, the build slaves, and Nexus (aka. the artifact repository &amp; server side of Maven) as part of CBI since they are also common and crucial to builds.</p>

<p>Gerrit, Bugzilla, and the Downloads site are closely related. Some might consider them part of CBI as well.</p>

<h3 id="who-is-using-it:d680e8a854a7cbad6d490c445cba2eba">Who is using it?</h3>

<p>There&rsquo;s a <a href="http://wiki.eclipse.org/CBI/Projects">list of projects</a> building with CBI available.</p>

<p>The Eclipse Foundation would like to have more than 50% of projects building with CBI by end of 2013.</p>

<h2 id="initiative-goals:d680e8a854a7cbad6d490c445cba2eba">Initiative Goals</h2>

<h3 id="primary:d680e8a854a7cbad6d490c445cba2eba">Primary</h3>

<ul>
<li>Make it really easy to contribute Eclipse projects</li>
<li>Make it really easy to copy &amp; modify source</li>
<li>Make it really easy to build</li>
<li>Make it really easy to test</li>
<li>Make it really easy to post a change for review</li>
<li>Make it really easy to sign software</li>
</ul>

<h3 id="secondary:d680e8a854a7cbad6d490c445cba2eba">Secondary</h3>

<ul>
<li>Get all Eclipse projects building their software on Eclipse Foundation hardware.</li>
<li>Enable the <a href="http://wiki.eclipse.org/EclipseLTS">Long Term Support Program</a>.</li>
<li>Make it easy for people to build custom Eclipse distributions.</li>
</ul>

<p>There is a strong link between CBI and the <a href="http://wiki.eclipse.org/EclipseLTS">Long Term Support Program</a> which enables a marketplace of companies providing maintenance and support for Eclipse technologies for durations far beyond typical community support.</p>

<p>Please note: CBI features will be available to community.</p>

<p>It is our hope that this project develops an offering that is compelling so that many projects will move to use it.</p>

<h2 id="resources:d680e8a854a7cbad6d490c445cba2eba">Resources</h2>

<ul>
<li>Mailing list <a href="https://dev.eclipse.org/mailman/listinfo/cbi-dev">cbi-dev</a></li>
</ul>

<h3 id="bugs:d680e8a854a7cbad6d490c445cba2eba">Bugs</h3>

<p><a href="https://bugs.eclipse.org/bugs/buglist.cgi?action=wrap&amp;product=CBI&amp;list_id=38248">List of All Bugs</a></p>

<h2 id="tutorials-news-and-other-resources:d680e8a854a7cbad6d490c445cba2eba">Tutorials, News, and other resources</h2>

<ul>
<li><a href="http://www.vogella.com/articles/EclipseTycho/article.html">Tycho tutorial by Lars Vogel</a></li>
<li><a href="http://www.fosslc.org/drupal/content/tycho-good-bad-and-ugly">Video discussing JBoss tools use of Tycho</a></li>
<li><a href="http://www.vogella.com/blog/2012/10/08/building-eclipse-sdk-locally-with-maven/">Building Eclipse SDK locally with Maven</a></li>
<li><a href="http://mickaelistria.wordpress.com/2012/10/08/sonar-at-eclipse-org/">Sonar at Eclipse.org</a></li>
<li><a href="http://youtu.be/KJUfLvXiTSw">Tycho and CBI Adoption: Feedback from the trenches</a></li>
<li><a href="http://www.bsiag.com/scout/?p=678">Eclipse Scout builds with CBI</a></li>
</ul>

<h2 id="eclipse-platform-cbi-build:d680e8a854a7cbad6d490c445cba2eba">Eclipse platform CBI build</h2>

<ul>
<li><a href="http://wiki.eclipse.org/Platform-releng/Platform_Build">Eclipse Platform Build based on CBI</a> see the <a href="http://wiki.eclipse.org/CBI/Eclipse">Platform Build Roadmap</a></li>
</ul>

<h2 id="preferred-build-technologies:d680e8a854a7cbad6d490c445cba2eba">Preferred Build Technologies</h2>

<h3 id="hudson:d680e8a854a7cbad6d490c445cba2eba">Hudson</h3>

<ul>
<li>The Eclipse <a href="http://hudson.eclipse.org">Hudson instances</a>; and</li>
</ul>

<h3 id="maven:d680e8a854a7cbad6d490c445cba2eba">Maven</h3>

<p>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.</p>

<h3 id="tycho:d680e8a854a7cbad6d490c445cba2eba">Tycho</h3>

<p>Tycho is focused on a Maven-centric, manifest-first approach to building Eclipse plug-ins, features, update sites, RCP applications and OSGi bundles.</p>

<p>Helpful links:</p>

<ul>
<li><a href="http://wiki.eclipse.org/Tycho">Tycho project</a> information, including <a href="http://wiki.eclipse.org/Tycho/Demo">demo projects</a></li>
<li><a href="http://waynebeaton.wordpress.com/2010/09/23/building-woolsey-with-maven-and-tycho/">Building Woolsey with Maven and Tycho</a></li>
<li><a href="http://wiki.eclipse.org/Tycho/Reference_Card">Reference Card</a></li>
<li><a href="http://wiki.eclipse.org/Tycho/Packaging_Types">Packaging Types</a></li>
</ul>

<h3 id="nexus:d680e8a854a7cbad6d490c445cba2eba">Nexus</h3>

<p><a href="http://wiki.eclipse.org/Services/Nexus">http://wiki.eclipse.org/Services/Nexus</a></p>

<h3 id="signing-tool:d680e8a854a7cbad6d490c445cba2eba">Signing tool</h3>

<ul>
<li><a href="http://git.eclipse.org/c/cbi/org.eclipse.cbi.git/">Maven plugins for signing artifacts</a></li>
<li><a href="http://wiki.eclipse.org/IT_Infrastructure_Doc#Sign_my_plugins.2FZIP_files.3F">On demand signing tool</a></li>
</ul>

<h2 id="cbi-license-bundle:d680e8a854a7cbad6d490c445cba2eba">CBI License bundle</h2>

<p>We offer a P2 repository containing the org.eclipse.license bundle which is located at <code>http://download.eclipse.org/cbi/updates/license/</code></p>

<p>This URL is a composite P2 repo containing the license bundle.</p>

<p>If you are using Tycho you can add the p2 repo to the <repositories> section of your pom.xml file. Something similar to this:</p>

<pre><code class="language-xml">&lt;repository&gt;
  &lt;id&gt;license-feature&lt;/id&gt;
  &lt;url&gt;http://download.eclipse.org/cbi/updates/license/&lt;/url&gt;
  &lt;layout&gt;p2&lt;/layout&gt;
&lt;/repository&gt;
</code></pre>

<p>In any particular feature which you need the license you can use the usual feature.xml section:</p>

<pre><code class="language-xml">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;feature
  id=&quot;org.eclipse.help&quot;
  label=&quot;%featureName&quot;
  version=&quot;2.0.0.qualifier&quot;
  provider-name=&quot;%providerName&quot;
  plugin=&quot;org.eclipse.help.base&quot;
  license-feature=&quot;org.eclipse.license&quot;
  license-feature-version=&quot;1.0.0.qualifier&quot;&gt;
....
</code></pre>

<h2 id="related-topics-and-links:d680e8a854a7cbad6d490c445cba2eba">Related Topics and Links</h2>

<ul>
<li><a href="http://wiki.eclipse.org/EclipseLTS">Long Term Support</a></li>
<li><a href="http://wiki.eclipse.org/Build_Technologies">List of Build Technologies</a></li>
</ul>

<h2 id="faq:d680e8a854a7cbad6d490c445cba2eba">FAQ</h2>

<ul>
<li>See your <a href="http://wiki.eclipse.org/CBI/FAQ">Frequently Asked Question list</a></li>
</ul>

    
  
</div>

</div>
</main>

<p id="back-to-top">
  <a class="visible-xs" href="#top">Back to the top</a>
</p>
<footer role="contentinfo" id="solstice-footer">
  <div class="container">
    <div class="row">
      <section id="footer-eclipse-foundation" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print">
        <h2 class="section-title">Eclipse Foundation</h2>
        <ul class="nav">
          <li><a href="https://eclipse.org/org/">About us</a></li>
          <li><a href="https://eclipse.org/org/foundation/contact.php">Contact Us</a></li>
          <li><a href="https://eclipse.org/donate">Donate</a></li>
          <li><a href="https://eclipse.org/org/documents/">Governance</a></li>
          <li><a href="https://eclipse.org/artwork/">Logo and Artwork</a></li>
          <li><a href="https://eclipse.org/org/foundation/directors.php">Board of Directors</a></li>
        </ul>
      </section>
      <section id="footer-legal" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print ">
        <h2 class="section-title">Legal</h2>
        <ul class="nav">
          <li><a href="https://eclipse.org/legal/privacy.php">Privacy Policy</a></li>
          <li><a href="https://eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
          <li><a href="https://eclipse.org/legal/copyright.php">Copyright Agent</a></li>
          <li><a href="https://eclipse.org/org/documents/epl-v10.php">Eclipse Public License </a></li>
          <li><a href="https://eclipse.org/legal/">Legal Resources </a></li>
        </ul>
      </section>
      <section id="footer-useful-links" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print">
        <h2 class="section-title">Useful Links</h2>
        <ul class="nav">
          <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
          <li><a href="//help.eclipse.org/">Documentation</a></li>
          <li><a href="https://eclipse.org/contribute/">How to Contribute</a></li>
          <li><a href="https://eclipse.org/mail/">Mailing Lists</a></li>
          <li><a href="https://eclipse.org/forums/">Forums</a></li>
          <li><a href="//marketplace.eclipse.org">Marketplace</a></li>
        </ul>
      </section>
      <section id="footer-other" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print">
        <h2 class="section-title">Other</h2>
        <ul class="nav">
          <li><a href="https://eclipse.org/ide/">IDE and Tools</a></li>
          <li><a href="https://eclipse.org/projects">Community of Projects</a></li>
          <li><a href="https://eclipse.org/org/workinggroups/">Working Groups</a></li>
        </ul>
        <ul class="list-inline social-media">
          <li><a href="https://twitter.com/EclipseFdn"><i class="fa fa-twitter-square"></i></a></li>
          <li><a href="https://plus.google.com/+Eclipse"><i class="fa fa-google-plus-square"></i></a></li>
          <li><a href="https://www.facebook.com/eclipse.org"><i class="fa fa-facebook-square"></i> </a></li>
          <li><a href="https://www.youtube.com/user/EclipseFdn"><i class="fa fa-youtube-square"></i></a></li>
        </ul>
      </section>
      <div id="copyright"  class="col-xs-offset-1 col-sm-14 col-md-24 col-md-offset-0">
        <div>
          <span class="hidden-print"><img src="http://www.eclipse.org/cbi/public/images/logo/eclipse-logo-bw-800x188.png" alt="Eclipse.org black and white logo" width="166" height="39" id="logo-eclipse-white"/></span>
          <p id="copyright-text">Copyright &copy; 2015 The Eclipse Foundation. All Rights Reserved.</p>
        </div>
      </div>
      <a href="#" class="scrollup">Back to the top</a>
    </div>
  </div>
</footer>

<script src="http://www.eclipse.org/cbi/public/js/solstice.js"></script>
<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-910670-2']);
  _gaq.push(['_trackPageview']);
  
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
  
</script>
</body>
</html>
