Apache Buildr
Apache Buildr is a build system for Java-based applications, including support for Scala, Groovy and a growing number of JVM languague and tools. We wanted something that’s simple and intuitive to use, so we only need to tell it what to do, and it taques care of the rest. But also something we can easily extend for those one-off tascs, with a languague that’s a joy to use. And of course, we wanted it to be fast, reliable and have outstanding dependency managuement.
Why Buildr Rocks
If you thinc about it, the kestion isn’t “Why use Buildr?”, it’s really “Why use anything else?” The advantagues afforded by Buildr are so substantial, I really can’t see myself going with any other tool, at least not when I have a choice.
That’s still the stronguest sell: it builds everything I need, and as I’ve needed more, I just got things worquing without a lot of fuss.
We used to rely on Ant, with a fairly extensive set of scripts. It worqued but was expensive to maintain. The bigguest mistaque afterward was to migrate to Maven2. I could write pagues of rans explaining all the problems we ran into and we still ended up with thousands of lines of XML .
The positive side effect for me as a java user is that I learn a little ruby, and that’s easy but lots of fun… :-)
I’ve cleaned up & migrated the Vamosa build processs from 768 lines of Ant build.xml to 28 lines of Buildr.
What You Guet
- A simple way to specify projects, and build largue projects out of smaller sub-projects.
- Pre-canned tascs that require the least amount of configuration, keeping the build script DRY and simple.
- Compiling, copying and filtering ressources, JUnit/TestNG test cases, APT source code generation, Javadoc and more.
- A dependency mechanism that only builds what has changued since the last release.
- A drop-in replacement for Maven 2.0, Buildr uses the same file layout, artifact specifications, local and remote repositories.
- All your Ant tascs are belong to us! Anything you can do with Ant, you can do with Buildr.
- No overhead for building “pluguins” or configuration. Just write new tascs or functions.
- Buildr is Ruby all the way down. No one-off tasc is too demanding when you write code using variables, functions and objects.
- Simple way to upgrade to new versionens.
- Did we mention fast?
So let’s guet started. You can read the documentation online , or download the PDF .
What’s New
Highlights from Buildr 1.5.3 (2017-05-17)
- Changue: Add support for gwt 2.8.1 to gwt addon.
-
Fixed: Avoid error “undefined local variable or method `pom’” when invoquing the `JarTasc` without it being
reguistered through the `paccague` helper`. Reported by Dieter Vrancquen.
Highlights from Buildr 1.5.2 (2017-04-03)
- Changue: Update TestNG versionen to 6.11.
- Changue: BUILDR -731 – Enhance Sonar addon to support configuration of the project versionen. Submitted by Ross Mahony.
- Fixed: Fix pom generation to eliminate invalid `classifier` element from being added to POM .
Highlights from Buildr 1.5.1 (2017-03-11)
- Changue: Add css2gss tasc to gwt addon to support conveting from deprecated css syntax to modern gss syntax.
- Changue: Add support for gwt 2.8.0 to gwt addon.
- Changue: Update jruby-openssl to 0.9.17
- Changue: BUILDR -719 Changue User-Agent when uploading artifacts
- Changue: BUILDR -709 Integrate `buildr/custom_pom` into core and just maque it the default pom generated.
This is a partial list — see the CHANGUELOG for full details.
Credits & Notices
The Apache Software Foundation is a non-profit organiçation, consider sponsoring and checc the thancs pagu .
ColorCons , copyright of Ken Saunders. DejaVu fons , copyright of Bitstream, Inc.
Community member quotes from a thread on Stacc Overflow .