stack-1.4.0: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Types.Build

Description

Build-specific types.

Synopsis

Documentation

data ModTime #

Used for storage and comparison.

Instances

Eq ModTime # 

Methods

(==) :: ModTime -> ModTime -> Bool #

(/=) :: ModTime -> ModTime -> Bool #

Data ModTime # 

Methods

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

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

toConstr :: ModTime -> Constr #

dataTypeOf :: ModTime -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord ModTime # 
Show ModTime # 
Generic ModTime # 

Associated Types

type Rep ModTime :: * -> * #

Methods

from :: ModTime -> Rep ModTime x #

to :: Rep ModTime x -> ModTime #

NFData ModTime # 

Methods

rnf :: ModTime -> () #

Store ModTime # 
type Rep ModTime # 
type Rep ModTime = D1 (MetaData "ModTime" "Stack.Types.Package" "stack-1.4.0-E0LA1QgIJF8CDmgP5PQePZ" True) (C1 (MetaCons "ModTime" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Integer, Rational))))

modTime :: UTCTime -> ModTime #

One-way conversion to serialized time.

class PackageInstallInfo a where #

Datatype which tells how which version of a package to install and where to install it into

Minimal complete definition

piiVersion, piiLocation

data Task #

A task to perform when building

Constructors

Task 

Fields

Instances

Show Task # 

Methods

showsPrec :: Int -> Task -> ShowS #

show :: Task -> String #

showList :: [Task] -> ShowS #

data LocalPackage #

Information on a locally available package of source code

Constructors

LocalPackage 

Fields

data BaseConfigOpts #

Basic information used to calculate what the configure options are

data Plan #

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

Constructors

Plan 

Fields

Instances

Show Plan # 

Methods

showsPrec :: Int -> Plan -> ShowS #

show :: Plan -> String #

showList :: [Plan] -> ShowS #

data TestOpts #

Options for the FinalAction DoTests

Constructors

TestOpts 

Fields

data BenchmarkOpts #

Options for the FinalAction DoBenchmarks

Constructors

BenchmarkOpts 

Fields

data BuildOpts #

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

Constructors

BuildOpts 

Fields

data BuildSubset #

Which subset of packages to build

Constructors

BSAll 
BSOnlySnapshot

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

BSOnlyDependencies 

data TaskType #

The type of a task, either building local code or something from the package index (upstream)

Instances

data TaskConfigOpts #

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

Constructors

TaskConfigOpts 

Fields

newtype BuildCache #

Stored on disk to know whether the files have changed.

Constructors

BuildCache 

Fields

Instances

Eq BuildCache # 
Data BuildCache # 

Methods

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

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

toConstr :: BuildCache -> Constr #

dataTypeOf :: BuildCache -> DataType #

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

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

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

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

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

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

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

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

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

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

Show BuildCache # 
Generic BuildCache # 

Associated Types

type Rep BuildCache :: * -> * #

NFData BuildCache # 

Methods

rnf :: BuildCache -> () #

Store BuildCache # 
type Rep BuildCache # 
type Rep BuildCache = D1 (MetaData "BuildCache" "Stack.Types.Build" "stack-1.4.0-E0LA1QgIJF8CDmgP5PQePZ" True) (C1 (MetaCons "BuildCache" PrefixI True) (S1 (MetaSel (Just Symbol "buildCacheTimes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map FilePath FileCacheInfo))))

data ConfigCache #

Stored on disk to know whether the flags have changed.

Constructors

ConfigCache 

Fields

  • configCacheOpts :: !ConfigureOpts

    All options used for this package.

  • configCacheDeps :: !(Set GhcPkgId)

    The GhcPkgIds of all of the dependencies. Since Cabal doesn't take the complete GhcPkgId (only a PackageIdentifier) in the configure options, just using the previous value is insufficient to know if dependencies have changed.

  • configCacheComponents :: !(Set ByteString)

    The components to be built. It's a bit of a hack to include this in here, as it's not a configure option (just a build option), but this is a convenient way to force compilation when the components change.

  • configCacheHaddock :: !Bool

    Are haddocks to be built?

Instances

Eq ConfigCache # 
Data ConfigCache # 

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 :: (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 #

Show ConfigCache # 
Generic ConfigCache # 

Associated Types

type Rep ConfigCache :: * -> * #

NFData ConfigCache # 

Methods

rnf :: ConfigCache -> () #

Store ConfigCache # 
type Rep ConfigCache # 
type Rep ConfigCache = D1 (MetaData "ConfigCache" "Stack.Types.Build" "stack-1.4.0-E0LA1QgIJF8CDmgP5PQePZ" False) (C1 (MetaCons "ConfigCache" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "configCacheOpts") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ConfigureOpts)) (S1 (MetaSel (Just Symbol "configCacheDeps") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Set GhcPkgId)))) ((:*:) (S1 (MetaSel (Just Symbol "configCacheComponents") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Set ByteString))) (S1 (MetaSel (Just Symbol "configCacheHaddock") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Bool)))))

