stack-0.1.6.0: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Types.Build

Description

Build-specific types.

Synopsis

Documentation

data ModTime Source

Used for storage and comparison.

Instances

Eq ModTime Source 

Methods

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

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

Ord ModTime Source 
Show ModTime Source 
Generic ModTime Source 

Associated Types

type Rep ModTime :: * -> *

Methods

from :: ModTime -> Rep ModTime x

to :: Rep ModTime x -> ModTime

Binary ModTime Source 

Methods

put :: ModTime -> Put

get :: Get ModTime

NFData ModTime Source 

Methods

rnf :: ModTime -> ()

HasStructuralInfo ModTime Source 

Methods

structuralInfo :: Proxy * ModTime -> StructuralInfo

HasSemanticVersion ModTime Source 

Associated Types

type SemanticVersion ModTime :: Nat

type Rep ModTime Source 
type SemanticVersion ModTime = 0 

modTime :: UTCTime -> ModTime Source

One-way conversion to serialized time.

class PackageInstallInfo a where Source

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

data Task Source

A task to perform when building

Constructors

Task 

Fields

Instances

data LocalPackage Source

Information on a locally available package of source code

Constructors

LocalPackage 

Fields

data BaseConfigOpts Source

Basic information used to calculate what the configure options are

data Plan Source

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

Constructors

Plan 

Fields

Instances

data TestOpts Source

Options for the FinalAction DoTests

Constructors

TestOpts 

Fields

data BenchmarkOpts Source

Options for the FinalAction DoBenchmarks

Constructors

BenchmarkOpts 

Fields

data BuildOpts Source

Configuration for building.

Constructors

BuildOpts 

Fields

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 

data TaskType Source

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

data TaskConfigOpts Source

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

Constructors

TaskConfigOpts 

Fields

data ConfigCache Source

Stored on disk to know whether the flags have changed or any files 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 Source 
Show ConfigCache Source 
Generic ConfigCache Source 

Associated Types

type Rep ConfigCache :: * -> *

Binary ConfigCache Source 
NFData ConfigCache Source 

Methods

rnf :: ConfigCache -> ()

HasStructuralInfo ConfigCache Source 

Methods

structuralInfo :: Proxy * ConfigCache -> StructuralInfo

HasSemanticVersion ConfigCache Source 

Associated Types

type SemanticVersion ConfigCache :: Nat

type Rep ConfigCache Source 
type SemanticVersion ConfigCache = 0 

configureOpts Source

Arguments

:: EnvConfig 
-> BaseConfigOpts 
-> Map PackageIdentifier GhcPkgId

dependencies

-> Bool

wanted?

-> Bool

local non-extra-dep?

-> InstallLocation 
-> Package 
-> ConfigureOpts 

Render a BaseConfigOpts to an actual list of options

wantedLocalPackages :: [LocalPackage] -> Set PackageName Source

Get set of wanted package names from locals.

data ConfigureOpts Source

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]
     

data PrecompiledCache Source

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

Constructors

PrecompiledCache 

Fields