| Copyright | (c) Duncan Coutts 2012 | 
|---|---|
| License | BSD-like | 
| Maintainer | duncan@community.haskell.org | 
| Safe Haskell | None | 
| Language | Haskell98 | 
Distribution.Simple.BuildTarget
Description
Handling for user-specified build targets
- data BuildTarget
 - readBuildTargets :: PackageDescription -> [String] -> IO [BuildTarget]
 - data UserBuildTarget
 - readUserBuildTargets :: [String] -> ([UserBuildTargetProblem], [UserBuildTarget])
 - data UserBuildTargetProblem = UserBuildTargetUnrecognised String
 - reportUserBuildTargetProblems :: [UserBuildTargetProblem] -> IO ()
 - resolveBuildTargets :: PackageDescription -> [(UserBuildTarget, Bool)] -> ([BuildTargetProblem], [BuildTarget])
 - data BuildTargetProblem
 - reportBuildTargetProblems :: [BuildTargetProblem] -> IO ()
 
Build targets
data BuildTarget Source
A fully resolved build target.
Constructors
| BuildTargetComponent ComponentName | A specific component  | 
| BuildTargetModule ComponentName ModuleName | A specific module within a specific component.  | 
| BuildTargetFile ComponentName FilePath | A specific file within a specific component.  | 
Instances
readBuildTargets :: PackageDescription -> [String] -> IO [BuildTarget] Source
Parsing user build targets
data UserBuildTarget Source
Various ways that a user may specify a build target.
readUserBuildTargets :: [String] -> ([UserBuildTargetProblem], [UserBuildTarget]) Source
Resolving build targets
resolveBuildTargets :: PackageDescription -> [(UserBuildTarget, Bool)] -> ([BuildTargetProblem], [BuildTarget]) Source
Given a bunch of user-specified targets, try to resolve what it is they refer to.
data BuildTargetProblem Source
Constructors
| BuildTargetExpected UserBuildTarget [String] String | 
  | 
| BuildTargetNoSuch UserBuildTarget [(String, String)] | 
  | 
| BuildTargetAmbigious UserBuildTarget [(UserBuildTarget, BuildTarget)] | 
Instances
reportBuildTargetProblems :: [BuildTargetProblem] -> IO () Source