DevBoost
background logo
Maximum Build Automation
For Eclipse Plugin Forgers.
For OSGi Bundle Craftsmen.
For Java Developers.

What is BuildBoost?

BuildBoost is a Java-based open-source framework and meta-build tool that rigorously follows the concept of 'convention over configuration' to enable minimal-to-zero build configurations. One may say that BuildBoost implements the ideas that originally drove the development of Maven (in the context of Eclipse/OSGi).

Open Build Framework with Minimal-to-Zero Configuration

BuildBuild it is based on the principle that all information needed to build an artefact is delivered with the artifact itself and must not be hidden in build scripts. Furthermore, in BuildBoost the build system itself is considered part of the software and thus BuildBoost includes a bootstrap concept that builds the build system itself with the software. This allows a continuous and agile development of the build system itself together with the software system.

BuildBoost is a highly extendable framework. It allows to plug-in and to combine several build steps for arbitrary tasks. It already offers a collection of build steps that can be reused and combined to set up build systems for certain tasks within minutes. Since BuildBoost is a framework and not a new technology, it integrates with existing technologies.

The most important properties of BuildBoost are:

  • BuildBoost is so open that it builds itself from source - everytime.
  • BuildBoost uses defaults - no configuration effort required. But if you need to, you can adjust anything instantly.

Your 3-Step Build Setup*

(1) Get the BuildBoost master build.xml

 Just click and download 

or

 curl -O buildboost.org/build.xml

or

 wget -N buildboost.org/build.xml

(2) Run it against your root repository**

 ant -DrootRepository='git:https://github.com/DevBoost/EclipseSlideshow-Build.git'

(for Unix/MacOSX users)

 ant -DrootRepository="git:https://github.com/DevBoost/EclipseSlideshow-Build.git"

(for Windows users)

(3) Enjoy your ready built software

You are done!


Where is the Magic?

* BuildBoost requires Apache ANT to be installed. Based on which kinds of repositories you need to acces, you might require a GIT and/or SVN installation. Which kinds of builds you get out-of-the-box with BuildBoost depends on the available extensions. Currently, we have everything in place to build Eclipse Plugins (i.e., OSGi Bundles) and publish them to a p2 repository (also known as Eclipse update site).

** BuildBoost fetches all stuff it needs from a set of repositories. The root repository is passed as argument to the master build script. The root repository itself can contain a .repositories file which is simply a list of more repositories. Repositories contain Artifacts (stuff which you want to process during the build: e.g. source files, test cases, models, etc.) and Build Stages (things that do something with the Artifacts: e.g. compilers, test runners, code generators etc.). As one example, inspect the slideshow.repositories which is used to build an Eclipse update site for the SlideShow Eclipse Plugins.

Examples?

We build various Eclipse open-source tools with BuildBoost. You can find them all on the DevBoost GitHub site. Look in Build folders for .repositories files to see how Build Stages and Artifacts are pulled in to set up a complete build within minutes. We execute BuildBoost on our local machines and on our Jenkins system. Inspect the Job Configurations to see how BuildBoost is executed there or execute one or more builds on your own machine by following the 3 steps from above.

More Documentation?

No more is needed since BuildBoost works out of the box (just follow the 3 steps!) ;)

Seriously, more stuff could be documented, but we have to see where documentation makes sense (did I mention that things should simply work without the need to read documentation?). And please remember that everything is open and FREE. For now, you can go to github.com/DevBoost/BuildBoost and inspect the code and follow the development. And of course: contribute!

Trouble? Bugs? Wanna get involved?

BuildBoost is young and fresh. To allow BuildBoost to build all different kinds of artifacts, we need more (much more) extensions in the form of Build Stages. We also need feedback and discussions to improve what is already there. Get involved!