stack-1.3.2: The Haskell Tool Stack

Safe Haskell | None
Language | Haskell2010

Stack.Types.Package

Synopsis

- data PackageException
  - = PackageInvalidCabalFile (Maybe (Path Abs File)) PError
  - | PackageNoCabalFileFound (Path Abs Dir)
  - | PackageMultipleCabalFilesFound (Path Abs Dir) [Path Abs File]
  - | MismatchedCabalName (Path Abs File) PackageName
- data Package = Package {
  - packageName :: !PackageName
  - packageVersion :: !Version
  - packageLicense :: !License
  - packageFiles :: !GetPackageFiles
  - packageDeps :: !(Map PackageName VersionRange)
  - packageTools :: ![Dependency]
  - packageAllDeps :: !(Set PackageName)
  - packageGhcOptions :: ![Text]
  - packageFlags :: !(Map FlagName Bool)
  - packageDefaultFlags :: !(Map FlagName Bool)
  - packageHasLibrary :: !Bool
  - packageTests :: !(Map Text TestSuiteInterface)
  - packageBenchmarks :: !(Set Text)
  - packageExes :: !(Set Text)
  - packageOpts :: !GetPackageOpts
  - packageHasExposedModules :: !Bool
  - packageSimpleType :: !Bool
  }
- packageIdentifier :: Package -> PackageIdentifier
- packageDefinedFlags :: Package -> Set FlagName
- newtype GetPackageOpts = GetPackageOpts {
  - getPackageOpts :: forall env m. (StackM env m, HasEnvConfig env) => SourceMap -> InstalledMap -> [PackageName] -> [PackageName] -> Path Abs File -> m (Map NamedComponent (Set ModuleName), Map NamedComponent (Set DotCabalPath), Map NamedComponent BuildInfoOpts)
  }
- data BuildInfoOpts = BuildInfoOpts {
  - bioOpts :: [String]
  - bioOneWordOpts :: [String]
  - bioPackageFlags :: [String]
  - bioCabalMacros :: Maybe (Path Abs File)
  }
- data CabalFileType
  - = AllFiles
  - | Modules
- newtype GetPackageFiles = GetPackageFiles {
  - getPackageFiles :: forall m env. (StackM env m, HasEnvConfig env) => Path Abs File -> m (Map NamedComponent (Set ModuleName), Map NamedComponent (Set DotCabalPath), Set (Path Abs File), [PackageWarning])
  }
- data PackageWarning = UnlistedModulesWarning (Maybe String) [ModuleName]
- data PackageConfig = PackageConfig {
  - packageConfigEnableTests :: !Bool
  - packageConfigEnableBenchmarks :: !Bool
  - packageConfigFlags :: !(Map FlagName Bool)
  - packageConfigGhcOptions :: ![Text]
  - packageConfigCompilerVersion :: !CompilerVersion
  - packageConfigPlatform :: !Platform
  }
- type SourceMap = Map PackageName PackageSource
- data PackageSource
  - = PSLocal LocalPackage
  - | PSUpstream Version InstallLocation (Map FlagName Bool) [Text] (Maybe GitSHA1)
- class PackageInstallInfo a where
- data LocalPackage = LocalPackage {
  - lpPackage :: !Package
  - lpComponents :: !(Set NamedComponent)
  - lpUnbuildable :: !(Set NamedComponent)
  - lpWanted :: !Bool
  - lpTestDeps :: !(Map PackageName VersionRange)
  - lpBenchDeps :: !(Map PackageName VersionRange)
  - lpTestBench :: !(Maybe Package)
  - lpDir :: !(Path Abs Dir)
  - lpCabalFile :: !(Path Abs File)
  - lpForceDirty :: !Bool
  - lpDirtyFiles :: !(Maybe (Set FilePath))
  - lpNewBuildCache :: !(Map FilePath FileCacheInfo)
  - lpFiles :: !(Set (Path Abs File))
  }
- data NamedComponent
  - = CLib
  - | CExe !Text
  - | CTest !Text
  - | CBench !Text
