Safe Haskell | None |
---|---|
Language | GHC2021 |
Cabal.Matrix.CabalArgs
Description
Converting high-level build matrix concepts into cabal
commandlines.
Synopsis
- data CabalArgs = CabalArgs {}
- data CabalStep
- data PerCabalStep a = PerCabalStep {
- dryRun :: a
- onlyDownload :: a
- onlyDependencies :: a
- fullBuild :: a
- indexCabalStep :: PerCabalStep a -> CabalStep -> a
- tabulateCabalStep' :: (CabalStep -> a) -> PerCabalStep a
- modifyCabalStep :: CabalStep -> (a -> a) -> PerCabalStep a -> PerCabalStep a
- setCabalStep :: CabalStep -> a -> PerCabalStep a -> PerCabalStep a
- data CabalMode
- data Flavor = Flavor {
- unorderedOptions :: Set Text
- orderedOptions :: [Text]
- renderCabalArgs :: CabalArgs -> NonEmpty Text
- environmentFilePath :: CabalArgs -> Maybe FilePath
Documentation
A single invocation of cabal
.
Cabal allows interrupting the build process at multiple points, which is useful to know which stage the build failed at.
Constructors
DryRun | Run with |
OnlyDownload | Run with |
OnlyDependencies | Run with |
FullBuild | Run without any of the aforementioned options, fully building the selected targets. |
Instances
Bounded CabalStep Source # | |
Enum CabalStep Source # | |
Defined in Cabal.Matrix.CabalArgs Methods succ :: CabalStep -> CabalStep # pred :: CabalStep -> CabalStep # fromEnum :: CabalStep -> Int # enumFrom :: CabalStep -> [CabalStep] # enumFromThen :: CabalStep -> CabalStep -> [CabalStep] # enumFromTo :: CabalStep -> CabalStep -> [CabalStep] # enumFromThenTo :: CabalStep -> CabalStep -> CabalStep -> [CabalStep] # | |
Show CabalStep Source # | |
Eq CabalStep Source # | |
Ord CabalStep Source # | |
data PerCabalStep a Source #
Constructors
PerCabalStep | |
Fields
|
Instances
indexCabalStep :: PerCabalStep a -> CabalStep -> a Source #
tabulateCabalStep' :: (CabalStep -> a) -> PerCabalStep a Source #
Note: the function is evaluated (to WHNF) at each input.
modifyCabalStep :: CabalStep -> (a -> a) -> PerCabalStep a -> PerCabalStep a Source #
setCabalStep :: CabalStep -> a -> PerCabalStep a -> PerCabalStep a Source #
In either case if we are in a cabal project then we can only install packages that are in the dependency closure of the project, and they will be subject to constraints defined in the project file, if any.
Constructors
ProjectBuild | |
InstallLib | Assume that we're in a cabal project and run |
Options defining what cell in the build matrix we're in.
Constructors
Flavor | |
Fields
|