The layout of the project state directory. Traditionally this has been
called the dist directory.
Constructors
DistDirLayoutdistProjectRootDirectory :: FilePathThe root directory of the project. Many other files are relative to this location (e.g. the
cabal.projectfile).distProjectFile :: String -> FilePathThe
cabal.projectfile and related likecabal.project.freeze. The parameter is for the extension, like "freeze", or "" for the main file.distDirectory :: FilePathThe "dist" directory, which is the root of where cabal keeps all its state including the build artifacts from each package we build.
distBuildDirectory :: DistDirParams -> FilePathThe directory under dist where we keep the build artifacts for a package we're building from a local directory.
This uses a UnitId not just a
PackageNamebecause technically we can have multiple instances of the same package in a solution (e.g. setup deps).distBuildRootDirectory :: FilePathdistDownloadSrcDirectory :: FilePathThe directory under dist where we download tarballs and source control repos to.
distUnpackedSrcDirectory :: PackageId -> FilePathThe directory under dist where we put the unpacked sources of packages, in those cases where it makes sense to keep the build artifacts to reduce rebuild times.
distUnpackedSrcRootDirectory :: FilePathdistProjectCacheFile :: String -> FilePathThe location for project-wide cache files (e.g. state used in incremental rebuilds).
distProjectCacheDirectory :: FilePathdistPackageCacheFile :: DistDirParams -> String -> FilePathThe location for package-specific cache files (e.g. state used in incremental rebuilds).
distPackageCacheDirectory :: DistDirParams -> FilePathdistSdistFile :: PackageId -> FilePathThe location that sdists are placed by default.
distSdistDirectory :: FilePathdistTempDirectory :: FilePathdistBinDirectory :: FilePathdistPackageDB :: CompilerId -> PackageDBdistHaddockOutputDir :: Maybe FilePathIs needed when `--haddock-output-dir` flag is used.