Raven Documentation

Raven is a build tool for Java programs based on Rake and Ruby Gems. This site is intended as a quickstart to let anybody use Raven easily. You don't even need to know Rake and Ruby Gems!

Why basing your build system on Rake and Ruby Gems? Rake is a very simple build system, it uses domain specific tasks and most of all, it's Ruby scripting! More about Rake. Ruby Gems is a packaging system, a bit like yum, cpan or aptget. It conveniently handles package installation, update and removal.

Here is what Raven will allow you to do:

  • Your jar files are wrapped in a Ruby Gem (a package). You can then start manage your java jar library just like a Gem library. Tools are provided to convert a Maven jar repository to a Gem repository (both local on your machine or on a public server) or to directly install packages.
  • Your dependencies are declared in a Rakefile. You basically say which Gems you need (and so which jars will be included in your classpath) for building. When building, if some Gems are missing, they are automatically installed in your local Gem repository. Just like Maven.
  • Raven gives you a small library of Rake tasks that you can use to compile your java classes, build a jar file, build a war file, produce javadoc, wrap the jar you built in a Gem, ...
  • This effectively gives you everything you need to build Java projects, using Gems for dependencies management and Rake for scripts.

News and developments on my weblog.

Important update, a central repository of Java Gems is now available at http://gems.rubyraven.org. Update Raven to use this repository for the dependencies automatic downloads.