A workmate floated the idea of using rake as a build system for a non-ruby project. Is it possible to extend rake to compliment other languages where the autoconf toolset would usually be used?

+5  A: 

There are examples of this, like buildr, the drop in-replacement for maven (for java) that is built on top of rake. There's also raven for java.


I use it to deploy (Capistrano) on several non-Rails projects. One Java (servlet) and several static HTML sites.

Very handy.

+1  A: 

You can find how to use Rake as an easy replacement for Makefile in the manual...

I use it almost exlusevely for build that I write myself... If you use Java better choice would be Ant and Maven - they have a lot of code behind them... But, as for me, you have to be a little brainf*ed to program in XML, so I often use Rake for many task, and invoke it from Ant/Maven, like that:

<target name="custom_task">
 <exec executable="/usr/bin/env">
  <arg value="rake"/>
  <arg value="some-task"/>
  <arg value="param" />

It may not be super efficient, especially if you have to run anything on the JVM it can't use Ant's, so it is not the best idea... I haven't tried JRuby, maybe it would be worth trying... But for other task - filehandling, doing something with text files, etc. it works really nice for me :-)

+1  A: 

Tools like waf and SCons are Python-based build systems that are developed specifically for broad language support.


I use it to compile Flex applications. I've written wrappers around the Flex SDK command line tools -- it's easy to do for any tool chain that can be called from the command line.