stack-1.1.2: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Types.BuildPlan

Contents

Description

Shared types for various stackage packages.

Synopsis

Types

data SimpleDesc Source

A simplified package description that tracks:

  • Package dependencies
  • Build tool dependencies
  • Provided executables

It has fully resolved all conditionals

Constructors

SimpleDesc 

Fields

sdPackages :: Map PackageName DepInfo
 
sdTools :: Map ExeName DepInfo
 
sdProvidedExes :: Set ExeName
 
sdModules :: Set Text

modules exported by the library

data Snapshots Source

Most recent Nightly and newest LTS version per major release.

Constructors

Snapshots 

data SnapName Source

The name of an LTS Haskell or Stackage Nightly snapshot.

Constructors

LTS !Int !Int 
Nightly !Day 

data MiniPackageInfo Source

Information on a single package for the MiniBuildPlan.

Constructors

MiniPackageInfo 

Fields

mpiVersion :: !Version
 
mpiFlags :: !(Map FlagName Bool)
 
mpiGhcOptions :: ![Text]
 
mpiPackageDeps :: !(Set PackageName)
 
mpiToolDeps :: !(Set Text)

Due to ambiguity in Cabal, it is unclear whether this refers to the executable name, the package name, or something else. We have to guess based on what's available, which is why we store this is an unwrapped Text.

mpiExes :: !(Set ExeName)

Executables provided by this package

mpiHasLibrary :: !Bool

Is there a library present?

mpiGitSHA1 :: !(Maybe GitSHA1)

An optional SHA1 representation in hex format of the blob containing the cabal file contents. Useful for grabbing the correct cabal file revision directly from a Git repo

data CabalFileInfo Source

Information on the contents of a cabal file

Constructors

CabalFileInfo 

Fields

cfiSize :: !Int

File size in bytes

cfiHashes :: !(Map Text Text)

Various hashes of the file contents

renderSnapName :: SnapName -> Text Source

Convert a SnapName into its short representation, e.g. lts-2.8, nightly-2015-03-05.

parseSnapName :: MonadThrow m => Text -> m SnapName Source

Parse the short representation of a SnapName.