The Full Wiki

More info on Apache Buildr

Apache Buildr: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Apache Buildr
Developer(s) Apache Software Foundation
Stable release 1.3.4
Preview release n/a / n/a
Written in Ruby
Operating system Cross-platform
License Apache License 2.0 v

Buildr is an open-source build system mainly intended to build Java applications, but capable of doing much more. It gives the developer the power of a full-blown scripting language (Ruby) while writing his or her build scripts, much missed in XML-based building environments like Apache Ant or Apache Maven.


Buildr is based on Ruby's build system Rake, and uses Ruby as a scripting language. It uses some project automation idioms from Maven like automated artifact management (Buildr is out-of-box compatible with Maven's repositories). As opposed to more imperative style of build systems like Ant, Buildr takes a more declarative approach in describing the project automation logic (similarly to Maven).

Though Buildr's general philosophy is similar to Maven, it uses Ruby's scripting possibilities to provide a much more flexible and customizable programming model, dramatically extending the tools in the hands of the developer. The user writes a Ruby build script, declaring a project, its sub-projects, artifacts, dependencies, packaging rules etc.. Based on these declarations, a list of standard targets are provided to compile or package the project, upload a prepared package to a remote repository, clean up the build results, run tests and so on. Hooks are provided to execute custom Ruby code before or after the standard targets, allowing the user to comfortably override any defaults and further specify the behavior of the standard targets. New, completely user-written targets can be added, written in Ruby, using its full scripting powers.

Supported Technologies

While being mainly designed for Java, Buildr also knows how to invoke compilers for Groovy or Scala. It is also easily extendible with any custom tasks to invoke any third compiler, making it a universal, general-purpose build system. As compared with writing custom plug-ins for Ant, Ruby's flexibility and rich library make it much easier and quicker to extend it Buildr in any desired way.

Buildr also comes with out-of-box support technologies like Cobertura, Emma, JUnit, TestNG, JBehave, JMock. Integration with Ant is also provided.

External links



Got something to say? Make a comment.
Your name
Your email address