Package0.19.8DevelopmentShake
shake
Build system library, like Make, but more accurate dependencies.
- Version0.19.8
- CategoryDevelopment, Shake
- LicenceBSD-3-Clause
- AuthorNeil Mitchell <ndmitchell@gmail.com>
- MaintainerNeil Mitchell <ndmitchell@gmail.com>
- Homepageshakebuild.com
- Pinned byhackage shake 0.19.8
- Sourcehackage.haskell.org/package/shake-0.19.8
Modules
9 modules- Development.Shake148This module is used for defining Shake build systems. As a simple example of a Shake build system,
- Development.Shake.Classes6This module reexports the six necessary type classes that many rule types must support through ShakeValue.
- Development.Shake.Command23This module provides functions for calling command line programs, primarily
- Development.Shake.Config6A module for parsing and using config files in a Shake build system. Config files
- Development.Shake.Database9Lower-level primitives to drive Shake, which are wrapped into the
- Development.Shake.FilePath61A module for FilePath operations exposing System.FilePath plus some additional operations. Windows note: The extension methods (<.>, take…
- Development.Shake.Forward7A module for producing forward-defined build systems, in contrast to standard backwards-defined
- Development.Shake.Rule21This module is used for defining new types of rules for Shake build systems, e.g. to support values stored in a database.
- Development.Shake.Util6A module for useful utility functions for Shake build systems.
Description
Shake is a Haskell library for writing build systems - designed as a replacement for make. See Development.Shake for an introduction, including an example. The homepage contains links to a user manual, an academic paper and further information: https://shakebuild.com
To use Shake the user writes a Haskell program that imports Development.Shake, defines some build rules, and calls the Development.Shake.shakeArgs function. Thanks to do notation and infix operators, a simple Shake build system is not too dissimilar from a simple Makefile. However, as build systems get more complex, Shake is able to take advantage of the excellent abstraction facilities offered by Haskell and easily support much larger projects. The Shake library provides all the standard features available in other build systems, including automatic parallelism and minimal rebuilds. Shake also provides more accurate dependency tracking, including seamless support for generated files, and dependencies on system information (e.g. compiler version).
Depends on
21 packages- base-4.20.2.0with GHC
- binary-0.8.9.3with GHC
- bytestring-0.12.2.0with GHC
- deepseq-1.5.0.0with GHC
- directory-1.3.8.5with GHC
- extra-1.8in this set
- filepath-1.5.4.0with GHC
- filepattern-0.1.3in this set
- hashable-1.4.7.0in this set
- heaps-0.4.1in this set
- js-dgtable-0.5.2in this set
- js-flot-0.8.3in this set
- js-jquery-3.7.1in this set
- primitive-0.9.1.0in this set
- process-1.6.26.1with GHC
- random-1.2.1.3in this set
- time-1.12.2with GHC
- transformers-0.6.1.1with GHC
- unix-2.8.7.0with GHC
- unordered-containers-0.2.21in this set
- utf8-string-1.0.2in this set
Used by in this set · 0
Nothing in this set depends on it.