Ruby and Rake as an executable

I’ve been trying for months to get my partner in crime, Stephen Balkum, to switch to Rake as our default build system.  We’ve been using Nant FOREVER and while it works, I really hate writing Nant scripts.

The problem Stephen had with going to Rake where twofold.  One, we’re still doing (mostly) .Net apps, so the only thing we’d use Ruby for right now is Rake (hopefully that will change soon too).  And Ruby is a pretty big installation if you’re only building .Net projects with Rake.

The other, more important, more problem is that we like to have completely self-contained projects.  So when a new dev comes online all they have to do is checkout from source control, click build.bat and you are ready to go.  You simply can’t do that with Ruby and Rake.  You must install Ruby and then get all of the gems necessary to run Rake.

Well, Stephen found a way around all of this.  He has encapsulated Ruby, Rake, and all dependencies into a single 3mb executable.  Now it can be checked in and passed around like any other required tool.

You can read more about it here

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Is this a full featured version of Ruby? We are using Ruby and rake for build tasks only, but we have some fairly complex stuff in our rake scripts, such as XML manipulation, and interfacing with various external system utils. Is this still possible with the self contained version?

  • You should leave this comment on Stephen’s blog. I haven’t played with it. But from he has told me, yes this is the full version of rails. From his description, you install or gem everything you need and then run the allinoneruby script to create the executable

  • mendicant

    ANother thing to keep in mind is that IronRuby seems to be coming pretty fast, and I bet that if you can run Rails on IronRuby that you’ll be able to run Rake. Then you can have your .Net spin :D

  • Believe me, I am looking forward to IronRuby as much as any other .Net Ruby wannabe. But, unless it is deployable as a dll (which it should), you will still have the problem of including IronRuby inside your tools folder in your project.

    Having a completely self-contained project with dependencies is very important. It’s what keeps your automation going.

    We’ll see!!

  • Now _that_ sounds useful!

    You might also be interested in rake-dotnet…?

  • yes, we’re using some of that and what is in the fubuMVC rake scripts