- renderComponent :: NamedComponent -> ByteString
- renderPkgComponents :: [(PackageName, NamedComponent)] -> Text
- renderPkgComponent :: (PackageName, NamedComponent) -> Text
- exeComponents :: Set NamedComponent -> Set Text
- testComponents :: Set NamedComponent -> Set Text
- benchComponents :: Set NamedComponent -> Set Text
- isCLib :: NamedComponent -> Bool
- isCExe :: NamedComponent -> Bool
- isCTest :: NamedComponent -> Bool
- isCBench :: NamedComponent -> Bool
- data InstallLocation
  - = Snap
  - | Local
- data InstalledPackageLocation
  - = InstalledTo InstallLocation
  - | ExtraGlobal
- data FileCacheInfo = FileCacheInfo {
  - fciModTime :: !ModTime
  - fciSize :: !Word64
  - fciHash :: !ByteString
  }
- newtype ModTime = ModTime (Integer, Rational)
- modTimeVC :: VersionConfig ModTime
- testSuccessVC :: VersionConfig Bool
- data DotCabalDescriptor
  - = DotCabalModule !ModuleName
  - | DotCabalMain !FilePath
  - | DotCabalFile !FilePath
  - | DotCabalCFile !FilePath
- dotCabalModule :: DotCabalDescriptor -> Maybe ModuleName
- dotCabalMain :: DotCabalDescriptor -> Maybe FilePath
- data DotCabalPath
  - = DotCabalModulePath !(Path Abs File)
  - | DotCabalMainPath !(Path Abs File)
  - | DotCabalFilePath !(Path Abs File)
  - | DotCabalCFilePath !(Path Abs File)
- dotCabalModulePath :: DotCabalPath -> Maybe (Path Abs File)
- dotCabalMainPath :: DotCabalPath -> Maybe (Path Abs File)
- dotCabalCFilePath :: DotCabalPath -> Maybe (Path Abs File)
- dotCabalGetPath :: DotCabalPath -> Path Abs File
- type InstalledMap = Map PackageName (InstallLocation, Installed)
- data Installed
  - = Library PackageIdentifier GhcPkgId
  - | Executable PackageIdentifier
- installedPackageIdentifier :: Installed -> PackageIdentifier
- installedVersion :: Installed -> Version

# Documentation

data PackageException #

All exceptions thrown by the library.

Constructors

PackageInvalidCabalFile (Maybe (Path Abs File)) PError |
PackageNoCabalFileFound (Path Abs Dir) |
PackageMultipleCabalFilesFound (Path Abs Dir) [Path Abs File] |
MismatchedCabalName (Path Abs File) PackageName |

Instances

Show PackageException # |
Methods showsPrec :: Int -> PackageException -> ShowS # show :: PackageException -> String # showList :: [PackageException] -> ShowS #
Exception PackageException # |
Methods toException :: PackageException -> SomeException # fromException :: SomeException -> Maybe PackageException # displayException :: PackageException -> String #

data Package #

Some package info.

Constructors

Package |
Fields packageName :: !PackageName Name of the package. packageVersion :: !Version Version of the package packageLicense :: !License The license the package was released under. packageFiles :: !GetPackageFiles Get all files of the package. packageDeps :: !(Map PackageName VersionRange) Packages that the package depends on. packageTools :: ![Dependency] A build tool name. packageAllDeps :: !(Set PackageName) Original dependencies (not sieved). packageGhcOptions :: ![Text] Ghc options used on package. packageFlags :: !(Map FlagName Bool) Flags used on package. packageDefaultFlags :: !(Map FlagName Bool) Defaults for unspecified flags. packageHasLibrary :: !Bool does the package have a buildable library stanza? packageTests :: !(Map Text TestSuiteInterface) names and interfaces of test suites packageBenchmarks :: !(Set Text) names of benchmarks packageExes :: !(Set Text) names of executables packageOpts :: !GetPackageOpts Args to pass to GHC. packageHasExposedModules :: !Bool Does the package have exposed modules? packageSimpleType :: !Bool Does the package of build-type: Simple

Instances

Eq Package # | Compares the package name.
Methods (==) :: Package -> Package -> Bool # (/=) :: Package -> Package -> Bool #
Ord Package # | Compares the package name.
Methods compare :: Package -> Package -> Ordering # (<) :: Package -> Package -> Bool # (<=) :: Package -> Package -> Bool # (>) :: Package -> Package -> Bool # (>=) :: Package -> Package -> Bool # max :: Package -> Package -> Package # min :: Package -> Package -> Package #
Show Package # |
Methods showsPrec :: Int -> Package -> ShowS # show :: Package -> String # showList :: [Package] -> ShowS #

