Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
HIE.Bios.Cradle.Cabal
Synopsis
- cabalAction :: ResolvedCradles a -> FilePath -> Maybe String -> LogAction IO (WithSeverity Log) -> CradleProjectConfig -> FilePath -> LoadStyle -> CradleLoadResultT IO ComponentOptions
- runCabalGhcCmd :: ResolvedCradles a -> FilePath -> LogAction IO (WithSeverity Log) -> CradleProjectConfig -> [String] -> IO (CradleLoadResult String)
- findCabalFiles :: FilePath -> IO [FilePath]
- withGhcWrapperTool :: LogAction IO (WithSeverity Log) -> GhcProc -> FilePath -> IO FilePath
- processCabalWrapperArgs :: [String] -> Maybe (FilePath, [String])
- isCabalMultipleCompSupported :: MonadIO m => ProgramVersions -> m Bool
Cabal Cradle interface
cabalAction :: ResolvedCradles a -> FilePath -> Maybe String -> LogAction IO (WithSeverity Log) -> CradleProjectConfig -> FilePath -> LoadStyle -> CradleLoadResultT IO ComponentOptions Source #
Main entry point into the cabal cradle invocation.
This function does a lot of work, supporting multiple cabal-install versions and different ways of obtaining the component options.
See Note [Finding ghc-options with cabal] for a detailed elaboration.
runCabalGhcCmd :: ResolvedCradles a -> FilePath -> LogAction IO (WithSeverity Log) -> CradleProjectConfig -> [String] -> IO (CradleLoadResult String) Source #
Locations
findCabalFiles :: FilePath -> IO [FilePath] Source #
Find .cabal files in the given directory.
Might return multiple results,biosAction as we can not know in advance which one is important to the user.
Wrappers
withGhcWrapperTool :: LogAction IO (WithSeverity Log) -> GhcProc -> FilePath -> IO FilePath Source #
Generate a fake GHC that can be passed to cabal or stack when run with --interactive, it will print out its command-line arguments and exit
Argument processing
Exposed for tests
isCabalMultipleCompSupported :: MonadIO m => ProgramVersions -> m Bool Source #