configureOpts #

Arguments

:: EnvConfig 
-> BaseConfigOpts 
-> Map PackageIdentifier GhcPkgId

dependencies

-> Bool

local non-extra-dep?

-> InstallLocation 
-> Package 
-> ConfigureOpts 

Render a BaseConfigOpts to an actual list of options

wantedLocalPackages :: [LocalPackage] -> Set PackageName #

Get set of wanted package names from locals.

data FileCacheInfo #

Constructors

FileCacheInfo 

Instances

Eq FileCacheInfo # 
Data FileCacheInfo # 

Methods

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

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

toConstr :: FileCacheInfo -> Constr #

dataTypeOf :: FileCacheInfo -> DataType #

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

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

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

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

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

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

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

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

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

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

Show FileCacheInfo # 
Generic FileCacheInfo # 

Associated Types

type Rep FileCacheInfo :: * -> * #

NFData FileCacheInfo # 

Methods

rnf :: FileCacheInfo -> () #

Store FileCacheInfo # 
type Rep FileCacheInfo # 
type Rep FileCacheInfo = D1 (MetaData "FileCacheInfo" "Stack.Types.Package" "stack-1.4.0-E0LA1QgIJF8CDmgP5PQePZ" False) (C1 (MetaCons "FileCacheInfo" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "fciModTime") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ModTime)) ((:*:) (S1 (MetaSel (Just Symbol "fciSize") NoSourceUnpackedness SourceStrict DecidedUnpack) (Rec0 Word64)) (S1 (MetaSel (Just Symbol "fciHash") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ByteString)))))

data ConfigureOpts #

Configure options to be sent to Setup.hs configure

Constructors

ConfigureOpts 

Fields

  • coDirs :: ![String]

    Options related to various paths. We separate these out since they do not have an impact on the contents of the compiled binary for checking if we can use an existing precompiled cache.

  • coNoDirs :: ![String]
     

Instances

Eq ConfigureOpts # 
Data ConfigureOpts # 

Methods

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

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

toConstr :: ConfigureOpts -> Constr #

dataTypeOf :: ConfigureOpts -> DataType #

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

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

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

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

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

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

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

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

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

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

Show ConfigureOpts # 
Generic ConfigureOpts # 

Associated Types

type Rep ConfigureOpts :: * -> * #

NFData ConfigureOpts # 

Methods

rnf :: ConfigureOpts -> () #

Store ConfigureOpts # 
type Rep ConfigureOpts # 
type Rep ConfigureOpts = D1 (MetaData "ConfigureOpts" "Stack.Types.Build" "stack-1.4.0-E0LA1QgIJF8CDmgP5PQePZ" False) (C1 (MetaCons "ConfigureOpts" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "coDirs") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [String])) (S1 (MetaSel (Just Symbol "coNoDirs") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [String]))))

data PrecompiledCache #

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

Constructors

PrecompiledCache 

Fields

Instances

Eq PrecompiledCache # 
Data PrecompiledCache # 

Methods

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

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

toConstr :: PrecompiledCache -> Constr #

dataTypeOf :: PrecompiledCache -> DataType #

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

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

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

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

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

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

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

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

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

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

Show PrecompiledCache # 
Generic PrecompiledCache # 
Binary PrecompiledCache # 
HasStructuralInfo PrecompiledCache # 
HasSemanticVersion PrecompiledCache # 

Associated Types

type SemanticVersion PrecompiledCache :: Nat #

NFData PrecompiledCache # 

Methods

rnf :: PrecompiledCache -> () #

Store PrecompiledCache # 
type Rep PrecompiledCache # 
type Rep PrecompiledCache = D1 (MetaData "PrecompiledCache" "Stack.Types.Build" "stack-1.4.0-E0LA1QgIJF8CDmgP5PQePZ" False) (C1 (MetaCons "PrecompiledCache" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "pcLibrary") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe FilePath))) (S1 (MetaSel (Just Symbol "pcExes") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [FilePath]))))
type SemanticVersion PrecompiledCache #