Safe Haskell | None |
---|---|
Language | Haskell2010 |
Stack.Types.BuildPlan
Contents
Description
Shared types for various stackage packages.
Synopsis
- data SnapshotDef = SnapshotDef {
- sdParent :: !(Either (CompilerVersion CVWanted) SnapshotDef)
- sdResolver :: !LoadedResolver
- sdResolverName :: !Text
- sdLocations :: ![PackageLocationIndex Subdirs]
- sdDropPackages :: !(Set PackageName)
- sdFlags :: !(Map PackageName (Map FlagName Bool))
- sdHidden :: !(Map PackageName Bool)
- sdGhcOptions :: !(Map PackageName [Text])
- sdGlobalHints :: !(Map PackageName (Maybe Version))
- snapshotDefVC :: VersionConfig SnapshotDef
- sdRawPathName :: SnapshotDef -> String
- data PackageLocation subdirs
- data PackageLocationIndex subdirs
- = PLIndex !PackageIdentifierRevision
- | PLOther !(PackageLocation subdirs)
- data RepoType
- data Subdirs
- data Repo subdirs = Repo {
- repoUrl :: !Text
- repoCommit :: !Text
- repoType :: !RepoType
- repoSubdirs :: !subdirs
- data Archive subdirs = Archive {
- archiveUrl :: !Text
- archiveSubdirs :: !subdirs
- archiveHash :: !(Maybe StaticSHA256)
- newtype ExeName = ExeName {}
- data LoadedSnapshot = LoadedSnapshot {}
- loadedSnapshotVC :: VersionConfig LoadedSnapshot
- data LoadedPackageInfo loc = LoadedPackageInfo {
- lpiVersion :: !Version
- lpiLocation :: !loc
- lpiFlags :: !(Map FlagName Bool)
- lpiGhcOptions :: ![Text]
- lpiPackageDeps :: !(Map PackageName VersionIntervals)
- lpiExposedModules :: !(Set ModuleName)
- lpiHide :: !Bool
- newtype ModuleName = ModuleName {}
- fromCabalModuleName :: ModuleName -> ModuleName
- newtype ModuleInfo = ModuleInfo {
- miModules :: Map ModuleName (Set PackageName)
- moduleInfoVC :: VersionConfig ModuleInfo
- setCompilerVersion :: CompilerVersion CVWanted -> SnapshotDef -> SnapshotDef
- sdWantedCompilerVersion :: SnapshotDef -> CompilerVersion CVWanted
Types
data SnapshotDef Source #
A definition of a snapshot. This could be a Stackage snapshot or something custom. It does not include information on the global package database, this is added later.
It may seem more logic to attach flags, options, etc, directly with the desired package. However, this isn't possible yet: our definition may contain tarballs or Git repos, and we don't actually know the package names contained there. Therefore, we capture all of this additional information by package name, and later in the snapshot load step we will resolve the contents of tarballs and repos, figure out package names, and assigned values appropriately.
Constructors
SnapshotDef | |
Fields
|
Instances
Eq SnapshotDef Source # | |
Defined in Stack.Types.BuildPlan | |
Data SnapshotDef Source # | |
Defined in Stack.Types.BuildPlan Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SnapshotDef -> c SnapshotDef # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SnapshotDef # toConstr :: SnapshotDef -> Constr # dataTypeOf :: SnapshotDef -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SnapshotDef) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SnapshotDef) # gmapT :: (forall b. Data b => b -> b) -> SnapshotDef -> SnapshotDef # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SnapshotDef -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SnapshotDef -> r # gmapQ :: (forall d. Data d => d -> u) -> SnapshotDef -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SnapshotDef -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SnapshotDef -> m SnapshotDef # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SnapshotDef -> m SnapshotDef # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SnapshotDef -> m SnapshotDef # | |
Show SnapshotDef Source # | |
Defined in Stack.Types.BuildPlan Methods showsPrec :: Int -> SnapshotDef -> ShowS show :: SnapshotDef -> String # showList :: [SnapshotDef] -> ShowS | |
Generic SnapshotDef Source # | |
Defined in Stack.Types.BuildPlan Associated Types type Rep SnapshotDef :: Type -> Type | |
Store SnapshotDef Source # | |
Defined in Stack.Types.BuildPlan Methods size :: Size SnapshotDef Source # poke :: SnapshotDef -> Poke () Source # peek :: Peek SnapshotDef Source # | |
NFData SnapshotDef Source # | |
Defined in Stack.Types.BuildPlan Methods rnf :: SnapshotDef -> () # | |
type Rep SnapshotDef Source # | |
Defined in Stack.Types.BuildPlan type Rep SnapshotDef = D1 (MetaData "SnapshotDef" "Stack.Types.BuildPlan" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" False) (C1 (MetaCons "SnapshotDef" PrefixI True) (((S1 (MetaSel (Just "sdParent") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Either (CompilerVersion CVWanted) SnapshotDef)) :*: S1 (MetaSel (Just "sdResolver") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 LoadedResolver)) :*: (S1 (MetaSel (Just "sdResolverName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "sdLocations") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [PackageLocationIndex Subdirs]))) :*: ((S1 (MetaSel (Just "sdDropPackages") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Set PackageName)) :*: S1 (MetaSel (Just "sdFlags") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map PackageName (Map FlagName Bool)))) :*: (S1 (MetaSel (Just "sdHidden") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map PackageName Bool)) :*: (S1 (MetaSel (Just "sdGhcOptions") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map PackageName [Text])) :*: S1 (MetaSel (Just "sdGlobalHints") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map PackageName (Maybe Version)))))))) |
sdRawPathName :: SnapshotDef -> String Source #
A relative file path including a unique string for the given snapshot.
data PackageLocation subdirs Source #
Where to get the contents of a package (including cabal file revisions) from.
A GADT may be more logical than the index parameter, but this plays more nicely with Generic deriving.
Constructors
PLFilePath !FilePath | Note that we use |
PLArchive !(Archive subdirs) | |
PLRepo !(Repo subdirs) | Stored in a source control repository |
Instances
Functor PackageLocation Source # | |
Defined in Stack.Types.BuildPlan Methods fmap :: (a -> b) -> PackageLocation a -> PackageLocation b # (<$) :: a -> PackageLocation b -> PackageLocation a # | |
Eq subdirs => Eq (PackageLocation subdirs) Source # | |
Defined in Stack.Types.BuildPlan Methods (==) :: PackageLocation subdirs -> PackageLocation subdirs -> Bool # (/=) :: PackageLocation subdirs -> PackageLocation subdirs -> Bool # | |
Data subdirs => Data (PackageLocation subdirs) Source # | |
Defined in Stack.Types.BuildPlan Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageLocation subdirs -> c (PackageLocation subdirs) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (PackageLocation subdirs) # toConstr :: PackageLocation subdirs -> Constr # dataTypeOf :: PackageLocation subdirs -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (PackageLocation subdirs)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (PackageLocation subdirs)) # gmapT :: (forall b. Data b => b -> b) -> PackageLocation subdirs -> PackageLocation subdirs # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageLocation subdirs -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageLocation subdirs -> r # gmapQ :: (forall d. Data d => d -> u) -> PackageLocation subdirs -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageLocation subdirs -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageLocation subdirs -> m (PackageLocation subdirs) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageLocation subdirs -> m (PackageLocation subdirs) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageLocation subdirs -> m (PackageLocation subdirs) # | |
Ord subdirs => Ord (PackageLocation subdirs) Source # | |
Defined in Stack.Types.BuildPlan Methods compare :: PackageLocation subdirs -> PackageLocation subdirs -> Ordering # (<) :: PackageLocation subdirs -> PackageLocation subdirs -> Bool # (<=) :: PackageLocation subdirs -> PackageLocation subdirs -> Bool # (>) :: PackageLocation subdirs -> PackageLocation subdirs -> Bool # (>=) :: PackageLocation subdirs -> PackageLocation subdirs -> Bool # max :: PackageLocation subdirs -> PackageLocation subdirs -> PackageLocation subdirs # min :: PackageLocation subdirs -> PackageLocation subdirs -> PackageLocation subdirs # | |
Show subdirs => Show (PackageLocation subdirs) Source # | |
Defined in Stack.Types.BuildPlan Methods showsPrec :: Int -> PackageLocation subdirs -> ShowS show :: PackageLocation subdirs -> String # showList :: [PackageLocation subdirs] -> ShowS | |
Generic (PackageLocation subdirs) Source # | |
Defined in Stack.Types.BuildPlan Associated Types type Rep (PackageLocation subdirs) :: Type -> Type Methods from :: PackageLocation subdirs -> Rep (PackageLocation subdirs) x to :: Rep (PackageLocation subdirs) x -> PackageLocation subdirs | |
Store a => Store (PackageLocation a) Source # | |
Defined in Stack.Types.BuildPlan Methods size :: Size (PackageLocation a) Source # poke :: PackageLocation a -> Poke () Source # peek :: Peek (PackageLocation a) Source # | |
subdirs ~ Subdirs => FromJSON (WithJSONWarnings (PackageLocation subdirs)) Source # | |
Defined in Stack.Types.BuildPlan Methods parseJSON :: Value -> Parser (WithJSONWarnings (PackageLocation subdirs)) # parseJSONList :: Value -> Parser [WithJSONWarnings (PackageLocation subdirs)] # | |
subdirs ~ Subdirs => ToJSON (PackageLocation subdirs) Source # | |
Defined in Stack.Types.BuildPlan Methods toJSON :: PackageLocation subdirs -> Value # toEncoding :: PackageLocation subdirs -> Encoding # toJSONList :: [PackageLocation subdirs] -> Value # toEncodingList :: [PackageLocation subdirs] -> Encoding # | |
NFData a => NFData (PackageLocation a) Source # | |
Defined in Stack.Types.BuildPlan Methods rnf :: PackageLocation a -> () # | |
type Rep (PackageLocation subdirs) Source # | |
Defined in Stack.Types.BuildPlan type Rep (PackageLocation subdirs) = D1 (MetaData "PackageLocation" "Stack.Types.BuildPlan" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" False) (C1 (MetaCons "PLFilePath" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 FilePath)) :+: (C1 (MetaCons "PLArchive" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Archive subdirs))) :+: C1 (MetaCons "PLRepo" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Repo subdirs))))) |
data PackageLocationIndex subdirs Source #
Add in the possibility of getting packages from the index
(including cabal file revisions). We have special handling of this
case in many places in the codebase, and therefore represent it
with a separate data type from PackageLocation
.
Constructors
PLIndex !PackageIdentifierRevision | Grab the package from the package index with the given version and (optional) cabal file info to specify the correct revision. |
PLOther !(PackageLocation subdirs) |
Instances
The type of a source control repository.
Instances
Eq RepoType Source # | |
Data RepoType Source # | |
Defined in Stack.Types.BuildPlan Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RepoType -> c RepoType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RepoType # toConstr :: RepoType -> Constr # dataTypeOf :: RepoType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RepoType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RepoType) # gmapT :: (forall b. Data b => b -> b) -> RepoType -> RepoType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RepoType -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RepoType -> r # gmapQ :: (forall d. Data d => d -> u) -> RepoType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> RepoType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> RepoType -> m RepoType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RepoType -> m RepoType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RepoType -> m RepoType # | |
Ord RepoType Source # | |
Defined in Stack.Types.BuildPlan | |
Show RepoType Source # | |
Generic RepoType Source # | |
Store RepoType Source # | |
NFData RepoType Source # | |
Defined in Stack.Types.BuildPlan | |
type Rep RepoType Source # | |
Defined in Stack.Types.BuildPlan |
Constructors
DefaultSubdirs | |
ExplicitSubdirs ![FilePath] |
Instances
Eq Subdirs Source # | |
Data Subdirs Source # | |
Defined in Stack.Types.BuildPlan Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Subdirs -> c Subdirs # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Subdirs # toConstr :: Subdirs -> Constr # dataTypeOf :: Subdirs -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Subdirs) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Subdirs) # gmapT :: (forall b. Data b => b -> b) -> Subdirs -> Subdirs # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Subdirs -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Subdirs -> r # gmapQ :: (forall d. Data d => d -> u) -> Subdirs -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Subdirs -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Subdirs -> m Subdirs # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Subdirs -> m Subdirs # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Subdirs -> m Subdirs # | |
Show Subdirs Source # | |
Generic Subdirs Source # | |
Store Subdirs Source # | |
FromJSON Subdirs Source # | |
Defined in Stack.Types.BuildPlan | |
NFData Subdirs Source # | |
Defined in Stack.Types.BuildPlan | |
type Rep Subdirs Source # | |
Defined in Stack.Types.BuildPlan type Rep Subdirs = D1 (MetaData "Subdirs" "Stack.Types.BuildPlan" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" False) (C1 (MetaCons "DefaultSubdirs" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "ExplicitSubdirs" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [FilePath]))) |
Information on packages stored in a source control repository.
Constructors
Repo | |
Fields
|
Instances
Functor Repo Source # | |
Eq subdirs => Eq (Repo subdirs) Source # | |
Data subdirs => Data (Repo subdirs) Source # | |
Defined in Stack.Types.BuildPlan Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Repo subdirs -> c (Repo subdirs) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Repo subdirs) # toConstr :: Repo subdirs -> Constr # dataTypeOf :: Repo subdirs -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Repo subdirs)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Repo subdirs)) # gmapT :: (forall b. Data b => b -> b) -> Repo subdirs -> Repo subdirs # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Repo subdirs -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Repo subdirs -> r # gmapQ :: (forall d. Data d => d -> u) -> Repo subdirs -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Repo subdirs -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Repo subdirs -> m (Repo subdirs) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Repo subdirs -> m (Repo subdirs) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Repo subdirs -> m (Repo subdirs) # | |
Ord subdirs => Ord (Repo subdirs) Source # | |
Defined in Stack.Types.BuildPlan | |
Show subdirs => Show (Repo subdirs) Source # | |
Generic (Repo subdirs) Source # | |
Store a => Store (Repo a) Source # | |
NFData a => NFData (Repo a) Source # | |
Defined in Stack.Types.BuildPlan | |
type Rep (Repo subdirs) Source # | |
Defined in Stack.Types.BuildPlan type Rep (Repo subdirs) = D1 (MetaData "Repo" "Stack.Types.BuildPlan" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" False) (C1 (MetaCons "Repo" PrefixI True) ((S1 (MetaSel (Just "repoUrl") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "repoCommit") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) :*: (S1 (MetaSel (Just "repoType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 RepoType) :*: S1 (MetaSel (Just "repoSubdirs") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 subdirs)))) |
A package archive, could be from a URL or a local file path. Local file path archives are assumed to be unchanging over time, and so are allowed in custom snapshots.
Constructors
Archive | |
Fields
|
Instances
Functor Archive Source # | |
Eq subdirs => Eq (Archive subdirs) Source # | |
Data subdirs => Data (Archive subdirs) Source # | |
Defined in Stack.Types.BuildPlan Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Archive subdirs -> c (Archive subdirs) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Archive subdirs) # toConstr :: Archive subdirs -> Constr # dataTypeOf :: Archive subdirs -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Archive subdirs)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Archive subdirs)) # gmapT :: (forall b. Data b => b -> b) -> Archive subdirs -> Archive subdirs # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Archive subdirs -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Archive subdirs -> r # gmapQ :: (forall d. Data d => d -> u) -> Archive subdirs -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Archive subdirs -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Archive subdirs -> m (Archive subdirs) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Archive subdirs -> m (Archive subdirs) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Archive subdirs -> m (Archive subdirs) # | |
Ord subdirs => Ord (Archive subdirs) Source # | |
Defined in Stack.Types.BuildPlan Methods compare :: Archive subdirs -> Archive subdirs -> Ordering # (<) :: Archive subdirs -> Archive subdirs -> Bool # (<=) :: Archive subdirs -> Archive subdirs -> Bool # (>) :: Archive subdirs -> Archive subdirs -> Bool # (>=) :: Archive subdirs -> Archive subdirs -> Bool # max :: Archive subdirs -> Archive subdirs -> Archive subdirs # min :: Archive subdirs -> Archive subdirs -> Archive subdirs # | |
Show subdirs => Show (Archive subdirs) Source # | |
Generic (Archive subdirs) Source # | |
Store a => Store (Archive a) Source # | |
NFData a => NFData (Archive a) Source # | |
Defined in Stack.Types.BuildPlan | |
type Rep (Archive subdirs) Source # | |
Defined in Stack.Types.BuildPlan type Rep (Archive subdirs) = D1 (MetaData "Archive" "Stack.Types.BuildPlan" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" False) (C1 (MetaCons "Archive" PrefixI True) (S1 (MetaSel (Just "archiveUrl") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: (S1 (MetaSel (Just "archiveSubdirs") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 subdirs) :*: S1 (MetaSel (Just "archiveHash") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe StaticSHA256))))) |
Name of an executable.
Instances
Eq ExeName Source # | |
Data ExeName Source # | |
Defined in Stack.Types.BuildPlan 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 Source # | |
Defined in Stack.Types.BuildPlan | |
Show ExeName Source # | |
IsString ExeName Source # | |
Defined in Stack.Types.BuildPlan Methods fromString :: String -> ExeName # | |
Generic ExeName Source # | |
Store ExeName Source # | |
Hashable ExeName Source # | |
Defined in Stack.Types.BuildPlan | |
NFData ExeName Source # | |
Defined in Stack.Types.BuildPlan | |
type Rep ExeName Source # | |
data LoadedSnapshot Source #
A fully loaded snapshot combined , including information gleaned from the global database and parsing cabal files.
Invariant: a global package may not depend upon a snapshot package, a snapshot may not depend upon a local or project, and all dependencies must be satisfied.
Constructors
LoadedSnapshot | |
Fields |
Instances
Eq LoadedSnapshot Source # | |
Defined in Stack.Types.BuildPlan Methods (==) :: LoadedSnapshot -> LoadedSnapshot -> Bool # (/=) :: LoadedSnapshot -> LoadedSnapshot -> Bool # | |
Data LoadedSnapshot Source # | |
Defined in Stack.Types.BuildPlan Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoadedSnapshot -> c LoadedSnapshot # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LoadedSnapshot # toConstr :: LoadedSnapshot -> Constr # dataTypeOf :: LoadedSnapshot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LoadedSnapshot) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LoadedSnapshot) # gmapT :: (forall b. Data b => b -> b) -> LoadedSnapshot -> LoadedSnapshot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoadedSnapshot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoadedSnapshot -> r # gmapQ :: (forall d. Data d => d -> u) -> LoadedSnapshot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LoadedSnapshot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoadedSnapshot -> m LoadedSnapshot # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoadedSnapshot -> m LoadedSnapshot # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoadedSnapshot -> m LoadedSnapshot # | |
Show LoadedSnapshot Source # | |
Defined in Stack.Types.BuildPlan Methods showsPrec :: Int -> LoadedSnapshot -> ShowS show :: LoadedSnapshot -> String # showList :: [LoadedSnapshot] -> ShowS | |
Generic LoadedSnapshot Source # | |
Defined in Stack.Types.BuildPlan Associated Types type Rep LoadedSnapshot :: Type -> Type | |
Store LoadedSnapshot Source # | |
Defined in Stack.Types.BuildPlan | |
NFData LoadedSnapshot Source # | |
Defined in Stack.Types.BuildPlan Methods rnf :: LoadedSnapshot -> () # | |
type Rep LoadedSnapshot Source # | |
Defined in Stack.Types.BuildPlan type Rep LoadedSnapshot = D1 (MetaData "LoadedSnapshot" "Stack.Types.BuildPlan" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" False) (C1 (MetaCons "LoadedSnapshot" PrefixI True) (S1 (MetaSel (Just "lsCompilerVersion") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (CompilerVersion CVActual)) :*: (S1 (MetaSel (Just "lsGlobals") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map PackageName (LoadedPackageInfo GhcPkgId))) :*: S1 (MetaSel (Just "lsPackages") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map PackageName (LoadedPackageInfo (PackageLocationIndex FilePath))))))) |
data LoadedPackageInfo loc Source #
Information on a single package for the LoadedSnapshot
which
can be installed.
Note that much of the information below (such as the package dependencies or exposed modules) can be conditional in the cabal file, which means it will vary based on flags, arch, and OS.
Constructors
LoadedPackageInfo | |
Fields
|
Instances
Functor LoadedPackageInfo Source # | |
Defined in Stack.Types.BuildPlan Methods fmap :: (a -> b) -> LoadedPackageInfo a -> LoadedPackageInfo b # (<$) :: a -> LoadedPackageInfo b -> LoadedPackageInfo a # | |
Eq loc => Eq (LoadedPackageInfo loc) Source # | |
Defined in Stack.Types.BuildPlan Methods (==) :: LoadedPackageInfo loc -> LoadedPackageInfo loc -> Bool # (/=) :: LoadedPackageInfo loc -> LoadedPackageInfo loc -> Bool # | |
Data loc => Data (LoadedPackageInfo loc) Source # | |
Defined in Stack.Types.BuildPlan Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoadedPackageInfo loc -> c (LoadedPackageInfo loc) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (LoadedPackageInfo loc) # toConstr :: LoadedPackageInfo loc -> Constr # dataTypeOf :: LoadedPackageInfo loc -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (LoadedPackageInfo loc)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LoadedPackageInfo loc)) # gmapT :: (forall b. Data b => b -> b) -> LoadedPackageInfo loc -> LoadedPackageInfo loc # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoadedPackageInfo loc -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoadedPackageInfo loc -> r # gmapQ :: (forall d. Data d => d -> u) -> LoadedPackageInfo loc -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LoadedPackageInfo loc -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoadedPackageInfo loc -> m (LoadedPackageInfo loc) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoadedPackageInfo loc -> m (LoadedPackageInfo loc) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoadedPackageInfo loc -> m (LoadedPackageInfo loc) # | |
Show loc => Show (LoadedPackageInfo loc) Source # | |
Defined in Stack.Types.BuildPlan Methods showsPrec :: Int -> LoadedPackageInfo loc -> ShowS show :: LoadedPackageInfo loc -> String # showList :: [LoadedPackageInfo loc] -> ShowS | |
Generic (LoadedPackageInfo loc) Source # | |
Defined in Stack.Types.BuildPlan Associated Types type Rep (LoadedPackageInfo loc) :: Type -> Type Methods from :: LoadedPackageInfo loc -> Rep (LoadedPackageInfo loc) x to :: Rep (LoadedPackageInfo loc) x -> LoadedPackageInfo loc | |
Store a => Store (LoadedPackageInfo a) Source # | |
Defined in Stack.Types.BuildPlan Methods size :: Size (LoadedPackageInfo a) Source # poke :: LoadedPackageInfo a -> Poke () Source # peek :: Peek (LoadedPackageInfo a) Source # | |
NFData a => NFData (LoadedPackageInfo a) Source # | |
Defined in Stack.Types.BuildPlan Methods rnf :: LoadedPackageInfo a -> () # | |
type Rep (LoadedPackageInfo loc) Source # | |
Defined in Stack.Types.BuildPlan type Rep (LoadedPackageInfo loc) = D1 (MetaData "LoadedPackageInfo" "Stack.Types.BuildPlan" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" False) (C1 (MetaCons "LoadedPackageInfo" PrefixI True) ((S1 (MetaSel (Just "lpiVersion") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Version) :*: (S1 (MetaSel (Just "lpiLocation") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 loc) :*: S1 (MetaSel (Just "lpiFlags") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map FlagName Bool)))) :*: ((S1 (MetaSel (Just "lpiGhcOptions") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [Text]) :*: S1 (MetaSel (Just "lpiPackageDeps") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map PackageName VersionIntervals))) :*: (S1 (MetaSel (Just "lpiExposedModules") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Set ModuleName)) :*: S1 (MetaSel (Just "lpiHide") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Bool))))) |
newtype ModuleName Source #
Constructors
ModuleName | |
Fields |
Instances
Eq ModuleName Source # | |
Defined in Stack.Types.BuildPlan | |
Data ModuleName Source # | |
Defined in Stack.Types.BuildPlan 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 Source # | |
Defined in Stack.Types.BuildPlan 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 Source # | |
Defined in Stack.Types.BuildPlan Methods showsPrec :: Int -> ModuleName -> ShowS show :: ModuleName -> String # showList :: [ModuleName] -> ShowS | |
Generic ModuleName Source # | |
Defined in Stack.Types.BuildPlan Associated Types type Rep ModuleName :: Type -> Type | |
Store ModuleName Source # | |
Defined in Stack.Types.BuildPlan Methods size :: Size ModuleName Source # poke :: ModuleName -> Poke () Source # peek :: Peek ModuleName Source # | |
NFData ModuleName Source # | |
Defined in Stack.Types.BuildPlan Methods rnf :: ModuleName -> () # | |
type Rep ModuleName Source # | |
Defined in Stack.Types.BuildPlan type Rep ModuleName = D1 (MetaData "ModuleName" "Stack.Types.BuildPlan" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" True) (C1 (MetaCons "ModuleName" PrefixI True) (S1 (MetaSel (Just "unModuleName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString))) |
newtype ModuleInfo Source #
Constructors
ModuleInfo | |
Fields
|
Instances
setCompilerVersion :: CompilerVersion CVWanted -> SnapshotDef -> SnapshotDef Source #
Modify the wanted compiler version in this snapshot. This is used
when overriding via the compiler
value in a custom snapshot or
stack.yaml file. We do _not_ need to modify the snapshot's hash for
this: all binary caches of a snapshot are stored in a filepath that
encodes the actual compiler version in addition to the
hash. Therefore, modifications here will not lead to any invalid
data.
sdWantedCompilerVersion :: SnapshotDef -> CompilerVersion CVWanted Source #
Determined the desired compiler version for this SnapshotDef
.