packageIdentifier :: Package -> PackageIdentifier #

packageDefinedFlags :: Package -> Set FlagName #

newtype GetPackageOpts #

Files that the package depends on, relative to package directory. Argument is the location of the .cabal file

Constructors

GetPackageOpts |
Fields getPackageOpts :: forall env m. (StackM env m, HasEnvConfig env) => SourceMap -> InstalledMap -> [PackageName] -> [PackageName] -> Path Abs File -> m (Map NamedComponent (Set ModuleName), Map NamedComponent (Set DotCabalPath), Map NamedComponent BuildInfoOpts)

Instances

Show GetPackageOpts # |
Methods showsPrec :: Int -> GetPackageOpts -> ShowS # show :: GetPackageOpts -> String # showList :: [GetPackageOpts] -> ShowS #

data BuildInfoOpts #

GHC options based on cabal information and ghc-options.

Constructors

BuildInfoOpts |
Fields bioOpts :: [String] bioOneWordOpts :: [String] bioPackageFlags :: [String] These options can safely have `nubOrd` applied to them, as there are no multi-word options (see https://github.com/commercialhaskell/stack/issues/1255) bioCabalMacros :: Maybe (Path Abs File)

Instances

Show BuildInfoOpts # |
Methods showsPrec :: Int -> BuildInfoOpts -> ShowS # show :: BuildInfoOpts -> String # showList :: [BuildInfoOpts] -> ShowS #

data CabalFileType #

Files to get for a cabal package.

Constructors

AllFiles |
Modules |

newtype GetPackageFiles #

Files that the package depends on, relative to package directory. Argument is the location of the .cabal file

Constructors

GetPackageFiles |
Fields getPackageFiles :: forall m env. (StackM env m, HasEnvConfig env) => Path Abs File -> m (Map NamedComponent (Set ModuleName), Map NamedComponent (Set DotCabalPath), Set (Path Abs File), [PackageWarning])

Instances

Show GetPackageFiles # |
Methods showsPrec :: Int -> GetPackageFiles -> ShowS # show :: GetPackageFiles -> String # showList :: [GetPackageFiles] -> ShowS #

data PackageWarning #

Warning generated when reading a package

Constructors

UnlistedModulesWarning (Maybe String) [ModuleName] | Modules found that are not listed in cabal file

data PackageConfig #

Package build configuration

Constructors

PackageConfig |
Fields packageConfigEnableTests :: !Bool Are tests enabled? packageConfigEnableBenchmarks :: !Bool Are benchmarks enabled? packageConfigFlags :: !(Map FlagName Bool) Configured flags. packageConfigGhcOptions :: ![Text] Configured ghc options. packageConfigCompilerVersion :: !CompilerVersion GHC version packageConfigPlatform :: !Platform host platform

Instances

Show PackageConfig # |
Methods showsPrec :: Int -> PackageConfig -> ShowS # show :: PackageConfig -> String # showList :: [PackageConfig] -> ShowS #

type SourceMap = Map PackageName PackageSource #

data PackageSource #

Where the package's source is located: local directory or package index

Constructors

PSLocal LocalPackage |
PSUpstream Version InstallLocation (Map FlagName Bool) [Text] (Maybe GitSHA1) | Upstream packages could be installed in either local or snapshot databases; this is what `InstallLocation` specifies.

Instances

Show PackageSource # |
Methods showsPrec :: Int -> PackageSource -> ShowS # show :: PackageSource -> String # showList :: [PackageSource] -> ShowS #
PackageInstallInfo PackageSource # |
Methods piiVersion :: PackageSource -> Version # piiLocation :: PackageSource -> InstallLocation #

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

Methods

piiVersion :: a -> Version #

piiLocation :: a -> InstallLocation #

Instances

PackageInstallInfo PackageSource # |
Methods piiVersion :: PackageSource -> Version # piiLocation :: PackageSource -> InstallLocation #

data LocalPackage #

Information on a locally available package of source code

Constructors

LocalPackage |
Fields lpPackage :: !Package The `Package` info itself, after resolution with package flags, with tests and benchmarks disabled lpComponents :: !(Set NamedComponent) Components to build, not including the library component. lpUnbuildable :: !(Set NamedComponent) Components explicitly requested for build, that are marked "buildable: false". lpWanted :: !Bool Whether this package is wanted as a target. lpTestDeps :: !(Map PackageName VersionRange) Used for determining if we can use --enable-tests in a normal build. lpBenchDeps :: !(Map PackageName VersionRange) Used for determining if we can use --enable-benchmarks in a normal build. lpTestBench :: !(Maybe Package) This stores the `Package` with tests and benchmarks enabled, if either is asked for by the user. lpDir :: !(Path Abs Dir) Directory of the package. lpCabalFile :: !(Path Abs File) The .cabal file lpForceDirty :: !Bool lpDirtyFiles :: !(Maybe (Set FilePath)) Nothing == not dirty, Just == dirty. Note that the Set may be empty if we forced the build to treat packages as dirty. Also, the Set may not include all modified files. lpNewBuildCache :: !(Map FilePath FileCacheInfo) current state of the files lpFiles :: !(Set (Path Abs File)) all files used by this package

Instances

Show LocalPackage # |
Methods showsPrec :: Int -> LocalPackage -> ShowS # show :: LocalPackage -> String # showList :: [LocalPackage] -> ShowS #

data NamedComponent #

A single, fully resolved component of a package

Constructors

CLib |
CExe !Text |
CTest !Text |
CBench !Text |

Instances

Eq NamedComponent # |
Methods (==) :: NamedComponent -> NamedComponent -> Bool # (/=) :: NamedComponent -> NamedComponent -> Bool #
Ord NamedComponent # |
Methods compare :: NamedComponent -> NamedComponent -> Ordering # (<) :: NamedComponent -> NamedComponent -> Bool # (<=) :: NamedComponent -> NamedComponent -> Bool # (>) :: NamedComponent -> NamedComponent -> Bool # (>=) :: NamedComponent -> NamedComponent -> Bool # max :: NamedComponent -> NamedComponent -> NamedComponent # min :: NamedComponent -> NamedComponent -> NamedComponent #
Show NamedComponent # |
Methods showsPrec :: Int -> NamedComponent -> ShowS # show :: NamedComponent -> String # showList :: [NamedComponent] -> ShowS #
type Ann (PackageName, NamedComponent) # |
type Ann (PackageName, NamedComponent) = AnsiAnn

renderComponent :: NamedComponent -> ByteString #

renderPkgComponents :: [(PackageName, NamedComponent)] -> Text #

renderPkgComponent :: (PackageName, NamedComponent) -> Text #

exeComponents :: Set NamedComponent -> Set Text #

testComponents :: Set NamedComponent -> Set Text #

benchComponents :: Set NamedComponent -> Set Text #

isCLib :: NamedComponent -> Bool #

isCExe :: NamedComponent -> Bool #

isCTest :: NamedComponent -> Bool #

isCBench :: NamedComponent -> Bool #

data InstallLocation #

A location to install a package into, either snapshot or local

Constructors

Snap |
Local |

Instances

Eq InstallLocation # |
Methods (==) :: InstallLocation -> InstallLocation -> Bool # (/=) :: InstallLocation -> InstallLocation -> Bool #
Show InstallLocation # |
Methods showsPrec :: Int -> InstallLocation -> ShowS # show :: InstallLocation -> String # showList :: [InstallLocation] -> ShowS #
Monoid InstallLocation # |
Methods mempty :: InstallLocation # mappend :: InstallLocation -> InstallLocation -> InstallLocation # mconcat :: [InstallLocation] -> InstallLocation #

data InstalledPackageLocation #

Constructors

InstalledTo InstallLocation |
ExtraGlobal |

Instances

Eq InstalledPackageLocation # |
Methods (==) :: InstalledPackageLocation -> InstalledPackageLocation -> Bool # (/=) :: InstalledPackageLocation -> InstalledPackageLocation -> Bool #
Show InstalledPackageLocation # |
Methods showsPrec :: Int -> InstalledPackageLocation -> ShowS # show :: InstalledPackageLocation -> String # showList :: [InstalledPackageLocation] -> ShowS #

data FileCacheInfo #

Constructors

FileCacheInfo |
Fields fciModTime :: !ModTime fciSize :: !Word64 fciHash :: !ByteString

Instances

Eq FileCacheInfo # |
Methods (==) :: FileCacheInfo -> FileCacheInfo -> Bool # (/=) :: FileCacheInfo -> FileCacheInfo -> Bool #
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 # |
Methods showsPrec :: Int -> FileCacheInfo -> ShowS # show :: FileCacheInfo -> String # showList :: [FileCacheInfo] -> ShowS #
Generic FileCacheInfo # |
Associated Types type Rep FileCacheInfo :: * -> * # Methods from :: FileCacheInfo -> Rep FileCacheInfo x # to :: Rep FileCacheInfo x -> FileCacheInfo #
NFData FileCacheInfo # |
Methods rnf :: FileCacheInfo -> () #
Store FileCacheInfo # |
Methods size :: Size FileCacheInfo # poke :: FileCacheInfo -> Poke () # peek :: Peek FileCacheInfo #
type Rep FileCacheInfo # |
type Rep FileCacheInfo = D1 (MetaData "FileCacheInfo" "Stack.Types.Package" "stack-1.3.2-BJTOe4yfRNq2cDDPL8b7LK" 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)))))

