Shake is a tool for writing build systems - an alternative to make, Scons, Ant etc. Shake has been used commercially for over five years, running thousands of builds per day.
- Why use Shake? Shake lets you write large robust build systems, which deal properly with generated source files and run quickly. If you are writing a custom build system of any moderate size (more than a few rules) you should use Shake. The advantages over other build systems are detailed in the document Why choose Shake?.
- How do I use Shake? Shake is a Haskell library that you use to define your rules. The Shake manual provides a walk through of a small but realistic example, assuming no Haskell knowledge.
- Generated documentation for all functions, includes lots of examples.
- Running Ninja builds using Shake.
- Blog posts detailing ongoing development work.
- Profile report demo explaining what the profile reports mean.
- Academic paper on the underlying principles behind Shake.
- Video of a talk introducing Shake.
- Download the Haskell package from Hackage and install it using Cabal.
- Mailing list for any questions/bugs/thoughts on Shake. If you need more information and aren't sure where to start, use the mailing list.
- Questions can be asked on StackOverflow with the tag
shake-build-system
. - Bugs can be reported on the GitHub issue tracker.
- Source code in a git repo, stored at GitHub.
- Continuous integration with Travis and Hydra.
- Standard Chartered have been using Shake since 2009, as described in the section 6 of the academic paper.
- factis research GmbH, as described in their blog post.
- Samplecount have been using Shake since 2012, as mentioned in their tweet.
- At least 10 other companies are using Shake internally.
Is your company using Shake? Write something public (even just a tweet to @ndm_haskell
) and I'll include a link.