cabal-install-3.10.1.0: The command-line interface for Cabal and Hackage.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Client.DistDirLayout

Description

The layout of the ./dist/ directory where cabal keeps all of its state and build artifacts.

Synopsis

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.

defaultDistDirLayout Source #

Arguments

:: ProjectRoot

the project root

-> Maybe FilePath

the dist directory or default (absolute or relative to the root)

-> 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.

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 cabal.project file (or explicit override)

Instances

Instances details
Show ProjectRoot Source # 
Instance details

Defined in Distribution.Client.DistDirLayout

Eq ProjectRoot Source # 
Instance details

Defined in Distribution.Client.DistDirLayout

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.

mkCabalDirLayout Source #

Arguments

:: Maybe FilePath

Store directory. Must be absolute

-> Maybe FilePath

Log directory

-> IO CabalDirLayout