stack-1.4.0: The Haskell Tool Stack

Safe Haskell | None
Language | Haskell2010

Stack.Types.BuildPlan

Contents

- Types

Description

Shared types for various stackage packages.

Synopsis

- data BuildPlan = BuildPlan {
  - bpSystemInfo :: SystemInfo
  - bpTools :: Vector (PackageName, Version)
  - bpPackages :: Map PackageName PackagePlan
  - bpGithubUsers :: Map Text (Set Text)
  }
- data PackagePlan = PackagePlan {
  - ppVersion :: Version
  - ppCabalFileInfo :: Maybe CabalFileInfo
  - ppGithubPings :: Set Text
  - ppUsers :: Set PackageName
  - ppConstraints :: PackageConstraints
  - ppDesc :: SimpleDesc
  }
- data PackageConstraints = PackageConstraints {
  - pcVersionRange :: VersionRange
  - pcMaintainer :: Maybe Maintainer
  - pcTests :: TestState
  - pcHaddocks :: TestState
  - pcBuildBenchmarks :: Bool
  - pcFlagOverrides :: Map FlagName Bool
  - pcEnableLibProfile :: Bool
  - pcHide :: Bool
  }
- data TestState
  - = ExpectSuccess
  - | ExpectFailure
  - | Don'tBuild
- data SystemInfo = SystemInfo {
  - siCompilerVersion :: CompilerVersion
  - siOS :: OS
  - siArch :: Arch
  - siCorePackages :: Map PackageName Version
  - siCoreExecutables :: Set ExeName
  }
- newtype Maintainer = Maintainer {
  - unMaintainer :: Text
  }
- newtype ExeName = ExeName {
  - unExeName :: Text
  }
- data SimpleDesc = SimpleDesc {
  - sdPackages :: Map PackageName DepInfo
  - sdTools :: Map ExeName DepInfo
  - sdProvidedExes :: Set ExeName
  - sdModules :: Set Text
  }
- data Snapshots = Snapshots {
  - snapshotsNightly :: !Day
  - snapshotsLts :: !(IntMap Int)
  }
- data DepInfo = DepInfo {
  - diComponents :: Set Component
  - diRange :: VersionRange
  }
- data Component
  - = CompLibrary
  - | CompExecutable
  - | CompTestSuite
  - | CompBenchmark
- data SnapName
  - = LTS !Int !Int
  - | Nightly !Day
- data MiniBuildPlan = MiniBuildPlan {
  - mbpCompilerVersion :: !CompilerVersion
  - mbpPackages :: !(Map PackageName MiniPackageInfo)
  }
- miniBuildPlanVC :: VersionConfig MiniBuildPlan
- data MiniPackageInfo = MiniPackageInfo {
  - mpiVersion :: !Version
  - mpiFlags :: !(Map FlagName Bool)
  - mpiGhcOptions :: ![Text]
  - mpiPackageDeps :: !(Set PackageName)
  - mpiToolDeps :: !(Set Text)
  - mpiExes :: !(Set ExeName)
  - mpiHasLibrary :: !Bool
  - mpiGitSHA1 :: !(Maybe GitSHA1)
  }
- data CabalFileInfo = CabalFileInfo {
  - cfiSize :: !Int
  - cfiHashes :: !(Map Text Text)
  }
- newtype GitSHA1 = GitSHA1 ByteString
- renderSnapName :: SnapName -> Text
- parseSnapName :: MonadThrow m => Text -> m SnapName
- newtype SnapshotHash = SnapshotHash {
  - unShapshotHash :: ByteString
  }
- trimmedSnapshotHash :: SnapshotHash -> ByteString
- newtype ModuleName = ModuleName {
  - unModuleName :: ByteString
  }
- data ModuleInfo = ModuleInfo {
  - miCorePackages :: !(Set PackageName)
  - miModules :: !(Map ModuleName (Set PackageName))
  }
- moduleInfoVC :: VersionConfig ModuleInfo

# Types

data BuildPlan #

Constructors

BuildPlan |
Fields bpSystemInfo :: SystemInfo bpTools :: Vector (PackageName, Version) bpPackages :: Map PackageName PackagePlan bpGithubUsers :: Map Text (Set Text)

Instances

