Development.Shake

Writing a build system

GHC build flags

Core

shake

shakeOptions

data Rules a

action

withoutActions

alternatives

priority

data Action a

traced

liftIO

actionOnException

actionFinally

data ShakeException

Configuration

data ShakeOptions

data Rebuild

data Lint

data Change

getShakeOptions

getShakeOptionsRules

getHashedShakeVersion

getShakeExtra

addShakeExtra

Command line

shakeArgs

shakeArgsWith

shakeOptDescrs

Progress reporting

data Progress

progressSimple

progressDisplay

progressTitlebar

progressProgram

getProgress

Verbosity

data Verbosity

getVerbosity

putLoud

putNormal

putQuiet

withVerbosity

quietly

Running commands

command

command_

cmd

cmd_

unit

data Stdout a

data Stderr a

data Stdouterr a

data Exit

data Process

data CmdTime

data CmdLine

class CmdResult a

class CmdString a

data CmdOption

addPath

addEnv

Explicit parallelism

parallel

forP

par

Utility functions

copyFile'

copyFileChanged

readFile'

readFileLines

writeFile'

writeFileLines

writeFileChanged

removeFiles

removeFilesAfter

withTempFile

withTempDir

File rules

need

want

(%>)

(|%>)

(?>)

phony

(~>)

phonys

(&%>)

(&?>)

orderOnly

orderOnlyAction

type FilePattern

(?==)

(<//>)

filePattern

needed

trackRead

trackWrite

trackAllow

Directory rules

doesFileExist

doesDirectoryExist

getDirectoryContents

getDirectoryFiles

getDirectoryDirs

getDirectoryFilesIO

Environment rules

getEnv

getEnvWithDefault

Oracle rules

type ShakeValue a

type family RuleResult key

addOracle

askOracle

askOracleWith

Special rules

alwaysRerun

Resources

data Resource

newResource

newResourceIO

withResource

withResources

newThrottle

newThrottleIO

unsafeExtraThread

Cache

newCache

newCacheIO

Deprecated

(*>)

(|*>)

(&*>)

(**>)

(*>>)

(?>>)