Safe Haskell | None |
---|---|
Language | Haskell2010 |
Functions to retrieve and store mapping from modules to their targets and extensions.
- type ExtensionsMap = HashMap TargetId [String]
- type ModulesMap = HashMap FilePath ModulesBundle
- data ModulesBundle = ModulesBundle {}
- data TargetId
- = LibraryId
- | ExecutableId !Text
- | TestSuiteId !Text
- | BenchmarkId !Text
- extractTargetBuildInfo :: TargetId -> GenericPackageDescription -> Maybe BuildInfo
- extractTargetsMap :: Path Abs Dir -> GenericPackageDescription -> IO TargetsMap
- packageExtensions :: [TargetId] -> GenericPackageDescription -> ExtensionsMap
- packageTargets :: GenericPackageDescription -> [TargetId]
- targetIdDir :: TargetId -> Text
Maps from modules paths to cache parts
type ModulesMap = HashMap FilePath ModulesBundle Source #
Mapping from module path to its package and module name.
Target types
data ModulesBundle Source #
All data for given module. This is needed to locate all required information about module by its path.
Utilities to extract targets
extractTargetsMap :: Path Abs Dir -> GenericPackageDescription -> IO TargetsMap Source #
This function extracts ModulesMap
from given package by given
full path to project root directory.
packageExtensions :: [TargetId] -> GenericPackageDescription -> ExtensionsMap Source #
Extracts mapping from each package target to its extensions enabled by default.
packageTargets :: GenericPackageDescription -> [TargetId] Source #
Extract every TargetId
for given project description.
targetIdDir :: TargetId -> Text Source #
Directory name for corresponding target.