Eq BuildPlan # |
Methods (==) :: BuildPlan -> BuildPlan -> Bool # (/=) :: BuildPlan -> BuildPlan -> Bool #
Show BuildPlan # |
Methods showsPrec :: Int -> BuildPlan -> ShowS # show :: BuildPlan -> String # showList :: [BuildPlan] -> ShowS #
FromJSON BuildPlan # |
Methods parseJSON :: Value -> Parser BuildPlan # parseJSONList :: Value -> Parser [BuildPlan] #
ToJSON BuildPlan # |
Methods toJSON :: BuildPlan -> Value # toEncoding :: BuildPlan -> Encoding # toJSONList :: [BuildPlan] -> Value # toEncodingList :: [BuildPlan] -> Encoding #

data PackagePlan #

Constructors

PackagePlan |
Fields ppVersion :: Version ppCabalFileInfo :: Maybe CabalFileInfo ppGithubPings :: Set Text ppUsers :: Set PackageName ppConstraints :: PackageConstraints ppDesc :: SimpleDesc

Instances

Eq PackagePlan # |
Methods (==) :: PackagePlan -> PackagePlan -> Bool # (/=) :: PackagePlan -> PackagePlan -> Bool #
Show PackagePlan # |
Methods showsPrec :: Int -> PackagePlan -> ShowS # show :: PackagePlan -> String # showList :: [PackagePlan] -> ShowS #
FromJSON PackagePlan # |
Methods parseJSON :: Value -> Parser PackagePlan # parseJSONList :: Value -> Parser [PackagePlan] #
ToJSON PackagePlan # |
Methods toJSON :: PackagePlan -> Value # toEncoding :: PackagePlan -> Encoding # toJSONList :: [PackagePlan] -> Value # toEncodingList :: [PackagePlan] -> Encoding #

data PackageConstraints #

Constructors

PackageConstraints |
Fields pcVersionRange :: VersionRange pcMaintainer :: Maybe Maintainer pcTests :: TestState pcHaddocks :: TestState pcBuildBenchmarks :: Bool pcFlagOverrides :: Map FlagName Bool pcEnableLibProfile :: Bool pcHide :: Bool

Instances

Eq PackageConstraints # |
Methods (==) :: PackageConstraints -> PackageConstraints -> Bool # (/=) :: PackageConstraints -> PackageConstraints -> Bool #
Show PackageConstraints # |
Methods showsPrec :: Int -> PackageConstraints -> ShowS # show :: PackageConstraints -> String # showList :: [PackageConstraints] -> ShowS #
FromJSON PackageConstraints # |
Methods parseJSON :: Value -> Parser PackageConstraints # parseJSONList :: Value -> Parser [PackageConstraints] #
ToJSON PackageConstraints # |
Methods toJSON :: PackageConstraints -> Value # toEncoding :: PackageConstraints -> Encoding # toJSONList :: [PackageConstraints] -> Value # toEncodingList :: [PackageConstraints] -> Encoding #

data TestState #

Constructors

ExpectSuccess |
ExpectFailure |
Don'tBuild | when the test suite will pull in things we don't want

Instances

Bounded TestState # |
Methods minBound :: TestState # maxBound :: TestState #
Enum TestState # |
Methods succ :: TestState -> TestState # pred :: TestState -> TestState # toEnum :: Int -> TestState # fromEnum :: TestState -> Int # enumFrom :: TestState -> [TestState] # enumFromThen :: TestState -> TestState -> [TestState] # enumFromTo :: TestState -> TestState -> [TestState] # enumFromThenTo :: TestState -> TestState -> TestState -> [TestState] #
Eq TestState # |
Methods (==) :: TestState -> TestState -> Bool # (/=) :: TestState -> TestState -> Bool #
Ord TestState # |
Methods compare :: TestState -> TestState -> Ordering # (<) :: TestState -> TestState -> Bool # (<=) :: TestState -> TestState -> Bool # (>) :: TestState -> TestState -> Bool # (>=) :: TestState -> TestState -> Bool # max :: TestState -> TestState -> TestState # min :: TestState -> TestState -> TestState #
Show TestState # |
Methods showsPrec :: Int -> TestState -> ShowS # show :: TestState -> String # showList :: [TestState] -> ShowS #
FromJSON TestState # |
Methods parseJSON :: Value -> Parser TestState # parseJSONList :: Value -> Parser [TestState] #
ToJSON TestState # |
Methods toJSON :: TestState -> Value # toEncoding :: TestState -> Encoding # toJSONList :: [TestState] -> Value # toEncodingList :: [TestState] -> Encoding #

