Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
The layout of the ./dist/ directory where cabal keeps all of its state and build artifacts.
Synopsis
- data DistDirLayout = DistDirLayout {
- distProjectRootDirectory :: FilePath
- distProjectFile :: String -> FilePath
- distDirectory :: FilePath
- distBuildDirectory :: DistDirParams -> FilePath
- distBuildRootDirectory :: FilePath
- distDownloadSrcDirectory :: FilePath
- distUnpackedSrcDirectory :: PackageId -> FilePath
- distUnpackedSrcRootDirectory :: FilePath
- distProjectCacheFile :: String -> FilePath
- distProjectCacheDirectory :: FilePath
- distPackageCacheFile :: DistDirParams -> String -> FilePath
- distPackageCacheDirectory :: DistDirParams -> FilePath
- distSdistFile :: PackageId -> FilePath
- distSdistDirectory :: FilePath
- distTempDirectory :: FilePath
- distBinDirectory :: FilePath
- distPackageDB :: CompilerId -> PackageDB
- data DistDirParams = DistDirParams {}
- defaultDistDirLayout :: ProjectRoot -> Maybe FilePath -> DistDirLayout
- data ProjectRoot
- data StoreDirLayout = StoreDirLayout {
- storeDirectory :: CompilerId -> FilePath
- storePackageDirectory :: CompilerId -> UnitId -> FilePath
- storePackageDBPath :: CompilerId -> FilePath
- storePackageDB :: CompilerId -> PackageDB
- storePackageDBStack :: CompilerId -> PackageDBStack
- storeIncomingDirectory :: CompilerId -> FilePath
- storeIncomingLock :: CompilerId -> UnitId -> FilePath
- defaultStoreDirLayout :: FilePath -> StoreDirLayout
- data CabalDirLayout = CabalDirLayout {}
- mkCabalDirLayout :: Maybe FilePath -> Maybe FilePath -> IO CabalDirLayout
- defaultCabalDirLayout :: IO CabalDirLayout
DistDirLayout
data DistDirLayout Source #
The layout of the project state directory. Traditionally this has been
called the dist
directory.
DistDirLayout | |
|
data DistDirParams Source #
Information which can be used to construct the path to
the build directory of a build. This is LESS fine-grained
than what goes into the hashed InstalledPackageId
,
and for good reason: we don't want this path to change if
the user, say, adds a dependency to their project.
:: ProjectRoot | the project root |
-> Maybe FilePath | the |
-> DistDirLayout |
Make the default DistDirLayout
based on the project root dir and
optional overrides for the location of the dist
directory and the
cabal.project
file.
data ProjectRoot Source #
Information about the root directory of the project.
It can either be an implicit project root in the current dir if no
cabal.project
file is found, or an explicit root if the file is found.
ProjectRootImplicit FilePath |
|
ProjectRootExplicit FilePath FilePath |
|
Instances
Show ProjectRoot Source # | |
Defined in Distribution.Client.DistDirLayout showsPrec :: Int -> ProjectRoot -> ShowS # show :: ProjectRoot -> String # showList :: [ProjectRoot] -> ShowS # | |
Eq ProjectRoot Source # | |
Defined in Distribution.Client.DistDirLayout (==) :: ProjectRoot -> ProjectRoot -> Bool # (/=) :: ProjectRoot -> ProjectRoot -> Bool # |
StoreDirLayout
data StoreDirLayout Source #
The layout of a cabal nix-style store.
StoreDirLayout | |
|
CabalDirLayout
data CabalDirLayout Source #
The layout of the user-wide cabal directory, that is the ~/.cabal
dir
on unix, and equivalents on other systems.
At the moment this is just a partial specification, but the idea is eventually to cover it all.