| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Distribution.Client.DistDirLayout
Description
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 #
The layout of the project state directory. Traditionally this has been
called the dist directory.
Constructors
| DistDirLayout | |
Fields
| |
data DistDirParams #
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.
Arguments
| :: 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 #
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.
Constructors
| ProjectRootImplicit FilePath |
|
| ProjectRootExplicit FilePath FilePath |
|
Instances
| Show ProjectRoot # | |
Defined in Distribution.Client.DistDirLayout Methods showsPrec :: Int -> ProjectRoot -> ShowS # show :: ProjectRoot -> String # showList :: [ProjectRoot] -> ShowS # | |
| Eq ProjectRoot # | |
Defined in Distribution.Client.DistDirLayout | |
StoreDirLayout
data StoreDirLayout #
The layout of a cabal nix-style store.
Constructors
| StoreDirLayout | |
Fields
| |
CabalDirLayout
data CabalDirLayout #
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.
Constructors
| CabalDirLayout | |
Fields | |