data SystemInfo #

Constructors

SystemInfo |
Fields siCompilerVersion :: CompilerVersion siOS :: OS siArch :: Arch siCorePackages :: Map PackageName Version siCoreExecutables :: Set ExeName

Instances

Eq SystemInfo # |
Methods (==) :: SystemInfo -> SystemInfo -> Bool # (/=) :: SystemInfo -> SystemInfo -> Bool #
Ord SystemInfo # |
Methods compare :: SystemInfo -> SystemInfo -> Ordering # (<) :: SystemInfo -> SystemInfo -> Bool # (<=) :: SystemInfo -> SystemInfo -> Bool # (>) :: SystemInfo -> SystemInfo -> Bool # (>=) :: SystemInfo -> SystemInfo -> Bool # max :: SystemInfo -> SystemInfo -> SystemInfo # min :: SystemInfo -> SystemInfo -> SystemInfo #
Show SystemInfo # |
Methods showsPrec :: Int -> SystemInfo -> ShowS # show :: SystemInfo -> String # showList :: [SystemInfo] -> ShowS #
FromJSON SystemInfo # |
Methods parseJSON :: Value -> Parser SystemInfo # parseJSONList :: Value -> Parser [SystemInfo] #
ToJSON SystemInfo # |
Methods toJSON :: SystemInfo -> Value # toEncoding :: SystemInfo -> Encoding # toJSONList :: [SystemInfo] -> Value # toEncodingList :: [SystemInfo] -> Encoding #

newtype Maintainer #

Constructors

Maintainer |
Fields unMaintainer :: Text

Instances

Eq Maintainer # |
Methods (==) :: Maintainer -> Maintainer -> Bool # (/=) :: Maintainer -> Maintainer -> Bool #
Ord Maintainer # |
Methods compare :: Maintainer -> Maintainer -> Ordering # (<) :: Maintainer -> Maintainer -> Bool # (<=) :: Maintainer -> Maintainer -> Bool # (>) :: Maintainer -> Maintainer -> Bool # (>=) :: Maintainer -> Maintainer -> Bool # max :: Maintainer -> Maintainer -> Maintainer # min :: Maintainer -> Maintainer -> Maintainer #
Show Maintainer # |
Methods showsPrec :: Int -> Maintainer -> ShowS # show :: Maintainer -> String # showList :: [Maintainer] -> ShowS #
IsString Maintainer # |
Methods fromString :: String -> Maintainer #
Hashable Maintainer # |
Methods hashWithSalt :: Int -> Maintainer -> Int # hash :: Maintainer -> Int #
FromJSON Maintainer # |
Methods parseJSON :: Value -> Parser Maintainer # parseJSONList :: Value -> Parser [Maintainer] #
ToJSON Maintainer # |
Methods toJSON :: Maintainer -> Value # toEncoding :: Maintainer -> Encoding # toJSONList :: [Maintainer] -> Value # toEncodingList :: [Maintainer] -> Encoding #

newtype ExeName #

Name of an executable.

Constructors

ExeName |
Fields unExeName :: Text

Instances

