| 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
- distHaddockOutputDir :: Maybe FilePath
- data DistDirParams = DistDirParams {}
- defaultDistDirLayout :: ProjectRoot -> Maybe FilePath -> Maybe FilePath -> DistDirLayout
- data ProjectRoot
- defaultProjectFile :: FilePath
- data StoreDirLayout = StoreDirLayout {
- storeDirectory :: Compiler -> FilePath
- storePackageDirectory :: Compiler -> UnitId -> FilePath
- storePackageDBPath :: Compiler -> FilePath
- storePackageDB :: Compiler -> PackageDB
- storePackageDBStack :: Compiler -> [Maybe PackageDB] -> PackageDBStack
- storeIncomingDirectory :: Compiler -> FilePath
- storeIncomingLock :: Compiler -> 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 |
| -> Maybe FilePath | the documentation directory |
| -> DistDirLayout |
Make the default DistDirLayout based on the project root dir and
optional overrides for the location of the dist directory, the
cabal.project file and the documentation directory.
ProjectRoot
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 either
the file is found or the project root directory was specicied.
Constructors
| ProjectRootImplicit FilePath | An implicit project root. It contains the absolute project root dir. |
| ProjectRootExplicit FilePath FilePath | An explicit project root. It contains the absolute project
root dir and the relative |
| ProjectRootExplicitAbsolute FilePath FilePath | An explicit, absolute project root dir and an explicit, absolute
|
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 | |