| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Stack.Package
Description
Dealing with Cabal.
- readPackage :: (MonadLogger m, MonadIO m, MonadThrow m, MonadCatch m) => PackageConfig -> Path Abs File -> m ([PWarning], Package)
- readPackageBS :: MonadThrow m => PackageConfig -> ByteString -> m ([PWarning], Package)
- readPackageDir :: (MonadLogger m, MonadIO m, MonadThrow m, MonadCatch m) => PackageConfig -> Path Abs Dir -> m (Path Abs File, [PWarning], Package)
- readPackageUnresolved :: (MonadIO m, MonadThrow m) => Path Abs File -> m ([PWarning], GenericPackageDescription)
- readPackageUnresolvedBS :: MonadThrow m => Maybe (Path Abs File) -> ByteString -> m ([PWarning], GenericPackageDescription)
- resolvePackage :: PackageConfig -> GenericPackageDescription -> Package
- getCabalFileName :: (MonadThrow m, MonadIO m) => Path Abs Dir -> m (Path Abs File)
- data Package = Package {
- packageName :: !PackageName
- packageVersion :: !Version
- packageFiles :: !GetPackageFiles
- packageDeps :: !(Map PackageName VersionRange)
- packageTools :: ![Dependency]
- packageAllDeps :: !(Set PackageName)
- packageFlags :: !(Map FlagName Bool)
- packageHasLibrary :: !Bool
- packageTests :: !(Set Text)
- packageBenchmarks :: !(Set Text)
- packageExes :: !(Set Text)
- packageOpts :: !GetPackageOpts
- packageHasExposedModules :: !Bool
- packageSimpleType :: !Bool
- packageDefinedFlags :: !(Set FlagName)
- newtype GetPackageFiles = GetPackageFiles {
- getPackageFiles :: forall m env. (MonadIO m, MonadLogger m, MonadThrow m, MonadCatch m, MonadReader env m, HasPlatform env, HasEnvConfig env) => Path Abs File -> m (Map NamedComponent (Set ModuleName), Map NamedComponent (Set DotCabalPath), Set (Path Abs File), [PackageWarning])
- newtype GetPackageOpts = GetPackageOpts {
- getPackageOpts :: forall env m. (MonadIO m, HasEnvConfig env, HasPlatform env, MonadThrow m, MonadReader env m, MonadLogger m, MonadCatch m) => SourceMap -> InstalledMap -> [PackageName] -> Path Abs File -> m (Map NamedComponent (Set ModuleName), Map NamedComponent (Set DotCabalPath), Map NamedComponent [String], [String])
- data PackageConfig = PackageConfig {}
- buildLogPath :: (MonadReader env m, HasBuildConfig env, MonadThrow m) => Package -> Maybe String -> m (Path Abs File)
- data PackageException
- resolvePackageDescription :: PackageConfig -> GenericPackageDescription -> PackageDescription
- packageToolDependencies :: PackageDescription -> Map ByteString VersionRange
- packageDependencies :: PackageDescription -> Map PackageName VersionRange
- packageIdentifier :: Package -> PackageIdentifier
- autogenDir :: Path Abs Dir -> Path Abs Dir
- checkCabalFileName :: MonadThrow m => PackageName -> Path Abs File -> m ()
- printCabalFileWarning :: MonadLogger m => Path Abs File -> PWarning -> m ()
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
readPackageDir :: (MonadLogger m, MonadIO m, MonadThrow m, MonadCatch m) => PackageConfig -> Path Abs Dir -> m (Path Abs File, [PWarning], Package) Source
Convenience wrapper around readPackage that first finds the cabal file
in the given directory.
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.
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.
Some package info.
Constructors
| Package | |
Fields
| |
newtype GetPackageFiles Source
Files that the package depends on, relative to package directory. Argument is the location of the .cabal file
Constructors
| GetPackageFiles | |
Fields
| |
Instances
newtype GetPackageOpts Source
Files that the package depends on, relative to package directory. Argument is the location of the .cabal file
Constructors
| GetPackageOpts | |
Fields
| |
Instances
data PackageConfig Source
Package build configuration
Constructors
| PackageConfig | |
Fields
| |
Instances
buildLogPath :: (MonadReader env m, HasBuildConfig env, MonadThrow m) => Package -> Maybe String -> m (Path Abs File) Source
Path for the package's build log.
data PackageException Source
All exceptions thrown by the library.
Constructors
Instances
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).
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.