Eq ExeName # |
Methods (==) :: ExeName -> ExeName -> Bool # (/=) :: ExeName -> ExeName -> Bool #
Data ExeName # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExeName -> c ExeName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExeName # toConstr :: ExeName -> Constr # dataTypeOf :: ExeName -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ExeName) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExeName) # gmapT :: (forall b. Data b => b -> b) -> ExeName -> ExeName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExeName -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExeName -> r # gmapQ :: (forall d. Data d => d -> u) -> ExeName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ExeName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExeName -> m ExeName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExeName -> m ExeName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExeName -> m ExeName #
Ord ExeName # |
Methods compare :: ExeName -> ExeName -> Ordering # (<) :: ExeName -> ExeName -> Bool # (<=) :: ExeName -> ExeName -> Bool # (>) :: ExeName -> ExeName -> Bool # (>=) :: ExeName -> ExeName -> Bool # max :: ExeName -> ExeName -> ExeName # min :: ExeName -> ExeName -> ExeName #
Show ExeName # |
Methods showsPrec :: Int -> ExeName -> ShowS # show :: ExeName -> String # showList :: [ExeName] -> ShowS #
IsString ExeName # |
Methods fromString :: String -> ExeName #
Generic ExeName # |
Associated Types type Rep ExeName :: * -> * # Methods from :: ExeName -> Rep ExeName x # to :: Rep ExeName x -> ExeName #
Hashable ExeName # |
Methods hashWithSalt :: Int -> ExeName -> Int # hash :: ExeName -> Int #
FromJSON ExeName # |
Methods parseJSON :: Value -> Parser ExeName # parseJSONList :: Value -> Parser [ExeName] #
FromJSONKey ExeName # |
Methods fromJSONKey :: FromJSONKeyFunction ExeName # fromJSONKeyList :: FromJSONKeyFunction [ExeName] #
ToJSON ExeName # |
Methods toJSON :: ExeName -> Value # toEncoding :: ExeName -> Encoding # toJSONList :: [ExeName] -> Value # toEncodingList :: [ExeName] -> Encoding #
ToJSONKey ExeName # |
Methods toJSONKey :: ToJSONKeyFunction ExeName # toJSONKeyList :: ToJSONKeyFunction [ExeName] #
NFData ExeName # |
Methods rnf :: ExeName -> () #
Store ExeName # |
Methods size :: Size ExeName # poke :: ExeName -> Poke () # peek :: Peek ExeName #
type Rep ExeName # |
type Rep ExeName = D1 (MetaData "ExeName" "Stack.Types.BuildPlan" "stack-1.4.0-5VbagGyw9hyAgBJq8WQvrq" True) (C1 (MetaCons "ExeName" PrefixI True) (S1 (MetaSel (Just Symbol "unExeName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data SimpleDesc #

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

Instances

Eq SimpleDesc # |
Methods (==) :: SimpleDesc -> SimpleDesc -> Bool # (/=) :: SimpleDesc -> SimpleDesc -> Bool #
Show SimpleDesc # |
Methods showsPrec :: Int -> SimpleDesc -> ShowS # show :: SimpleDesc -> String # showList :: [SimpleDesc] -> ShowS #
Monoid SimpleDesc # |
Methods mempty :: SimpleDesc # mappend :: SimpleDesc -> SimpleDesc -> SimpleDesc # mconcat :: [SimpleDesc] -> SimpleDesc #
FromJSON SimpleDesc # |
Methods parseJSON :: Value -> Parser SimpleDesc # parseJSONList :: Value -> Parser [SimpleDesc] #
ToJSON SimpleDesc # |
Methods toJSON :: SimpleDesc -> Value # toEncoding :: SimpleDesc -> Encoding # toJSONList :: [SimpleDesc] -> Value # toEncodingList :: [SimpleDesc] -> Encoding #

data Snapshots #

Most recent Nightly and newest LTS version per major release.

Constructors

Snapshots |
Fields snapshotsNightly :: !Day snapshotsLts :: !(IntMap Int)

Instances

Show Snapshots # |
Methods showsPrec :: Int -> Snapshots -> ShowS # show :: Snapshots -> String # showList :: [Snapshots] -> ShowS #
FromJSON Snapshots # |
Methods parseJSON :: Value -> Parser Snapshots # parseJSONList :: Value -> Parser [Snapshots] #

data DepInfo #

Constructors

DepInfo |
Fields diComponents :: Set Component diRange :: VersionRange

Instances

Eq DepInfo # |
Methods (==) :: DepInfo -> DepInfo -> Bool # (/=) :: DepInfo -> DepInfo -> Bool #
Show DepInfo # |
Methods showsPrec :: Int -> DepInfo -> ShowS # show :: DepInfo -> String # showList :: [DepInfo] -> ShowS #
Monoid DepInfo # |
Methods mempty :: DepInfo # mappend :: DepInfo -> DepInfo -> DepInfo # mconcat :: [DepInfo] -> DepInfo #
FromJSON DepInfo # |
Methods parseJSON :: Value -> Parser DepInfo # parseJSONList :: Value -> Parser [DepInfo] #
ToJSON DepInfo # |
Methods toJSON :: DepInfo -> Value # toEncoding :: DepInfo -> Encoding # toJSONList :: [DepInfo] -> Value # toEncodingList :: [DepInfo] -> Encoding #

data Component #

Constructors

CompLibrary |
CompExecutable |
CompTestSuite |
CompBenchmark |

Instances

Bounded Component # |
Methods minBound :: Component # maxBound :: Component #
Enum Component # |
Methods succ :: Component -> Component # pred :: Component -> Component # toEnum :: Int -> Component # fromEnum :: Component -> Int # enumFrom :: Component -> [Component] # enumFromThen :: Component -> Component -> [Component] # enumFromTo :: Component -> Component -> [Component] # enumFromThenTo :: Component -> Component -> Component -> [Component] #
Eq Component # |
Methods (==) :: Component -> Component -> Bool # (/=) :: Component -> Component -> Bool #
Ord Component # |
Methods compare :: Component -> Component -> Ordering # (<) :: Component -> Component -> Bool # (<=) :: Component -> Component -> Bool # (>) :: Component -> Component -> Bool # (>=) :: Component -> Component -> Bool # max :: Component -> Component -> Component # min :: Component -> Component -> Component #
Read Component # |
Methods readsPrec :: Int -> ReadS Component # readList :: ReadS [Component] # readPrec :: ReadPrec Component # readListPrec :: ReadPrec [Component] #
Show Component # |
Methods showsPrec :: Int -> Component -> ShowS # show :: Component -> String # showList :: [Component] -> ShowS #
FromJSON Component # |
Methods parseJSON :: Value -> Parser Component # parseJSONList :: Value -> Parser [Component] #
ToJSON Component # |
Methods toJSON :: Component -> Value # toEncoding :: Component -> Encoding # toJSONList :: [Component] -> Value # toEncodingList :: [Component] -> Encoding #

data SnapName #

The name of an LTS Haskell or Stackage Nightly snapshot.

Constructors

LTS !Int !Int |
Nightly !Day |

Instances

Eq SnapName # |
Methods (==) :: SnapName -> SnapName -> Bool # (/=) :: SnapName -> SnapName -> Bool #
Ord SnapName # |
Methods compare :: SnapName -> SnapName -> Ordering # (<) :: SnapName -> SnapName -> Bool # (<=) :: SnapName -> SnapName -> Bool # (>) :: SnapName -> SnapName -> Bool # (>=) :: SnapName -> SnapName -> Bool # max :: SnapName -> SnapName -> SnapName # min :: SnapName -> SnapName -> SnapName #
Show SnapName # |
Methods showsPrec :: Int -> SnapName -> ShowS # show :: SnapName -> String # showList :: [SnapName] -> ShowS #

data MiniBuildPlan #

A simplified version of the `BuildPlan` + cabal file.

Constructors

MiniBuildPlan |
Fields mbpCompilerVersion :: !CompilerVersion mbpPackages :: !(Map PackageName MiniPackageInfo)

Instances

Eq MiniBuildPlan # |
Methods (==) :: MiniBuildPlan -> MiniBuildPlan -> Bool # (/=) :: MiniBuildPlan -> MiniBuildPlan -> Bool #
Data MiniBuildPlan # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MiniBuildPlan -> c MiniBuildPlan # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MiniBuildPlan # toConstr :: MiniBuildPlan -> Constr # dataTypeOf :: MiniBuildPlan -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c MiniBuildPlan) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MiniBuildPlan) # gmapT :: (forall b. Data b => b -> b) -> MiniBuildPlan -> MiniBuildPlan # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MiniBuildPlan -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MiniBuildPlan -> r # gmapQ :: (forall d. Data d => d -> u) -> MiniBuildPlan -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MiniBuildPlan -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MiniBuildPlan -> m MiniBuildPlan # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MiniBuildPlan -> m MiniBuildPlan # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MiniBuildPlan -> m MiniBuildPlan #
Show MiniBuildPlan # |
Methods showsPrec :: Int -> MiniBuildPlan -> ShowS # show :: MiniBuildPlan -> String # showList :: [MiniBuildPlan] -> ShowS #
Generic MiniBuildPlan # |
Associated Types type Rep MiniBuildPlan :: * -> * # Methods from :: MiniBuildPlan -> Rep MiniBuildPlan x # to :: Rep MiniBuildPlan x -> MiniBuildPlan #
NFData MiniBuildPlan # |
Methods rnf :: MiniBuildPlan -> () #
Store MiniBuildPlan # |
Methods size :: Size MiniBuildPlan # poke :: MiniBuildPlan -> Poke () # peek :: Peek MiniBuildPlan #
type Rep MiniBuildPlan # |
type Rep MiniBuildPlan = D1 (MetaData "MiniBuildPlan" "Stack.Types.BuildPlan" "stack-1.4.0-5VbagGyw9hyAgBJq8WQvrq" False) (C1 (MetaCons "MiniBuildPlan" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "mbpCompilerVersion") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 CompilerVersion)) (S1 (MetaSel (Just Symbol "mbpPackages") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map PackageName MiniPackageInfo)))))

