Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- new :: Settings -> [Dep] -> [FilePath] -> BuildPlan
- ready :: BuildPlan -> [Target]
- building :: BuildPlan -> [Target]
- completed :: BuildPlan -> [Target]
- size :: BuildPlan -> Int
- numCompleted :: BuildPlan -> Int
- markCompleted :: BuildPlan -> Target -> BuildPlan
- markReadyAsBuilding :: BuildPlan -> BuildPlan
- numBuilding :: BuildPlan -> Int
- hasBuilding :: BuildPlan -> Bool
- data BuildPlan
- data Target
- type TargetId = FilePath
- targetId :: Target -> TargetId
- allDepends :: Target -> [TargetId]
- source :: Target -> FilePath
- object :: Target -> Maybe FilePath
- objects :: BuildPlan -> [FilePath]
- data Settings = Settings {}
- defaultSettings :: Settings
Documentation
new :: Settings -> [Dep] -> [FilePath] -> BuildPlan Source #
Create a new BuildPlan from a list of (target, dependency) pairs. This is mostly a copy of Distribution.Client.PackageIndex.dependencyGraph.
numCompleted :: BuildPlan -> Int Source #
markReadyAsBuilding :: BuildPlan -> BuildPlan Source #
Mark all "ready" targets as "currently building".
numBuilding :: BuildPlan -> Int Source #
How many targets are we building currently?
hasBuilding :: BuildPlan -> Bool Source #
Are there any targets in the "currently building" state?
allDepends :: Target -> [TargetId] Source #
Given a Target, return all its dependencies (internal + external).
source :: Target -> FilePath Source #
Given a Target, return the name of the source file from which it can be produced.
object :: Target -> Maybe FilePath Source #
Given a Target, return the name of the object file produced from it that should be fed to the linker.
objects :: BuildPlan -> [FilePath] Source #
Given a BuildPlan, return the list of object files for all completed targets.
Settings for a BuildPlan