stack-3.1.1: The Haskell Tool Stack
Safe HaskellSafe-Inferred
LanguageGHC2021

Stack.Types.Build

Description

Build-specific types.

Synopsis

Documentation

data InstallLocation Source #

Type representing user package databases that packages can be installed into.

Constructors

Snap

The write-only package database, formerly known as the snapshot database.

Local

The mutable package database, formerly known as the local database.

data Installed Source #

Type representing information about what is installed.

Constructors

Library PackageIdentifier InstalledLibraryInfo

A library, including its installed package id and, optionally, its license.

Executable PackageIdentifier

An executable.

Instances

Instances details
Show Installed Source # 
Instance details

Defined in Stack.Types.Installed

Methods

showsPrec :: Int -> Installed -> ShowS #

show :: Installed -> String #

showList :: [Installed] -> ShowS #

Eq Installed Source # 
Instance details

Defined in Stack.Types.Installed

data Task Source #

A type representing tasks to perform when building.

Constructors

Task 

Fields

Instances

Instances details
Show Task Source # 
Instance details

Defined in Stack.Types.Build

Methods

showsPrec :: Int -> Task -> ShowS #

show :: Task -> String #

showList :: [Task] -> ShowS #

taskAnyMissing :: Task -> Bool Source #

Were any of the dependencies missing?

taskLocation :: Task -> InstallLocation Source #

A function to yield the relevant database (write-only or mutable) of the given task.

taskProvides :: Task -> PackageIdentifier Source #

A function to yield the package name and version to be built by the given task.

taskTypeLocation :: TaskType -> InstallLocation Source #

A function to yield the relevant database (write-only or mutable) of a given TaskType value.

taskTypePackageIdentifier :: TaskType -> PackageIdentifier Source #

A function to yield the package name and version of a given TaskType value.

data LocalPackage Source #

Information on a locally available package of source code.

Constructors

LocalPackage 

Fields

Instances

Instances details
Show LocalPackage Source # 
Instance details

Defined in Stack.Types.Package

Methods

showsPrec :: Int -> LocalPackage -> ShowS #

show :: LocalPackage -> String #

showList :: [LocalPackage] -> ShowS #

data Plan Source #

A complete plan of what needs to be built and how to do it

Constructors

Plan 

Fields

Instances

Instances details
Show Plan Source # 
Instance details

Defined in Stack.Types.Build

Methods

showsPrec :: Int -> Plan -> ShowS #

show :: Plan -> String #

showList :: [Plan] -> ShowS #

data TestOpts Source #

Options for the FinalAction DoTests

Constructors

TestOpts 

Fields

Instances

Instances details
Show TestOpts Source # 
Instance details

Defined in Stack.Types.BuildOpts

Methods

showsPrec :: Int -> TestOpts -> ShowS #

show :: TestOpts -> String #

showList :: [TestOpts] -> ShowS #

Eq TestOpts Source # 
Instance details

Defined in Stack.Types.BuildOpts

data BenchmarkOpts Source #

Options for the FinalAction DoBenchmarks

Constructors

BenchmarkOpts 

Fields

Instances

Instances details
Show BenchmarkOpts Source # 
Instance details

Defined in Stack.Types.BuildOpts

Methods

showsPrec :: Int -> BenchmarkOpts -> ShowS #

show :: BenchmarkOpts -> String #

showList :: [BenchmarkOpts] -> ShowS #

Eq BenchmarkOpts Source # 
Instance details

Defined in Stack.Types.BuildOpts

data FileWatchOpts Source #

Instances

Instances details
Show FileWatchOpts Source # 
Instance details

Defined in Stack.Types.BuildOptsCLI

Methods

showsPrec :: Int -> FileWatchOpts -> ShowS #

show :: FileWatchOpts -> String #

showList :: [FileWatchOpts] -> ShowS #

Eq FileWatchOpts Source # 
Instance details

Defined in Stack.Types.BuildOptsCLI

data BuildOpts Source #

Build options that is interpreted by the build command. This is built up from BuildOptsCLI and BuildOptsMonoid

Constructors

BuildOpts 

Fields

Instances

Instances details
Show BuildOpts Source # 
Instance details

Defined in Stack.Types.BuildOpts

Methods

showsPrec :: Int -> BuildOpts -> ShowS #

show :: BuildOpts -> String #

showList :: [BuildOpts] -> ShowS #

data BuildSubset Source #

Which subset of packages to build

Constructors

BSAll 
BSOnlySnapshot

Only install packages in the snapshot database, skipping packages intended for the local database.

BSOnlyDependencies 
BSOnlyLocals

Refuse to build anything in the snapshot database, see https://github.com/commercialhaskell/stack/issues/5272

Instances

Instances details
Show BuildSubset Source # 
Instance details

Defined in Stack.Types.BuildOptsCLI

Methods

showsPrec :: Int -> BuildSubset -> ShowS #