miniBuildPlanVC :: VersionConfig MiniBuildPlan #

data MiniPackageInfo #

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

Instances

Eq MiniPackageInfo # |
Methods (==) :: MiniPackageInfo -> MiniPackageInfo -> Bool # (/=) :: MiniPackageInfo -> MiniPackageInfo -> Bool #
Data MiniPackageInfo # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MiniPackageInfo -> c MiniPackageInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MiniPackageInfo # toConstr :: MiniPackageInfo -> Constr # dataTypeOf :: MiniPackageInfo -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c MiniPackageInfo) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MiniPackageInfo) # gmapT :: (forall b. Data b => b -> b) -> MiniPackageInfo -> MiniPackageInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MiniPackageInfo -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MiniPackageInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> MiniPackageInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MiniPackageInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MiniPackageInfo -> m MiniPackageInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MiniPackageInfo -> m MiniPackageInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MiniPackageInfo -> m MiniPackageInfo #
Show MiniPackageInfo # |
Methods showsPrec :: Int -> MiniPackageInfo -> ShowS # show :: MiniPackageInfo -> String # showList :: [MiniPackageInfo] -> ShowS #
Generic MiniPackageInfo # |
Associated Types type Rep MiniPackageInfo :: * -> * # Methods from :: MiniPackageInfo -> Rep MiniPackageInfo x # to :: Rep MiniPackageInfo x -> MiniPackageInfo #
NFData MiniPackageInfo # |
Methods rnf :: MiniPackageInfo -> () #
Store MiniPackageInfo # |
Methods size :: Size MiniPackageInfo # poke :: MiniPackageInfo -> Poke () # peek :: Peek MiniPackageInfo #
type Rep MiniPackageInfo # |
type Rep MiniPackageInfo = D1 (MetaData "MiniPackageInfo" "Stack.Types.BuildPlan" "stack-1.4.0-5VbagGyw9hyAgBJq8WQvrq" False) (C1 (MetaCons "MiniPackageInfo" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "mpiVersion") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Version)) (S1 (MetaSel (Just Symbol "mpiFlags") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map FlagName Bool)))) ((:*:) (S1 (MetaSel (Just Symbol "mpiGhcOptions") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [Text])) (S1 (MetaSel (Just Symbol "mpiPackageDeps") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Set PackageName))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "mpiToolDeps") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Set Text))) (S1 (MetaSel (Just Symbol "mpiExes") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Set ExeName)))) ((:*:) (S1 (MetaSel (Just Symbol "mpiHasLibrary") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "mpiGitSHA1") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe GitSHA1)))))))

