Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 62 additions & 46 deletions Cabal/src/Distribution/Simple.hs
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,15 @@ defaultMainWithSetupHooksArgs setupHooks verbHandles =
, hscolourHook = setup_hscolourHook
}
where
preBuildHook =
case SetupHooks.preBuildComponentRules (SetupHooks.buildHooks setupHooks) of
Nothing -> const $ return []
Just pbcRules -> \pbci -> runPreBuildHooks verbHandles pbci pbcRules
postBuildHook =
case SetupHooks.postBuildComponentHook (SetupHooks.buildHooks setupHooks) of
Nothing -> const $ return ()
Just hk -> hk

setup_confHook
:: (GenericPackageDescription, HookedBuildInfo)
-> ConfigFlags
Expand All @@ -189,13 +198,14 @@ defaultMainWithSetupHooksArgs setupHooks verbHandles =
-> BuildFlags
-> IO ()
setup_buildHook pkg_descr lbi hooks flags =
build_setupHooks
(SetupHooks.buildHooks setupHooks)
verbHandles
pkg_descr
lbi
flags
(allSuffixHandlers hooks)
void $
build_setupHooks
(preBuildHook, postBuildHook)
verbHandles
pkg_descr
lbi
flags
(allSuffixHandlers hooks)

setup_copyHook
:: PackageDescription
Expand Down Expand Up @@ -230,14 +240,15 @@ defaultMainWithSetupHooksArgs setupHooks verbHandles =
-> [String]
-> IO ()
setup_replHook pkg_descr lbi hooks flags args =
repl_setupHooks
(SetupHooks.buildHooks setupHooks)
verbHandles
pkg_descr
lbi
flags
(allSuffixHandlers hooks)
args
void $
repl_setupHooks
preBuildHook
verbHandles
pkg_descr
lbi
flags
(allSuffixHandlers hooks)
args

setup_haddockHook
:: PackageDescription
Expand All @@ -246,13 +257,14 @@ defaultMainWithSetupHooksArgs setupHooks verbHandles =
-> HaddockFlags
-> IO ()
setup_haddockHook pkg_descr lbi hooks flags =
haddock_setupHooks
(SetupHooks.buildHooks setupHooks)
verbHandles
pkg_descr
lbi
(allSuffixHandlers hooks)
flags
void $
haddock_setupHooks
preBuildHook
verbHandles
pkg_descr
lbi
(allSuffixHandlers hooks)
flags

setup_hscolourHook
:: PackageDescription
Expand All @@ -261,13 +273,14 @@ defaultMainWithSetupHooksArgs setupHooks verbHandles =
-> HscolourFlags
-> IO ()
setup_hscolourHook pkg_descr lbi hooks flags =
hscolour_setupHooks
(SetupHooks.buildHooks setupHooks)
verbHandles
pkg_descr
lbi
(allSuffixHandlers hooks)
flags
void $
hscolour_setupHooks
preBuildHook
verbHandles
pkg_descr
lbi
(allSuffixHandlers hooks)
flags

-- | A customizable version of 'defaultMain'.
defaultMainWithHooks :: UserHooks -> IO ()
Expand Down Expand Up @@ -931,12 +944,13 @@ simpleUserHooksWithHandles verbHandles =
, testHook = defaultTestHook verbHandles
, benchHook = defaultBenchHook verbHandles
, cleanHook = \p _ _ f -> clean verbHandles p f
, hscolourHook = \p l h f -> hscolour_setupHooks SetupHooks.noBuildHooks verbHandles p l (allSuffixHandlers h) f
, haddockHook = \p l h f -> haddock_setupHooks SetupHooks.noBuildHooks verbHandles p l (allSuffixHandlers h) f
, hscolourHook = \p l h f -> void $ hscolour_setupHooks noBuildHooks verbHandles p l (allSuffixHandlers h) f
, haddockHook = \p l h f -> void $ haddock_setupHooks noBuildHooks verbHandles p l (allSuffixHandlers h) f
, regHook = defaultRegHook verbHandles
, unregHook = \p l _ f -> unregisterWithHandles verbHandles p l f
}
where
noBuildHooks = const (pure [])
finalChecks _args flags pkg_descr lbi =
checkForeignDeps pkg_descr lbi (modifyVerbosityFlags lessVerbose verbosity)
where
Expand Down Expand Up @@ -1156,13 +1170,14 @@ defaultBuildHook
-> BuildFlags
-> IO ()
defaultBuildHook verbHandles pkg_descr localbuildinfo hooks flags =
build_setupHooks
SetupHooks.noBuildHooks
verbHandles
pkg_descr
localbuildinfo
flags
(allSuffixHandlers hooks)
void $
build_setupHooks
(const $ return [], const $ pure ())
verbHandles
pkg_descr
localbuildinfo
flags
(allSuffixHandlers hooks)

defaultReplHook
:: VerbosityHandles
Expand All @@ -1173,14 +1188,15 @@ defaultReplHook
-> [String]
-> IO ()
defaultReplHook verbHandles pkg_descr localbuildinfo hooks flags args =
repl_setupHooks
SetupHooks.noBuildHooks
verbHandles
pkg_descr
localbuildinfo
flags
(allSuffixHandlers hooks)
args
void $
repl_setupHooks
(const $ return [])
verbHandles
pkg_descr
localbuildinfo
flags
(allSuffixHandlers hooks)
args

defaultRegHook
:: VerbosityHandles
Expand Down
Loading
Loading