shoes/shoes — pull request #188 by wasnotrice (2012-03-22 15:49:20+00:00)
Title: Refactor build code to use rake file tasks

A couple of times, I've seen folks drop by #shoes and offer to help. The Rakefile is always *really* intimidating to newcomers. And the build is *SLOW*.

This is a first effort at rewriting some of the build code to use "real" rake file tasks instead of procedural code. **Please provide feedback:** Is this a good direction to go in?

At this point, I've only rewritten the code that

- copies ruby to dist/
- compiles and copies gems and bundled libraries (binject, chipmunk, etc) to dist/

Also, this is only in the OSX build process at the moment, but it should be simple to extend.

Benefits:

- extensions are only compiled when needed. In cheap, informal tests, this seems to save a couple of seconds at least. Would save more time if we compiled Shoes proper in this manner.
- the code is documented :)

Drawbacks:

- the code is a little more verbose
- because it creates a task for each file, a `rake --trace` is *very* verbose. I think this would be reduced if, instead of creating a task for each file, we created a task for each directory.