Apache Buildr
   HOME

TheInfoList



OR:

Buildr was an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
build system mainly intended to build
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
applications. It gave the developer a full-blown scripting language (
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
) while writing their build scripts, which are usually missing in
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
-based building environments such as
Apache Ant Apache Ant is a software tool for automating software build processes which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implemented using the Java languag ...
or
Apache Maven Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it was ...
. The Apache Buildr project has been retired in July 2022. __NOTOC__


Overview

Buildr is based on
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
's build system
Rake Rake may refer to: * Rake (stock character), a man habituated to immoral conduct * Rake (theatre), the artificial slope of a theatre stage Science and technology * Rake receiver, a radio receiver * Rake (geology), the angle between a feature on a ...
, and uses Ruby as a scripting language. It uses several project automation idioms from Maven like automated artifact management (Buildr is out-of-box compatible with Maven's repositories). As opposed to the 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 more flexible and customizable programming model. 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.


Supported technologies

While being mainly designed for Java, Buildr also knows how to invoke compilers for
Groovy ''Groovy'' (or, less commonly, ''groovie'' or ''groovey'') is a slang colloquialism popular during the 1950s, '60s and '70s. It is roughly synonymous with words such as "excellent", "fashionable", or "amazing", depending on context. History The ...
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 easier and quicker to extend Buildr in any desired way. Buildr also comes with out-of-box support technologies like Cobertura, Emma,
JUnit JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks which is collectively known as xUnit that originated w ...
,
TestNG TestNG is a testing framework for the Java programming language created by Cédric Beust and inspired by JUnit and NUnit. The design goal of TestNG is to cover a wider range of test categories: unit, functional, end-to-end, integration, etc., wit ...
, JBehave, JMock. Integration with Ant is also provided.


See also

*
List of build automation software Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with automating build processes. Make-based * GNU make, a make implementation with a ...


References


External links

* {{Apache Software Foundation Buildr Build automation Software using the Apache license