data CabalFileInfo #

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

Instances

Eq CabalFileInfo # |
Methods (==) :: CabalFileInfo -> CabalFileInfo -> Bool # (/=) :: CabalFileInfo -> CabalFileInfo -> Bool #
Show CabalFileInfo # |
Methods showsPrec :: Int -> CabalFileInfo -> ShowS # show :: CabalFileInfo -> String # showList :: [CabalFileInfo] -> ShowS #
Generic CabalFileInfo # |
Associated Types type Rep CabalFileInfo :: * -> * # Methods from :: CabalFileInfo -> Rep CabalFileInfo x # to :: Rep CabalFileInfo x -> CabalFileInfo #
FromJSON CabalFileInfo # |
Methods parseJSON :: Value -> Parser CabalFileInfo # parseJSONList :: Value -> Parser [CabalFileInfo] #
ToJSON CabalFileInfo # |
Methods toJSON :: CabalFileInfo -> Value # toEncoding :: CabalFileInfo -> Encoding # toJSONList :: [CabalFileInfo] -> Value # toEncodingList :: [CabalFileInfo] -> Encoding #
type Rep CabalFileInfo # |
type Rep CabalFileInfo = D1 (MetaData "CabalFileInfo" "Stack.Types.BuildPlan" "stack-1.4.0-5VbagGyw9hyAgBJq8WQvrq" False) (C1 (MetaCons "CabalFileInfo" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "cfiSize") NoSourceUnpackedness SourceStrict DecidedUnpack) (Rec0 Int)) (S1 (MetaSel (Just Symbol "cfiHashes") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map Text Text)))))

