stack-0.1.10.1: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Package

Description

Dealing with Cabal.

Synopsis

Documentation

readPackage :: (MonadLogger m, MonadIO m, MonadThrow m, MonadCatch m) => PackageConfig -> Path Abs File -> m ([PWarning], Package) Source

Reads and exposes the package information

readPackageBS :: MonadThrow m => PackageConfig -> ByteString -> m ([PWarning], Package) Source

Reads and exposes the package information, from a ByteString

readPackageUnresolved :: (MonadIO m, MonadThrow m) => Path Abs File -> m ([PWarning], GenericPackageDescription) Source

Read the raw, unresolved package information.

readPackageUnresolvedBS :: MonadThrow m => Maybe (Path Abs File) -> ByteString -> m ([PWarning], GenericPackageDescription) Source

Read the raw, unresolved package information from a ByteString.

resolvePackage :: PackageConfig -> GenericPackageDescription -> Package Source

Resolve a parsed cabal file into a Package.

getCabalFileName Source

Arguments

:: (MonadThrow m, MonadIO m) 
=> Path Abs Dir

package directory

-> m (Path Abs File) 

Get the filename for the cabal file in the given directory.

If no .cabal file is present, or more than one is present, an exception is thrown via throwM.

data Package Source

Some package info.

Constructors

Package 

Fields

Instances

Eq Package Source

Compares the package name.

Methods

(==) :: Package -> Package -> Bool

(/=) :: Package -> Package -> Bool

Ord Package Source

Compares the package name.

Show Package Source 

newtype GetPackageFiles Source

Files that the package depends on, relative to package directory. Argument is the location of the .cabal file

newtype GetPackageOpts Source

Files that the package depends on, relative to package directory. Argument is the location of the .cabal file

data PackageConfig Source

Package build configuration

Constructors

PackageConfig 

Fields

buildLogPath :: (MonadReader env m, HasBuildConfig env, MonadThrow m) => Package -> Maybe String -> m (Path Abs File) Source

Path for the package's build log.

resolvePackageDescription :: PackageConfig -> GenericPackageDescription -> PackageDescription Source

Get all dependencies of a package, including library, executables, tests, benchmarks.

packageToolDependencies :: PackageDescription -> Map ByteString VersionRange Source

Get all build tool dependencies of the package (buildable targets only).

packageDependencies :: PackageDescription -> Map PackageName VersionRange Source

Get all dependencies of the package (buildable targets only).

autogenDir :: Path Abs Dir -> Path Abs Dir Source

Make the autogen dir.

checkCabalFileName :: MonadThrow m => PackageName -> Path Abs File -> m () Source

Check if the given name in the Package matches the name of the .cabal file

printCabalFileWarning :: MonadLogger m => Path Abs File -> PWarning -> m () Source

Print cabal file warnings.

cabalFilePackageId :: (Applicative m, MonadIO m, MonadThrow m) => Path Abs File -> m PackageIdentifier Source

Extract the PackageIdentifier given an exploded haskell package path.