Take a list of String build targets, and parse and validate them into actual TargetInfos to be builtregisteredwhatever.
ModuleCabal-3.12.1.0Haskell2010
Distribution.Simple.BuildTarget
Handling for user-specified build targets
- 5 types
- 9 values
- PackageCabal-3.12.1.0
- Exports14
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceBuildTarget.hs
Main interface
2 declarationsRead a list of user-supplied build target strings and resolve them to BuildTargets according to a PackageDescription. If there are problems with any of the targets e.g. they don't exist or are misformatted, throw an IOException.
Build targets
4 declarationsA fully resolved build target.
Constructors
BuildTargetComponent ComponentNameA specific component
BuildTargetModule ComponentName ModuleNameA specific module within a specific component.
BuildTargetFile ComponentName FilePathA specific file within a specific component.
Instances5Eq, Show, Generic, Binary, Rep
Eq BuildTargetDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTargetShow BuildTargetDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTargetGeneric BuildTargetDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTargetBinary BuildTargetDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTargettype Rep BuildTarget = D1 ('MetaDataDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTarget"BuildTarget"
"Distribution.Simple.BuildTarget"
"Cabal-3.12.1.0-fc60"
'False) (C1 ('MetaCons"BuildTargetComponent"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentName)) :+: (C1 ('MetaCons"BuildTargetModule"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)) :+: C1 ('MetaCons"BuildTargetFile"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath))))
Unambiguously render a BuildTarget, so that it can be parsed in all situations.
Parsing user build targets
5 declarationsVarious ways that a user may specify a build target.
Instances3Eq, Ord, Show
Eq UserBuildTargetDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTargetOrd UserBuildTargetDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTargetShow UserBuildTargetDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTarget
Constructors
Instances1Show
Show UserBuildTargetProblemDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTarget
Resolving build targets
3 declarationsGiven a bunch of user-specified targets, try to resolve what it is they refer to.
Constructors
BuildTargetExpected UserBuildTarget [String] String- expected thing
(actually got)
BuildTargetNoSuch UserBuildTarget [(String, String)]- (no such thing, actually got)
BuildTargetAmbiguous UserBuildTarget [(UserBuildTarget, BuildTarget)]
Instances1Show
Show BuildTargetProblemDefined in Cabal-3.12.1.0 · Distribution.Simple.BuildTarget