newtype GitSHA1 #

Constructors

GitSHA1 ByteString |

Instances

Eq GitSHA1 # |
Methods (==) :: GitSHA1 -> GitSHA1 -> Bool # (/=) :: GitSHA1 -> GitSHA1 -> Bool #
Data GitSHA1 # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GitSHA1 -> c GitSHA1 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GitSHA1 # toConstr :: GitSHA1 -> Constr # dataTypeOf :: GitSHA1 -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c GitSHA1) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GitSHA1) # gmapT :: (forall b. Data b => b -> b) -> GitSHA1 -> GitSHA1 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GitSHA1 -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GitSHA1 -> r # gmapQ :: (forall d. Data d => d -> u) -> GitSHA1 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> GitSHA1 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> GitSHA1 -> m GitSHA1 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GitSHA1 -> m GitSHA1 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GitSHA1 -> m GitSHA1 #
Ord GitSHA1 # |
Methods compare :: GitSHA1 -> GitSHA1 -> Ordering # (<) :: GitSHA1 -> GitSHA1 -> Bool # (<=) :: GitSHA1 -> GitSHA1 -> Bool # (>) :: GitSHA1 -> GitSHA1 -> Bool # (>=) :: GitSHA1 -> GitSHA1 -> Bool # max :: GitSHA1 -> GitSHA1 -> GitSHA1 # min :: GitSHA1 -> GitSHA1 -> GitSHA1 #
Show GitSHA1 # |
Methods showsPrec :: Int -> GitSHA1 -> ShowS # show :: GitSHA1 -> String # showList :: [GitSHA1] -> ShowS #
Generic GitSHA1 # |
Associated Types type Rep GitSHA1 :: * -> * # Methods from :: GitSHA1 -> Rep GitSHA1 x # to :: Rep GitSHA1 x -> GitSHA1 #
Hashable GitSHA1 # |
Methods hashWithSalt :: Int -> GitSHA1 -> Int # hash :: GitSHA1 -> Int #
NFData GitSHA1 # |
Methods rnf :: GitSHA1 -> () #
Store GitSHA1 # |
Methods size :: Size GitSHA1 # poke :: GitSHA1 -> Poke () # peek :: Peek GitSHA1 #
type Rep GitSHA1 # |
type Rep GitSHA1 = D1 (MetaData "GitSHA1" "Stack.Types.BuildPlan" "stack-1.4.0-5VbagGyw9hyAgBJq8WQvrq" True) (C1 (MetaCons "GitSHA1" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString)))

renderSnapName :: SnapName -> Text #

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

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

Parse the short representation of a `SnapName`.

newtype SnapshotHash #

Constructors

SnapshotHash |
Fields unShapshotHash :: ByteString

Instances

Eq SnapshotHash # |
Methods (==) :: SnapshotHash -> SnapshotHash -> Bool # (/=) :: SnapshotHash -> SnapshotHash -> Bool #
Show SnapshotHash # |
Methods showsPrec :: Int -> SnapshotHash -> ShowS # show :: SnapshotHash -> String # showList :: [SnapshotHash] -> ShowS #
Generic SnapshotHash # |
Associated Types type Rep SnapshotHash :: * -> * # Methods from :: SnapshotHash -> Rep SnapshotHash x # to :: Rep SnapshotHash x -> SnapshotHash #
type Rep SnapshotHash # |
type Rep SnapshotHash = D1 (MetaData "SnapshotHash" "Stack.Types.BuildPlan" "stack-1.4.0-5VbagGyw9hyAgBJq8WQvrq" True) (C1 (MetaCons "SnapshotHash" PrefixI True) (S1 (MetaSel (Just Symbol "unShapshotHash") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString)))

trimmedSnapshotHash :: SnapshotHash -> ByteString #

newtype ModuleName #

Constructors

ModuleName |
Fields unModuleName :: ByteString

Instances