newtype ModTime #

Used for storage and comparison.

Constructors

ModTime (Integer, Rational) |

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 # |
Methods compare :: ModTime -> ModTime -> Ordering # (<) :: ModTime -> ModTime -> Bool # (<=) :: ModTime -> ModTime -> Bool # (>) :: ModTime -> ModTime -> Bool # (>=) :: ModTime -> ModTime -> Bool # max :: ModTime -> ModTime -> ModTime # min :: ModTime -> ModTime -> ModTime #
Show ModTime # |
Methods showsPrec :: Int -> ModTime -> ShowS # show :: ModTime -> String # showList :: [ModTime] -> ShowS #
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 # |
Methods size :: Size ModTime # poke :: ModTime -> Poke () # peek :: Peek ModTime #
type Rep ModTime # |
type Rep ModTime = D1 (MetaData "ModTime" "Stack.Types.Package" "stack-1.3.2-BJTOe4yfRNq2cDDPL8b7LK" True) (C1 (MetaCons "ModTime" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Integer, Rational))))

modTimeVC :: VersionConfig ModTime #

testSuccessVC :: VersionConfig Bool #

data DotCabalDescriptor #

A descriptor from a .cabal file indicating one of the following:

exposed-modules: Foo other-modules: Foo or main-is: Foo.hs

