Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 85 committers (1.2%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Keywords from Contributors
init
services
system
systemd
Last synced: 6 months ago
·
JSON representation
·
Repository
Shake build system
Basic Info
- Host: GitHub
- Owner: ndmitchell
- License: other
- Language: Haskell
- Default Branch: master
- Homepage: http://shakebuild.com
- Size: 8.93 MB
Statistics
- Stars: 782
- Watchers: 26
- Forks: 121
- Open Issues: 199
- Releases: 25
Created about 13 years ago
· Last pushed about 1 year ago
Metadata Files
Readme
Changelog
Contributing
License
Citation
README.md
Shake

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. The website for Shake users is at shakebuild.com.
Documentation
- 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.
- Blog posts detailing ongoing development work.
- Academic paper on the underlying principles behind Shake.
Other links
- 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.
Is your company using Shake? Write something public (even just a tweet to @ndm_haskell) and I'll include a link on the website.
Owner
- Name: Neil Mitchell
- Login: ndmitchell
- Kind: user
- Location: Cambridge, UK
- Company: Meta
- Website: https://ndmitchell.com
- Twitter: ndm_haskell
- Repositories: 139
- Profile: https://github.com/ndmitchell
Haskell/Rust programmer. All code is open source and licensed by me, not my employer. All views are my own.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you need to cite Shake, this metadata is the paper that introduces Shake."
repository-code: "https://github.com/ndmitchell/shake"
title: Shake
url: "https://shakebuild.com"
preferred-citation:
type: proceedings
authors:
- family-names: Mitchell
given-names: Neil
orcid: "https://orcid.org/0000-0001-5171-9726"
doi: "10.1145/2398856.2364538"
journal: "ICFP '12: Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming"
month: 9
day: 10
isbn: 978-1-4503-1054-3
publisher: ACM
title: "Shake Before Building - Replacing Make with Haskell"
year: 2012
url: https://ndmitchell.com/downloads/paper-shake_before_building-10_sep_2012.pdf
abstract: "Most complex software projects are compiled using a build tool (e.g. make), which runs commands in an order satisfying user-defined dependencies. Unfortunately, most build tools require all dependencies to be specified before the build starts. This restriction makes many dependency patterns difficult to express, especially those involving files generated at build time. We show how to eliminate this restriction, allowing additional dependencies to be specified while building. We have implemented our ideas in the Haskell library Shake, and have used Shake to write a complex build system which compiles millions of lines of code."
GitHub Events
Total
- Issues event: 4
- Watch event: 18
- Issue comment event: 3
- Push event: 13
- Pull request event: 2
- Fork event: 3
Last Year
- Issues event: 4
- Watch event: 18
- Issue comment event: 3
- Push event: 13
- Pull request event: 2
- Fork event: 3
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Neil Mitchell | n****l@g****m | 4,732 |
| Neil Mitchell | u****n | 817 |
| Neil Mitchell | n****l@s****m | 63 |
| Jorge Acereda | j****a@g****m | 55 |
| Pepe Iborra | p****a@g****m | 21 |
| Dale Wijnand | d****d@g****m | 21 |
| Eric Wolf | e****2@g****m | 17 |
| Fadil Mokhchane | f****e@g****m | 8 |
| Stefan Kersten | k****e@g****m | 8 |
| Mike Ledger | m****e@q****m | 7 |
| Sven Heyll | s****l@l****u | 6 |
| Edward Z. Yang | e****g@c****u | 6 |
| Ryan Scott | r****t@g****m | 6 |
| Adam Sandberg Eriksson | a****m@s****e | 5 |
| Moritz Angermann | m****n@g****m | 5 |
| Yuriy Syrovetskiy | c****p@c****u | 4 |
| Gabor Greif | g****f@g****m | 4 |
| Jens Petersen | j****n@g****m | 4 |
| Thomas Schilling | n****o@g****m | 4 |
| Sridhar Ratnakumar | s****d@s****a | 3 |
| Sidharth Kapur | s****1@g****m | 3 |
| Laurent Petit | l****t@g****m | 2 |
| Joachim Breitner | m****l@j****e | 2 |
| Ben Gamari | b****n@s****g | 2 |
| Andrey Mokhov | a****v@g****m | 2 |
| Austin Seipp | as@f****m | 2 |
| Justin Paston-Cooper | p****r@g****m | 2 |
| Mathnerd314 | m****s@g****m | 2 |
| Mikhail Glushenkov | m****v@g****m | 2 |
| Niklas Hambüchen | m****l@n****e | 2 |
| and 55 more... | ||
Committer Domains (Top 20 + Academic)
erdi.hu: 1
mail.ru: 1
twitter.com: 1
franklinchen.com: 1
archlinux.org: 1
4angle.com: 1
echonolan.net: 1
hawaga.org.uk: 1
teallabs.org: 1
asana.com: 1
ingenios.co.uk: 1
pernsteiner.org: 1
tvholtz.de: 1
anoak.io: 1
typeful.net: 1
joyridelabs.de: 1
traytonwhite.com: 1
gentoo.org: 1
bloomberg.net: 1
community.haskell.org: 1
cs.stanford.edu: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 73
- Total pull requests: 35
- Average time to close issues: 3 months
- Average time to close pull requests: 4 months
- Total issue authors: 44
- Total pull request authors: 24
- Average comments per issue: 3.41
- Average comments per pull request: 2.8
- Merged pull requests: 21
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 2 days
- Issue authors: 4
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.5
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- saurabhnanda (14)
- ndmitchell (3)
- omnibs (3)
- pepeiborra (3)
- jacereda (3)
- adamse (3)
- mpickering (2)
- hlverstoep (2)
- amigalemming (2)
- andreasabel (2)
- joneshf (2)
- georgefst (2)
- ad-si (1)
- gergoerdi (1)
- felixonmars (1)
Pull Request Authors
- pepeiborra (7)
- jacereda (3)
- cdepillabout (2)
- sergv (2)
- juhp (2)
- georgefst (2)
- adamse (2)
- RowDaBoat (2)
- srid (1)
- chrismwendt (1)
- ghost (1)
- hlverstoep (1)
- saurabhnanda (1)
- depressed-pho (1)
- 1inguini (1)
Top Labels
Issue Labels
haddocks (4)
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 55
proxy.golang.org: github.com/ndmitchell/shake
- Documentation: https://pkg.go.dev/github.com/ndmitchell/shake#section-documentation
- License: other
-
Latest release: v0.19.8
published about 2 years ago
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
6 months ago
Dependencies
shake.cabal
hackage
- base >=4.9
- base ==4.*
- binary *
- bytestring *
- deepseq >=1.1
- directory >=1.2.7.0
- directory *
- extra >=1.6.19
- file-embed >=0.0.11
- filepath *
- filepattern *
- hashable >=1.1.2.3
- heaps >=0.3.6.1
- js-dgtable *
- js-flot *
- js-jquery *
- network *
- network-uri *
- primitive *
- process >=1.1
- random *
- semigroups >=0.18
- template-haskell *
- time *
- transformers >=0.2
- unix >=2.5.1
- unix *
- unordered-containers >=0.2.7
- utf8-string >=0.3
- QuickCheck >=2.0 test
- base ==4.* test
- binary * test
- bytestring * test
- deepseq >=1.1 test
- directory * test
- extra >=1.6.19 test
- file-embed >=0.0.11 test
- filepath * test
- filepattern * test
- hashable >=1.1.2.3 test
- heaps >=0.3.6.1 test
- js-dgtable * test
- js-flot * test
- js-jquery * test
- network * test
- network-uri * test
- primitive * test
- process >=1.1 test
- random * test
- semigroups >=0.18 test
- template-haskell * test
- time * test
- transformers >=0.2 test
- unix * test
- unix >=2.5.1 test
- unordered-containers >=0.2.7 test
- utf8-string >=0.3 test
.github/workflows/ci.yml
actions
- actions/cache v2 composite
- actions/checkout v2 composite
- haskell/actions/setup v1 composite
- ndmitchell/neil master composite