Eq ModuleName # |
Methods (==) :: ModuleName -> ModuleName -> Bool # (/=) :: ModuleName -> ModuleName -> Bool #
Data ModuleName # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModuleName -> c ModuleName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ModuleName # toConstr :: ModuleName -> Constr # dataTypeOf :: ModuleName -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ModuleName) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ModuleName) # gmapT :: (forall b. Data b => b -> b) -> ModuleName -> ModuleName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleName -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleName -> r # gmapQ :: (forall d. Data d => d -> u) -> ModuleName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName #
Ord ModuleName # |
Methods compare :: ModuleName -> ModuleName -> Ordering # (<) :: ModuleName -> ModuleName -> Bool # (<=) :: ModuleName -> ModuleName -> Bool # (>) :: ModuleName -> ModuleName -> Bool # (>=) :: ModuleName -> ModuleName -> Bool # max :: ModuleName -> ModuleName -> ModuleName # min :: ModuleName -> ModuleName -> ModuleName #
Show ModuleName # |
Methods showsPrec :: Int -> ModuleName -> ShowS # show :: ModuleName -> String # showList :: [ModuleName] -> ShowS #
Generic ModuleName # |
Associated Types type Rep ModuleName :: * -> * # Methods from :: ModuleName -> Rep ModuleName x # to :: Rep ModuleName x -> ModuleName #
NFData ModuleName # |
Methods rnf :: ModuleName -> () #
Store ModuleName # |
Methods size :: Size ModuleName # poke :: ModuleName -> Poke () # peek :: Peek ModuleName #
type Rep ModuleName # |
type Rep ModuleName = D1 (MetaData "ModuleName" "Stack.Types.BuildPlan" "stack-1.4.0-5VbagGyw9hyAgBJq8WQvrq" True) (C1 (MetaCons "ModuleName" PrefixI True) (S1 (MetaSel (Just Symbol "unModuleName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString)))

data ModuleInfo #

Constructors

ModuleInfo |
Fields miCorePackages :: !(Set PackageName) miModules :: !(Map ModuleName (Set PackageName))

Instances

Eq ModuleInfo # |
Methods (==) :: ModuleInfo -> ModuleInfo -> Bool # (/=) :: ModuleInfo -> ModuleInfo -> Bool #
Data ModuleInfo # |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModuleInfo -> c ModuleInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ModuleInfo # toConstr :: ModuleInfo -> Constr # dataTypeOf :: ModuleInfo -> DataType # dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ModuleInfo) # dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ModuleInfo) # gmapT :: (forall b. Data b => b -> b) -> ModuleInfo -> ModuleInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleInfo -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> ModuleInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleInfo -> m ModuleInfo #
Ord ModuleInfo # |
Methods compare :: ModuleInfo -> ModuleInfo -> Ordering # (<) :: ModuleInfo -> ModuleInfo -> Bool # (<=) :: ModuleInfo -> ModuleInfo -> Bool # (>) :: ModuleInfo -> ModuleInfo -> Bool # (>=) :: ModuleInfo -> ModuleInfo -> Bool # max :: ModuleInfo -> ModuleInfo -> ModuleInfo # min :: ModuleInfo -> ModuleInfo -> ModuleInfo #
Show ModuleInfo # |
Methods showsPrec :: Int -> ModuleInfo -> ShowS # show :: ModuleInfo -> String # showList :: [ModuleInfo] -> ShowS #
Generic ModuleInfo # |
Associated Types type Rep ModuleInfo :: * -> * # Methods from :: ModuleInfo -> Rep ModuleInfo x # to :: Rep ModuleInfo x -> ModuleInfo #
NFData ModuleInfo # |
Methods rnf :: ModuleInfo -> () #
Store ModuleInfo # |
Methods size :: Size ModuleInfo # poke :: ModuleInfo -> Poke () # peek :: Peek ModuleInfo #
type Rep ModuleInfo # |
type Rep ModuleInfo = D1 (MetaData "ModuleInfo" "Stack.Types.BuildPlan" "stack-1.4.0-5VbagGyw9hyAgBJq8WQvrq" False) (C1 (MetaCons "ModuleInfo" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "miCorePackages") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Set PackageName))) (S1 (MetaSel (Just Symbol "miModules") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map ModuleName (Set PackageName))))))

moduleInfoVC :: VersionConfig ModuleInfo #