Side by side
Rake vs Shake
Both stand on build automation software. Which one you can start free with, which one lets you read the code, and what each costs once you pay.
Free plan LinuxMacWindows
Choose Rake if you want a free, Ruby-based way to define tasks, prerequisites, and file handling, with packaged tasks and parallel execution. It suits Ruby environments on Linux, macOS, and Windows; it requires Ruby 2.0.0 or later.
Visit Rake Free plan LinuxMacWindows
Shake offers flexible dependency rules, build progress estimates, and profiling for developers building or maintaining build systems. Its Haskell requirement and lack of default rules are important to account for when adopting it.
Visit ShakeThe facts
| Rake | Shake | |
|---|---|---|
| Free plan | Yes | Yes |
| Open source | Not published | Not published |
| Runs on | Linux, Mac, Windows | Linux, Mac, Windows |
| Lowest paid plan | Free or on request | Free or on request |
| Plans published | 1 | 1 |
| Maker | Not published | Not published |
| Website | ruby.github.io | shakebuild.com |
| On build automation software | #24 of 42 | #28 of 42 |
Rake: what it does well
- Rakefiles use standard Ruby syntax.
- Tasks can declare prerequisite tasks.
- Rule patterns can synthesize implicit tasks.
- FileLists support manipulating names and paths.
- Includes tarball tasks and parallel execution.
What to know first
- Requires Ruby 2.0.0 or later.
- Installation requires the `gem install rake` command.
- The project provides the software without express or implied warranties.
Shake: what it does well
- Rules can discover dependencies dynamically.
- Supports parallel builds and resource constraints.
- Profiling reports show what built and why.
- Can execute Ninja files for CMake and Meson integration.
- Open source under the BSD license.
What to know first
- Build systems must be written in Haskell.
- Shake does not provide default build rules.
- Haskell Stack may need to be installed first.