show :: BuildSubset -> String #

showList :: [BuildSubset] -> ShowS #

Eq BuildSubset Source # 
Instance details

Defined in Stack.Types.BuildOptsCLI

data TaskType Source #

Type representing different types of task, depending on what is to be built.

Constructors

TTLocalMutable LocalPackage

Building local source code.

TTRemotePackage IsMutable Package PackageLocationImmutable

Building something from the package index (upstream).

Instances

Instances details
Show TaskType Source # 
Instance details

Defined in Stack.Types.Build

Methods

showsPrec :: Int -> TaskType -> ShowS #

show :: TaskType -> String #

showList :: [TaskType] -> ShowS #

data TaskConfigOpts Source #

Given the IDs of any missing packages, produce the configure options

Instances

Instances details
Show TaskConfigOpts Source # 
Instance details

Defined in Stack.Types.Build

Methods

showsPrec :: Int -> TaskConfigOpts -> ShowS #

show :: TaskConfigOpts -> String #

showList :: [TaskConfigOpts] -> ShowS #

newtype BuildCache Source #

Stored on disk to know whether the files have changed.

Constructors

BuildCache 

Fields

Instances

Instances details
FromJSON BuildCache Source # 
Instance details

Defined in Stack.Types.Build

ToJSON BuildCache Source # 
Instance details

Defined in Stack.Types.Build

Generic BuildCache Source # 
Instance details

Defined in Stack.Types.Build

Associated Types

type Rep BuildCache :: Type -> Type #

Show BuildCache Source # 
Instance details

Defined in Stack.Types.Build

Methods

showsPrec :: Int -> BuildCache -> ShowS #

show :: BuildCache -> String #

showList :: [BuildCache] -> ShowS #

NFData BuildCache Source # 
Instance details

Defined in Stack.Types.Build

Methods

rnf :: BuildCache -> () #

Eq BuildCache Source # 
Instance details

Defined in Stack.Types.Build

type Rep BuildCache Source # 
Instance details

Defined in Stack.Types.Build

