| Maintainer | duncan@community.haskell.org |
|---|---|
| Safe Haskell | None |
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
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]
Parsing user build targets
readUserBuildTargets :: [String] -> ([UserBuildTargetProblem], [UserBuildTarget])
Constructors
| UserBuildTargetUnrecognised String |
Instances
Resolving build targets
resolveBuildTargets :: PackageDescription -> [(UserBuildTarget, Bool)] -> ([BuildTargetProblem], [BuildTarget])
Given a bunch of user-specified targets, try to resolve what it is they refer to.
data BuildTargetProblem
Constructors
| BuildTargetExpected UserBuildTarget [String] String |
|
| BuildTargetNoSuch UserBuildTarget [(String, String)] |
|
| BuildTargetAmbigious UserBuildTarget [(UserBuildTarget, BuildTarget)] |
Instances
reportBuildTargetProblems :: [BuildTargetProblem] -> IO ()