cabal-install-3.10.1.0: The command-line interface for Cabal and Hackage.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Client.CmdBuild

Description

cabal-install CLI command: build

Synopsis

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 AvailableTargets 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.