12

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?

Nick Gerakines
  • 1,432
  • 1
  • 11
  • 20
  • Not an answer to your question, but note there are other viable buildsystems than autoconf too. CMake and QMake are both great, and quite popular. –  Jan 07 '09 at 21:48

5 Answers5

8

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.

krosenvold
  • 75,535
  • 32
  • 152
  • 208
2

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

orip
  • 73,323
  • 21
  • 116
  • 148
1

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" />
    </exec>
</target>

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 :-)

rkj
  • 8,787
  • 2
  • 29
  • 35
0

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

Very handy.

Otto
  • 18,761
  • 15
  • 56
  • 62
0

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.

Theo
  • 131,503
  • 21
  • 160
  • 205