Safe Haskell | Safe-Inferred |
---|---|
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 -> PackageDBCWD
- 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 -> PackageDBCWD
- storePackageDBStack :: Compiler -> [Maybe PackageDBCWD] -> PackageDBStackCWD
- 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 Source #
The layout of the project state directory. Traditionally this has been
called the dist
directory.
Constructors
DistDirLayout | |
Fields
|
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.
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 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 either
the file is found or the project root directory was specified.
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 Source # | |
Defined in Distribution.Client.DistDirLayout Methods showsPrec :: Int -> ProjectRoot -> ShowS # show :: ProjectRoot -> String # showList :: [ProjectRoot] -> ShowS # | |
Eq ProjectRoot Source # | |
Defined in Distribution.Client.DistDirLayout |
StoreDirLayout
data StoreDirLayout Source #
The layout of a cabal nix-style store.
Constructors
StoreDirLayout | |
Fields
|
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.
Constructors
CabalDirLayout | |
Fields |