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).
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:
Just click and download
curl -O buildboost.org/build.xml
wget -N buildboost.org/build.xml
(for Unix/MacOSX users)
(for Windows users)
You are done!
* 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.
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.
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!
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!