type Rep BuildCache = D1 ('MetaData "BuildCache" "Stack.Types.Build" "stack-3.1.1-I5OI2i8TUoz1thruFO0H72" 'True) (C1 ('MetaCons "BuildCache" 'PrefixI 'True) (S1 ('MetaSel ('Just "times") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map FilePath FileCacheInfo))))

data ConfigCache Source #

Stored on disk to know whether the flags have changed.

Constructors

ConfigCache 

Fields

Instances

Instances details
Data ConfigCache Source # 
Instance details

Defined in Stack.Types.Build

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConfigCache -> c ConfigCache #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConfigCache #

toConstr :: ConfigCache -> Constr #

dataTypeOf :: ConfigCache -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConfigCache) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConfigCache) #

gmapT :: (forall b. Data b => b -> b) -> ConfigCache -> ConfigCache #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConfigCache -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConfigCache -> r #

gmapQ :: (forall d. Data d => d -> u) -> ConfigCache -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ConfigCache -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConfigCache -> m ConfigCache #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConfigCache -> m ConfigCache #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConfigCache -> m ConfigCache #

Generic ConfigCache Source # 
Instance details

Defined in Stack.Types.Build

Associated Types

type Rep ConfigCache :: Type -> Type #

Show ConfigCache Source # 
Instance details

Defined in Stack.Types.Build

Methods

showsPrec :: Int -> ConfigCache -> ShowS #

show :: ConfigCache -> String #

showList :: [ConfigCache] -> ShowS #

NFData ConfigCache Source # 
Instance details

Defined in Stack.Types.Build

Methods

rnf :: ConfigCache -> () #

Eq ConfigCache Source # 
Instance details

Defined in Stack.Types.Build

type Rep ConfigCache Source # 
Instance details

Defined in Stack.Types.Build

type Rep ConfigCache = D1 ('MetaData "ConfigCache" "Stack.Types.Build" "stack-3.1.1-I5OI2i8TUoz1thruFO0H72" 'False) (C1 ('MetaCons "ConfigCache" 'PrefixI 'True) ((S1 ('MetaSel ('Just "configureOpts") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ConfigureOpts) :*: (S1 ('MetaSel ('Just "deps") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set GhcPkgId)) :*: S1 ('MetaSel ('Just "components") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set ByteString)))) :*: (S1 ('MetaSel ('Just "buildHaddocks") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "pkgSrc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CachePkgSrc) :*: S1 ('MetaSel ('Just "pathEnvVar") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))))

configureOpts Source #

Arguments

:: EnvConfig 
-> BaseConfigOpts 
-> Map PackageIdentifier GhcPkgId

dependencies

-> Bool

local non-extra-dep?

-> IsMutable 
-> PackageConfigureOpts 
-> ConfigureOpts 

Render a BaseConfigOpts to an actual list of options

data CachePkgSrc Source #

Instances

Instances details
Data CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CachePkgSrc -> c CachePkgSrc #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CachePkgSrc #

toConstr :: CachePkgSrc -> Constr #

dataTypeOf :: CachePkgSrc -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CachePkgSrc) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CachePkgSrc) #

gmapT :: (forall b. Data b => b -> b) -> CachePkgSrc -> CachePkgSrc #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CachePkgSrc -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CachePkgSrc -> r #

gmapQ :: (forall d. Data d => d -> u) -> CachePkgSrc -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CachePkgSrc -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CachePkgSrc -> m CachePkgSrc #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CachePkgSrc -> m CachePkgSrc #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CachePkgSrc -> m CachePkgSrc #

Generic CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

Associated Types

type Rep CachePkgSrc :: Type -> Type #

Read CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

Show CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

Methods

showsPrec :: Int -> CachePkgSrc -> ShowS #

show :: CachePkgSrc -> String #

showList :: [CachePkgSrc] -> ShowS #

NFData CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

Methods

rnf :: CachePkgSrc -> () #

Eq CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

PersistField CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

PersistFieldSql CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

type Rep CachePkgSrc Source # 
Instance details

Defined in Stack.Types.Build

type Rep CachePkgSrc = D1 ('MetaData "CachePkgSrc" "Stack.Types.Build" "stack-3.1.1-I5OI2i8TUoz1thruFO0H72" 'False) (C1 ('MetaCons "CacheSrcUpstream" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CacheSrcLocal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)))

newtype FileCacheInfo Source #

Constructors

FileCacheInfo 

Fields

Instances

Instances details
FromJSON FileCacheInfo Source # 
Instance details

Defined in Stack.Types.Package

ToJSON FileCacheInfo Source # 
Instance details

Defined in Stack.Types.Package

Generic FileCacheInfo Source # 
Instance details

Defined in Stack.Types.Package

Associated Types

type Rep FileCacheInfo :: Type -> Type #

Show FileCacheInfo Source # 
Instance details

Defined in Stack.Types.Package

Methods

showsPrec :: Int -> FileCacheInfo -> ShowS #

show :: FileCacheInfo -> String #

showList :: [FileCacheInfo] -> ShowS #

NFData FileCacheInfo Source # 
Instance details

Defined in Stack.Types.Package

Methods

rnf :: FileCacheInfo -> () #

Eq FileCacheInfo Source # 
Instance details

Defined in Stack.Types.Package

type Rep FileCacheInfo Source # 
Instance details

Defined in Stack.Types.Package

type Rep FileCacheInfo = D1 ('MetaData "FileCacheInfo" "Stack.Types.Package" "stack-3.1.1-I5OI2i8TUoz1thruFO0H72" 'True) (C1 ('MetaCons "FileCacheInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "hash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SHA256)))

data PrecompiledCache base Source #

Information on a compiled package: the library .conf file (if relevant), the sub-libraries (if present) and all of the executable paths.

Constructors

PrecompiledCache 

Fields

Instances

Instances details
Generic (PrecompiledCache base) Source # 
Instance details

Defined in Stack.Types.Build

Associated Types

type Rep (PrecompiledCache base) :: Type -> Type #

Methods

from :: PrecompiledCache base -> Rep (PrecompiledCache base) x #

to :: Rep (PrecompiledCache base) x -> PrecompiledCache base #

Show (PrecompiledCache base) Source # 
Instance details

Defined in Stack.Types.Build

Methods

showsPrec :: Int -> PrecompiledCache base -> ShowS #

show :: PrecompiledCache base -> String #

showList :: [PrecompiledCache base] -> ShowS #

NFData (PrecompiledCache Abs) Source # 
Instance details

Defined in Stack.Types.Build

Methods

rnf :: PrecompiledCache Abs -> () #

NFData (PrecompiledCache Rel) Source # 
Instance details

Defined in Stack.Types.Build

Methods

rnf :: PrecompiledCache Rel -> () #

Eq (PrecompiledCache base) Source # 
Instance details

Defined in Stack.Types.Build

type Rep (PrecompiledCache base) Source # 
Instance details

Defined in Stack.Types.Build

type Rep (PrecompiledCache base) = D1 ('MetaData "PrecompiledCache" "Stack.Types.Build" "stack-3.1.1-I5OI2i8TUoz1thruFO0H72" 'False) (C1 ('MetaCons "PrecompiledCache" 'PrefixI 'True) (S1 ('MetaSel ('Just "library") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Path base File))) :*: (S1 ('MetaSel ('Just "subLibs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Path base File]) :*: S1 ('MetaSel ('Just "exes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Path base File]))))

data KeepOutputOpen Source #

special marker for expected failures in curator builds, using those we need to keep log handle open as build continues further even after a failure

Constructors

KeepOpen 
CloseOnException 

Instances

Instances details
Eq KeepOutputOpen Source # 
Instance details

Defined in Stack.Types.Build