Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
cabal-install CLI command: build
Synopsis
- buildCommand :: CommandUI (NixStyleFlags BuildFlags)
- buildAction :: NixStyleFlags BuildFlags -> [String] -> GlobalFlags -> IO ()
- data BuildFlags = BuildFlags {}
- defaultBuildFlags :: BuildFlags
- selectPackageTargets :: TargetSelector -> [AvailableTarget k] -> Either TargetProblem' [k]
- selectComponentTarget :: SubComponentTarget -> AvailableTarget k -> Either TargetProblem' k
The build
CLI and action
buildAction :: NixStyleFlags BuildFlags -> [String] -> GlobalFlags -> IO () Source #
The build
command does a lot. It brings the install plan up to date,
selects that part of the plan needed by the given or implicit targets and
then executes the plan.
For more details on how this works, see the module Distribution.Client.ProjectOrchestration
Internals exposed for testing
selectPackageTargets :: TargetSelector -> [AvailableTarget k] -> Either TargetProblem' [k] Source #
This defines what a TargetSelector
means for the bench
command.
It selects the AvailableTarget
s that the TargetSelector
refers to,
or otherwise classifies the problem.
For the build
command select all components except non-buildable
and disabled tests/benchmarks, fail if there are no such
components
selectComponentTarget :: SubComponentTarget -> AvailableTarget k -> Either TargetProblem' k Source #
For a TargetComponent
TargetSelector
, check if the component can be
selected.
For the build
command we just need the basic checks on being buildable etc.