Constructors

DotCabalModule !ModuleName |
DotCabalMain !FilePath |
DotCabalFile !FilePath |
DotCabalCFile !FilePath |

Instances

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

dotCabalModule :: DotCabalDescriptor -> Maybe ModuleName #

Maybe get the module name from the .cabal descriptor.

dotCabalMain :: DotCabalDescriptor -> Maybe FilePath #

Maybe get the main name from the .cabal descriptor.

data DotCabalPath #

A path resolved from the .cabal file, which is either main-is or an exposedinternalreferenced module.

Constructors

DotCabalModulePath !(Path Abs File) |
DotCabalMainPath !(Path Abs File) |
DotCabalFilePath !(Path Abs File) |
DotCabalCFilePath !(Path Abs File) |

Instances

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

dotCabalModulePath :: DotCabalPath -> Maybe (Path Abs File) #

Get the module path.

dotCabalMainPath :: DotCabalPath -> Maybe (Path Abs File) #

Get the main path.

dotCabalCFilePath :: DotCabalPath -> Maybe (Path Abs File) #

Get the c file path.

dotCabalGetPath :: DotCabalPath -> Path Abs File #

Get the path.

type InstalledMap = Map PackageName (InstallLocation, Installed) #

data Installed #

Constructors

Library PackageIdentifier GhcPkgId |
Executable PackageIdentifier |

Instances

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

installedPackageIdentifier :: Installed -> PackageIdentifier #

installedVersion :: Installed -> Version #

Get the installed Version.