diff --git a/cabal-install/src/Distribution/Client/CmdBench.hs b/cabal-install/src/Distribution/Client/CmdBench.hs index f6fc6e55d9d..f9adc80432b 100644 --- a/cabal-install/src/Distribution/Client/CmdBench.hs +++ b/cabal-install/src/Distribution/Client/CmdBench.hs @@ -1,5 +1,3 @@ -{-# LANGUAGE RecordWildCards #-} - -- | cabal-install CLI command: bench module Distribution.Client.CmdBench ( -- * The @bench@ CLI and action @@ -29,13 +27,13 @@ import Distribution.Client.CmdErrorMessages import Distribution.Client.Errors import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) import Distribution.Client.ProjectOrchestration import Distribution.Client.Setup - ( ConfigFlags (..) - , GlobalFlags + ( GlobalFlags ) import Distribution.Client.TargetProblem ( TargetProblem (..) @@ -47,10 +45,6 @@ import Distribution.Simple.Command ( CommandUI (..) , usageAlternatives ) -import Distribution.Simple.Flag - ( fromFlagOrDefault - ) -import Distribution.Simple.Setup (CommonSetupFlags (..)) import Distribution.Simple.Utils ( dieWithException , warn @@ -111,7 +105,7 @@ benchCommand = -- For more details on how this works, see the module -- "Distribution.Client.ProjectOrchestration" benchAction :: NixStyleFlags () -> [String] -> GlobalFlags -> IO () -benchAction flags@NixStyleFlags{..} targetStrings globalFlags = do +benchAction flags targetStrings globalFlags = do baseCtx <- establishProjectBaseContext verbosity cliConfig OtherCommand targetSelectors <- @@ -151,7 +145,7 @@ benchAction flags@NixStyleFlags{..} targetStrings globalFlags = do buildOutcomes <- runProjectBuildPhase verbosity baseCtx buildCtx runProjectPostBuildPhase verbosity baseCtx buildCtx buildOutcomes where - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity normal flags cliConfig = commandLineFlagsToProjectConfig globalFlags diff --git a/cabal-install/src/Distribution/Client/CmdBuild.hs b/cabal-install/src/Distribution/Client/CmdBuild.hs index 6c8b6540033..7314187b815 100644 --- a/cabal-install/src/Distribution/Client/CmdBuild.hs +++ b/cabal-install/src/Distribution/Client/CmdBuild.hs @@ -1,5 +1,3 @@ -{-# LANGUAGE RecordWildCards #-} - -- | cabal-install CLI command: build module Distribution.Client.CmdBuild ( -- * The @build@ CLI and action @@ -30,6 +28,7 @@ import qualified Data.Map as Map import Distribution.Client.Errors import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -40,9 +39,7 @@ import Distribution.Client.ScriptUtils , withContextAndSelectors ) import Distribution.Client.Setup - ( CommonSetupFlags (..) - , ConfigFlags (..) - , GlobalFlags + ( GlobalFlags , yesNoOpt ) import Distribution.Simple.Command @@ -50,7 +47,7 @@ import Distribution.Simple.Command , option , usageAlternatives ) -import Distribution.Simple.Flag (Flag, fromFlag, fromFlagOrDefault, toFlag) +import Distribution.Simple.Flag (Flag, fromFlag, toFlag) import Distribution.Simple.Utils ( dieWithException , wrapText @@ -134,8 +131,8 @@ defaultBuildFlags = -- For more details on how this works, see the module -- "Distribution.Client.ProjectOrchestration" buildAction :: NixStyleFlags BuildFlags -> [String] -> GlobalFlags -> IO () -buildAction flags@NixStyleFlags{extraFlags = buildFlags, ..} targetStrings globalFlags = - withContextAndSelectors RejectNoTargets Nothing flags targetStrings globalFlags BuildCommand $ \targetCtx ctx targetSelectors -> do +buildAction flags@NixStyleFlags{extraFlags = buildFlags} targetStrings globalFlags = + withContextAndSelectors verbosity RejectNoTargets Nothing flags targetStrings globalFlags BuildCommand $ \targetCtx ctx targetSelectors -> do -- TODO: This flags defaults business is ugly let onlyConfigure = fromFlag @@ -185,7 +182,7 @@ buildAction flags@NixStyleFlags{extraFlags = buildFlags, ..} targetStrings globa buildOutcomes <- runProjectBuildPhase verbosity baseCtx buildCtx runProjectPostBuildPhase verbosity baseCtx buildCtx buildOutcomes where - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity normal flags -- | This defines what a 'TargetSelector' means for the @bench@ command. -- It selects the 'AvailableTarget's that the 'TargetSelector' refers to, diff --git a/cabal-install/src/Distribution/Client/CmdConfigure.hs b/cabal-install/src/Distribution/Client/CmdConfigure.hs index c5bd678c2a3..8ce26f986ad 100644 --- a/cabal-install/src/Distribution/Client/CmdConfigure.hs +++ b/cabal-install/src/Distribution/Client/CmdConfigure.hs @@ -22,16 +22,15 @@ import Distribution.Client.ProjectFlags ) import Distribution.Client.ProjectOrchestration import Distribution.Simple.Flag -import Distribution.Simple.Setup (CommonSetupFlags (..)) import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) import Distribution.Client.Setup ( ConfigExFlags (..) - , ConfigFlags (..) , GlobalFlags ) import Distribution.Verbosity @@ -117,14 +116,14 @@ configureCommand = -- For more details on how this works, see the module -- "Distribution.Client.ProjectOrchestration" configureAction :: NixStyleFlags () -> [String] -> GlobalFlags -> IO () -configureAction flags@NixStyleFlags{..} extraArgs globalFlags = do +configureAction flags extraArgs globalFlags = do (baseCtx, projConfig) <- configureAction' flags extraArgs globalFlags if shouldNotWriteFile baseCtx then notice v "Config file not written due to flag(s)." else writeProjectLocalExtraConfig (distDirLayout baseCtx) projConfig where - v = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + v = cfgVerbosity normal flags configureAction' :: NixStyleFlags () -> [String] -> GlobalFlags -> IO (ProjectBaseContext, ProjectConfig) configureAction' flags@NixStyleFlags{..} _extraArgs globalFlags = do @@ -165,7 +164,7 @@ configureAction' flags@NixStyleFlags{..} _extraArgs globalFlags = do return (baseCtx, conf <> cliConfig) else return (baseCtx, cliConfig) where - v = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + v = cfgVerbosity normal flags cliConfig = commandLineFlagsToProjectConfig globalFlags diff --git a/cabal-install/src/Distribution/Client/CmdExec.hs b/cabal-install/src/Distribution/Client/CmdExec.hs index bdf392d0a78..72e41decb52 100644 --- a/cabal-install/src/Distribution/Client/CmdExec.hs +++ b/cabal-install/src/Distribution/Client/CmdExec.hs @@ -23,6 +23,7 @@ import Distribution.Client.InstallPlan ) import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -58,15 +59,11 @@ import Distribution.Client.ProjectPlanning.Types ( dataDirsEnvironmentForPlan ) import Distribution.Client.Setup - ( ConfigFlags (configCommonFlags) - , GlobalFlags + ( GlobalFlags ) import Distribution.Simple.Command ( CommandUI (..) ) -import Distribution.Simple.Flag - ( fromFlagOrDefault - ) import Distribution.Simple.GHC ( GhcImplInfo (supportsPkgEnvFiles) , getImplInfo @@ -87,7 +84,6 @@ import Distribution.Simple.Program.Run ( programInvocation , runProgramInvocation ) -import Distribution.Simple.Setup (CommonSetupFlags (..)) import Distribution.Simple.Utils ( createDirectoryIfMissingVerbose , dieWithException @@ -144,7 +140,7 @@ execCommand = } execAction :: NixStyleFlags () -> [String] -> GlobalFlags -> IO () -execAction flags@NixStyleFlags{..} extraArgs globalFlags = do +execAction flags extraArgs globalFlags = do baseCtx <- establishProjectBaseContext verbosity cliConfig OtherCommand -- To set up the environment, we'd like to select the libraries in our @@ -224,7 +220,7 @@ execAction flags@NixStyleFlags{..} extraArgs globalFlags = do then notice verbosity "Running of executable suppressed by flag(s)" else runProgramInvocation verbosity invocation where - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity normal flags cliConfig = commandLineFlagsToProjectConfig globalFlags diff --git a/cabal-install/src/Distribution/Client/CmdFreeze.hs b/cabal-install/src/Distribution/Client/CmdFreeze.hs index b8d95f9c0ce..2f4ddaac8b4 100644 --- a/cabal-install/src/Distribution/Client/CmdFreeze.hs +++ b/cabal-install/src/Distribution/Client/CmdFreeze.hs @@ -1,6 +1,5 @@ {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE PatternSynonyms #-} -{-# LANGUAGE RecordWildCards #-} -- | cabal-install CLI command: freeze module Distribution.Client.CmdFreeze @@ -18,6 +17,7 @@ import Distribution.Client.IndexUtils (ActiveRepos, TotalIndexState, filterSkipp import qualified Distribution.Client.InstallPlan as InstallPlan import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -41,9 +41,7 @@ import Distribution.Solver.Types.PackageConstraint ) import Distribution.Client.Setup - ( CommonSetupFlags (setupVerbosity) - , ConfigFlags (..) - , GlobalFlags + ( GlobalFlags ) import Distribution.Package ( PackageName @@ -54,7 +52,7 @@ import Distribution.PackageDescription ( FlagAssignment , nullFlagAssignment ) -import Distribution.Simple.Flag (fromFlagOrDefault, pattern Flag) +import Distribution.Simple.Flag (pattern Flag) import Distribution.Simple.Utils ( dieWithException , notice @@ -126,7 +124,7 @@ freezeCommand = -- For more details on how this works, see the module -- "Distribution.Client.ProjectOrchestration" freezeAction :: NixStyleFlags () -> [String] -> GlobalFlags -> IO () -freezeAction flags@NixStyleFlags{..} extraArgs globalFlags = do +freezeAction flags extraArgs globalFlags = do unless (null extraArgs) $ dieWithException verbosity $ FreezeAction extraArgs @@ -161,7 +159,7 @@ freezeAction flags@NixStyleFlags{..} extraArgs globalFlags = do notice verbosity $ "Wrote freeze file: " ++ (distProjectFile distDirLayout "freeze") where - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity normal flags cliConfig = commandLineFlagsToProjectConfig globalFlags diff --git a/cabal-install/src/Distribution/Client/CmdGenBounds.hs b/cabal-install/src/Distribution/Client/CmdGenBounds.hs index 0d0403526f7..6e47fcd6a9c 100644 --- a/cabal-install/src/Distribution/Client/CmdGenBounds.hs +++ b/cabal-install/src/Distribution/Client/CmdGenBounds.hs @@ -27,7 +27,7 @@ import Distribution.PackageDescription import Distribution.Simple.Utils import Distribution.Version -import Distribution.Client.Setup (CommonSetupFlags (..), ConfigFlags (..), GlobalFlags (..)) +import Distribution.Client.Setup (GlobalFlags (..)) -- Project orchestration imports @@ -40,7 +40,6 @@ import Distribution.Client.ProjectOrchestration import Distribution.Client.ScriptUtils import Distribution.Client.TargetProblem import Distribution.Simple.Command -import Distribution.Simple.Flag import Distribution.Types.Component import Distribution.Verbosity @@ -84,9 +83,7 @@ genBoundsCommand = -- | The action for the @gen-bounds@ command when used in a project context. genBoundsAction :: NixStyleFlags GenBoundsFlags -> [String] -> GlobalFlags -> IO () genBoundsAction flags targetStrings globalFlags = - withContextAndSelectors RejectNoTargets Nothing flags targetStrings globalFlags OtherCommand $ \targetCtx ctx targetSelectors -> do - let verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags $ configFlags flags) - + withContextAndSelectors verbosity RejectNoTargets Nothing flags targetStrings globalFlags OtherCommand $ \targetCtx ctx targetSelectors -> do baseCtx <- case targetCtx of ProjectContext -> return ctx GlobalContext -> return ctx @@ -155,6 +152,8 @@ genBoundsAction flags targetStrings globalFlags = notice verbosity boundsNeededMsg mapM_ (renderBoundsResult verbosity) boundsActions else notice verbosity "All bounds up-to-date" + where + verbosity = cfgVerbosity normal flags data GenBoundsResult = GenBoundsResult PackageIdentifier ComponentTarget (Maybe [PackageIdentifier]) diff --git a/cabal-install/src/Distribution/Client/CmdHaddock.hs b/cabal-install/src/Distribution/Client/CmdHaddock.hs index 74f10f44dfc..f9be5763b3b 100644 --- a/cabal-install/src/Distribution/Client/CmdHaddock.hs +++ b/cabal-install/src/Distribution/Client/CmdHaddock.hs @@ -20,6 +20,7 @@ import Prelude () import Distribution.Client.CmdErrorMessages import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -32,9 +33,7 @@ import Distribution.Client.ProjectPlanning ( ElaboratedSharedConfig (..) ) import Distribution.Client.Setup - ( CommonSetupFlags (..) - , ConfigFlags (..) - , GlobalFlags + ( GlobalFlags , InstallFlags (..) ) import Distribution.Client.TargetProblem @@ -150,7 +149,7 @@ haddockAction relFlags targetStrings globalFlags = do flags@NixStyleFlags{..} <- mkFlagsAbsolute relFlags let - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity normal flags installDoc = fromFlagOrDefault True (installDocumentation installFlags) flags' = flags{installFlags = installFlags{installDocumentation = Flag installDoc}} cliConfig = commandLineFlagsToProjectConfig globalFlags flags' mempty -- ClientInstallFlags, not needed here diff --git a/cabal-install/src/Distribution/Client/CmdHaddockProject.hs b/cabal-install/src/Distribution/Client/CmdHaddockProject.hs index e69ceff3089..9d1e589aa32 100644 --- a/cabal-install/src/Distribution/Client/CmdHaddockProject.hs +++ b/cabal-install/src/Distribution/Client/CmdHaddockProject.hs @@ -127,6 +127,7 @@ haddockProjectAction flags _extraArgs globalFlags = do -- withContextAndSelectors + verbosity RejectNoTargets Nothing (commandDefaultFlags CmdBuild.buildCommand) diff --git a/cabal-install/src/Distribution/Client/CmdInstall.hs b/cabal-install/src/Distribution/Client/CmdInstall.hs index a479317069c..5db4466705c 100644 --- a/cabal-install/src/Distribution/Client/CmdInstall.hs +++ b/cabal-install/src/Distribution/Client/CmdInstall.hs @@ -63,6 +63,7 @@ import Distribution.Client.InstallSymlink ) import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -98,8 +99,7 @@ import Distribution.Client.RebuildMonad ( runRebuild ) import Distribution.Client.Setup - ( CommonSetupFlags (..) - , ConfigFlags (..) + ( ConfigFlags (..) , GlobalFlags (..) , InstallFlags (..) ) @@ -546,7 +546,7 @@ installAction flags@NixStyleFlags{extraFlags, configFlags, installFlags, project traverseInstall (installCheckUnitExes InstallCheckInstall) installCfg where configFlags' = disableTestsBenchsByDefault . ignoreProgramAffixes $ configFlags - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags') + verbosity = cfgVerbosity normal flags ignoreProject = flagIgnoreProject projectFlags cliConfig = commandLineFlagsToProjectConfig diff --git a/cabal-install/src/Distribution/Client/CmdListBin.hs b/cabal-install/src/Distribution/Client/CmdListBin.hs index 797db65c395..0dc78bcb4f3 100644 --- a/cabal-install/src/Distribution/Client/CmdListBin.hs +++ b/cabal-install/src/Distribution/Client/CmdListBin.hs @@ -1,5 +1,4 @@ {-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} module Distribution.Client.CmdListBin ( listbinCommand @@ -30,10 +29,12 @@ import Distribution.Client.CmdErrorMessages import Distribution.Client.DistDirLayout (DistDirLayout (..)) import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) -import Distribution.Client.ProjectOrchestration +import Distribution.Client.ProjectOrchestration hiding (distDirLayout, targetsMap) +import qualified Distribution.Client.ProjectOrchestration as Orchestration (distDirLayout, targetsMap) import Distribution.Client.ProjectPlanning.Types import Distribution.Client.ScriptUtils ( AcceptNoTargets (..) @@ -46,7 +47,6 @@ import Distribution.Client.Setup (GlobalFlags (..)) import Distribution.Client.TargetProblem (TargetProblem (..)) import Distribution.Simple.BuildPaths (dllExtension, exeExtension) import Distribution.Simple.Command (CommandUI (..)) -import Distribution.Simple.Setup (configCommonFlags, fromFlagOrDefault, setupVerbosity) import Distribution.Simple.Utils (dieWithException, withOutputMarker, wrapText) import Distribution.System (Platform) import Distribution.Types.ComponentName (showComponentName) @@ -86,7 +86,7 @@ listbinCommand = ------------------------------------------------------------------------------- listbinAction :: NixStyleFlags () -> [String] -> GlobalFlags -> IO () -listbinAction flags@NixStyleFlags{..} args globalFlags = do +listbinAction flags args globalFlags = do -- fail early if multiple target selectors specified target <- case args of [] -> dieWithException verbosity NoTargetProvided @@ -94,7 +94,7 @@ listbinAction flags@NixStyleFlags{..} args globalFlags = do _ -> dieWithException verbosity OneTargetRequired -- configure and elaborate target selectors - withContextAndSelectors RejectNoTargets (Just ExeKind) flags [target] globalFlags OtherCommand $ \targetCtx ctx targetSelectors -> do + withContextAndSelectors verbosity RejectNoTargets (Just ExeKind) flags [target] globalFlags OtherCommand $ \targetCtx ctx targetSelectors -> do baseCtx <- case targetCtx of ProjectContext -> return ctx GlobalContext -> return ctx @@ -140,7 +140,7 @@ listbinAction flags@NixStyleFlags{..} args globalFlags = do singleComponentOrElse ( dieWithException verbosity ThisIsABug ) - $ targetsMap buildCtx + $ Orchestration.targetsMap buildCtx printPlan verbosity baseCtx buildCtx @@ -150,7 +150,7 @@ listbinAction flags@NixStyleFlags{..} args globalFlags = do return $ IP.foldPlanPackage (const []) -- IPI don't have executables - (elaboratedPackage (distDirLayout baseCtx) (elaboratedShared buildCtx) selectedComponent) + (elaboratedPackage (Orchestration.distDirLayout baseCtx) (elaboratedShared buildCtx) selectedComponent) gpp case binfiles of @@ -170,7 +170,7 @@ listbinAction flags@NixStyleFlags{..} args globalFlags = do _ -> dieWithException verbosity MultipleTargetsFound where defaultVerbosity = verboseStderr silent - verbosity = fromFlagOrDefault defaultVerbosity (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity defaultVerbosity flags -- this is copied from elaboratedPackage diff --git a/cabal-install/src/Distribution/Client/CmdOutdated.hs b/cabal-install/src/Distribution/Client/CmdOutdated.hs index ecd6621283f..56b5017fa85 100644 --- a/cabal-install/src/Distribution/Client/CmdOutdated.hs +++ b/cabal-install/src/Distribution/Client/CmdOutdated.hs @@ -240,6 +240,7 @@ getSourcePackages verbosity projectConfig = outdatedAction :: NixStyleFlags OutdatedFlags -> [String] -> GlobalFlags -> IO () outdatedAction flags targetStrings globalFlags = withContextAndSelectors + verbosity AcceptNoTargets Nothing flags diff --git a/cabal-install/src/Distribution/Client/CmdPath.hs b/cabal-install/src/Distribution/Client/CmdPath.hs index 87058e03b67..bec228a771e 100644 --- a/cabal-install/src/Distribution/Client/CmdPath.hs +++ b/cabal-install/src/Distribution/Client/CmdPath.hs @@ -1,6 +1,5 @@ {-# LANGUAGE LambdaCase #-} {-# LANGUAGE PatternSynonyms #-} -{-# LANGUAGE RecordWildCards #-} -- | -- Module : Distribution.Client.CmdPath @@ -31,6 +30,7 @@ import Distribution.Client.Errors import Distribution.Client.GlobalFlags import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -44,8 +44,7 @@ import Distribution.Client.ProjectPlanning import Distribution.Client.RebuildMonad (runRebuild) import Distribution.Client.ScriptUtils import Distribution.Client.Setup - ( ConfigFlags (..) - , yesNoOpt + ( yesNoOpt ) import Distribution.Client.Utils.Json ( (.=) @@ -226,7 +225,7 @@ pathName ConfigPathInstallDir = "installdir" -- | Entry point for the 'path' command. pathAction :: NixStyleFlags PathFlags -> [String] -> GlobalFlags -> IO () -pathAction flags@NixStyleFlags{extraFlags = pathFlags', ..} cliTargetStrings globalFlags = withContextAndSelectors AcceptNoTargets Nothing flags [] globalFlags OtherCommand $ \_ baseCtx _ -> do +pathAction flags@NixStyleFlags{extraFlags = pathFlags'} cliTargetStrings globalFlags = withContextAndSelectors verbosity AcceptNoTargets Nothing flags [] globalFlags OtherCommand $ \_ baseCtx _ -> do let pathFlags = if pathCompiler pathFlags' == NoFlag && pathDirectories pathFlags' == NoFlag then -- if not a single key to query is given, query everything! @@ -268,7 +267,7 @@ pathAction flags@NixStyleFlags{extraFlags = pathFlags', ..} cliTargetStrings glo putStr $ withOutputMarker verbosity output where - verbosity = fromFlagOrDefault normal (configVerbosity configFlags) + verbosity = cfgVerbosity normal flags -- | Find the FilePath location for common configuration paths. -- diff --git a/cabal-install/src/Distribution/Client/CmdRepl.hs b/cabal-install/src/Distribution/Client/CmdRepl.hs index 6eef1221e46..4910161b442 100644 --- a/cabal-install/src/Distribution/Client/CmdRepl.hs +++ b/cabal-install/src/Distribution/Client/CmdRepl.hs @@ -43,6 +43,7 @@ import Distribution.Client.Errors import qualified Distribution.Client.InstallPlan as InstallPlan import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -105,7 +106,6 @@ import Distribution.Simple.Compiler import Distribution.Simple.Setup ( ReplOptions (..) , commonSetupTempFileOptions - , setupVerbosity ) import Distribution.Simple.Utils ( debugNoWrap @@ -286,7 +286,7 @@ multiReplDecision ctx compiler flags = -- "Distribution.Client.ProjectOrchestration" replAction :: NixStyleFlags ReplFlags -> [String] -> GlobalFlags -> IO () replAction flags@NixStyleFlags{extraFlags = r@ReplFlags{..}, ..} targetStrings globalFlags = - withContextAndSelectors AcceptNoTargets (Just LibKind) flags targetStrings globalFlags ReplCommand $ \targetCtx ctx targetSelectors -> do + withContextAndSelectors verbosity AcceptNoTargets (Just LibKind) flags targetStrings globalFlags ReplCommand $ \targetCtx ctx targetSelectors -> do when (buildSettingOnlyDeps (buildSettings ctx)) $ dieWithException verbosity ReplCommandDoesn'tSupport let projectRoot = distProjectRootDirectory $ distDirLayout ctx @@ -507,7 +507,7 @@ replAction flags@NixStyleFlags{extraFlags = r@ReplFlags{..}, ..} targetStrings g go m ("PATH", Just s) = foldl' (\m' f -> Map.insertWith (+) f 1 m') m (splitSearchPath s) go m _ = m - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity normal flags tempFileOptions = commonSetupTempFileOptions $ configCommonFlags configFlags validatedTargets ctx compiler elaboratedPlan targetSelectors = do diff --git a/cabal-install/src/Distribution/Client/CmdRun.hs b/cabal-install/src/Distribution/Client/CmdRun.hs index e96054fb574..6f3d4123af7 100644 --- a/cabal-install/src/Distribution/Client/CmdRun.hs +++ b/cabal-install/src/Distribution/Client/CmdRun.hs @@ -1,5 +1,4 @@ {-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TupleSections #-} -- | cabal-install CLI command: run @@ -43,6 +42,7 @@ import Distribution.Client.InstallPlan ) import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -50,7 +50,8 @@ import Distribution.Client.ProjectConfig.Types ( ProjectConfig (projectConfigShared) , ProjectConfigShared (projectConfigProgPathExtra) ) -import Distribution.Client.ProjectOrchestration +import Distribution.Client.ProjectOrchestration hiding (targetsMap) +import qualified Distribution.Client.ProjectOrchestration as Orchestration (targetsMap) import Distribution.Client.ProjectPlanning ( ElaboratedConfiguredPackage (..) , ElaboratedInstallPlan @@ -70,9 +71,7 @@ import Distribution.Client.ScriptUtils , withContextAndSelectors ) import Distribution.Client.Setup - ( CommonSetupFlags (setupVerbosity) - , ConfigFlags (..) - , GlobalFlags (..) + ( GlobalFlags (..) ) import Distribution.Client.TargetProblem ( TargetProblem (..) @@ -89,9 +88,6 @@ import Distribution.Simple.Command ( CommandUI (..) , usageAlternatives ) -import Distribution.Simple.Flag - ( fromFlagOrDefault - ) import Distribution.Simple.Program.Find ( ProgramSearchPathEntry (ProgramSearchPathDir) , defaultProgramSearchPath @@ -115,7 +111,7 @@ import Distribution.Simple.Utils import Distribution.Types.ComponentName ( componentNameRaw ) -import Distribution.Types.Executable as PD +import qualified Distribution.Types.Executable as PD ( buildInfo , exeName ) @@ -205,14 +201,14 @@ runCommand = -- For more details on how this works, see the module -- "Distribution.Client.ProjectOrchestration" runAction :: NixStyleFlags () -> [String] -> GlobalFlags -> IO () -runAction flags@NixStyleFlags{..} targetAndArgs globalFlags = - withContextAndSelectors RejectNoTargets (Just ExeKind) flags targetStr globalFlags OtherCommand $ \targetCtx ctx targetSelectors -> do +runAction flags targetAndArgs globalFlags = + withContextAndSelectors (cfgVerbosity normal flags) RejectNoTargets (Just ExeKind) flags targetStr globalFlags OtherCommand $ \targetCtx ctx targetSelectors -> do (baseCtx, defaultVerbosity) <- case targetCtx of ProjectContext -> return (ctx, normal) GlobalContext -> return (ctx, normal) ScriptContext path exemeta -> (,silent) <$> updateContextAndWriteProjectFile ctx path exemeta - let verbosity = fromFlagOrDefault defaultVerbosity (setupVerbosity $ configCommonFlags configFlags) + let verbosity = cfgVerbosity defaultVerbosity flags buildCtx <- runProjectPreBuildPhase verbosity baseCtx $ \elaboratedPlan -> do @@ -262,7 +258,7 @@ runAction flags@NixStyleFlags{..} targetAndArgs globalFlags = singleExeOrElse ( dieWithException verbosity RunPhaseReached ) - $ targetsMap buildCtx + $ Orchestration.targetsMap buildCtx printPlan verbosity baseCtx buildCtx diff --git a/cabal-install/src/Distribution/Client/CmdTest.hs b/cabal-install/src/Distribution/Client/CmdTest.hs index 272d5b5874c..14b4b8a8d7d 100644 --- a/cabal-install/src/Distribution/Client/CmdTest.hs +++ b/cabal-install/src/Distribution/Client/CmdTest.hs @@ -29,14 +29,13 @@ import Distribution.Client.CmdErrorMessages ) import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) import Distribution.Client.ProjectOrchestration import Distribution.Client.Setup - ( CommonSetupFlags (..) - , ConfigFlags (..) - , GlobalFlags (..) + ( GlobalFlags (..) ) import Distribution.Client.TargetProblem ( TargetProblem (..) @@ -54,7 +53,6 @@ import Distribution.Simple.Flag ) import Distribution.Simple.Setup ( TestFlags (..) - , fromFlagOrDefault ) import Distribution.Simple.Utils ( dieWithException @@ -166,7 +164,7 @@ testAction flags@NixStyleFlags{..} targetStrings globalFlags = do runProjectPostBuildPhase verbosity baseCtx buildCtx buildOutcomes where failWhenNoTestSuites = testFailWhenNoTestSuites testFlags - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity normal flags cliConfig = commandLineFlagsToProjectConfig globalFlags flags mempty -- ClientInstallFlags -- | This defines what a 'TargetSelector' means for the @test@ command. diff --git a/cabal-install/src/Distribution/Client/CmdUpdate.hs b/cabal-install/src/Distribution/Client/CmdUpdate.hs index 9dae0426281..58ac57a41b7 100644 --- a/cabal-install/src/Distribution/Client/CmdUpdate.hs +++ b/cabal-install/src/Distribution/Client/CmdUpdate.hs @@ -37,6 +37,7 @@ import Distribution.Client.JobControl ) import Distribution.Client.NixStyleOptions ( NixStyleFlags (..) + , cfgVerbosity , defaultNixStyleFlags , nixStyleOptions ) @@ -52,9 +53,7 @@ import Distribution.Client.ProjectFlags ) import Distribution.Client.ProjectOrchestration import Distribution.Client.Setup - ( CommonSetupFlags (..) - , ConfigFlags (..) - , GlobalFlags + ( GlobalFlags , RepoContext (..) , UpdateFlags , defaultUpdateFlags @@ -66,9 +65,6 @@ import Distribution.Client.Types , repoName , unRepoName ) -import Distribution.Simple.Flag - ( fromFlagOrDefault - ) import Distribution.Simple.Utils ( dieWithException , notice @@ -220,7 +216,7 @@ updateAction flags@NixStyleFlags{..} extraArgs globalFlags = do reposToUpdate traverse_ (\_ -> collectJob jobCtrl) reposToUpdate where - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) + verbosity = cfgVerbosity normal flags cliConfig = commandLineFlagsToProjectConfig globalFlags flags mempty -- ClientInstallFlags, not needed here globalConfigFlag = projectConfigConfigFile (projectConfigShared cliConfig) diff --git a/cabal-install/src/Distribution/Client/NixStyleOptions.hs b/cabal-install/src/Distribution/Client/NixStyleOptions.hs index d661948b5b7..5a0b66323f5 100644 --- a/cabal-install/src/Distribution/Client/NixStyleOptions.hs +++ b/cabal-install/src/Distribution/Client/NixStyleOptions.hs @@ -7,6 +7,7 @@ module Distribution.Client.NixStyleOptions , nixStyleOptions , defaultNixStyleFlags , updNixStyleCommonSetupFlags + , cfgVerbosity ) where import Distribution.Client.Compat.Prelude @@ -18,6 +19,7 @@ import Distribution.Simple.Setup , CommonSetupFlags (..) , HaddockFlags (..) , TestFlags (testCommonFlags) + , fromFlagOrDefault ) import Distribution.Solver.Types.ConstraintSource (ConstraintSource (..)) @@ -154,3 +156,6 @@ updNixStyleCommonSetupFlags setFlag nixFlags = common = benchmarkCommonFlags flags in flags{benchmarkCommonFlags = setFlag common} } + +cfgVerbosity :: Verbosity -> NixStyleFlags a -> Verbosity +cfgVerbosity v flags = fromFlagOrDefault v (setupVerbosity . configCommonFlags $ configFlags flags) diff --git a/cabal-install/src/Distribution/Client/ScriptUtils.hs b/cabal-install/src/Distribution/Client/ScriptUtils.hs index 064eec53ad0..87c36280503 100644 --- a/cabal-install/src/Distribution/Client/ScriptUtils.hs +++ b/cabal-install/src/Distribution/Client/ScriptUtils.hs @@ -76,9 +76,7 @@ import Distribution.Client.RebuildMonad ( runRebuild ) import Distribution.Client.Setup - ( CommonSetupFlags (..) - , ConfigFlags (..) - , GlobalFlags (..) + ( GlobalFlags (..) ) import Distribution.Client.TargetSelector ( TargetSelectorProblem (..) @@ -177,9 +175,6 @@ import Distribution.Types.UnqualComponentName import Distribution.Utils.NubList ( fromNubList ) -import Distribution.Verbosity - ( normal - ) import Language.Haskell.Extension ( Language (..) ) @@ -281,7 +276,8 @@ data TargetContext -- In the case that the context refers to a temporary directory, -- delete it after the action finishes. withContextAndSelectors - :: AcceptNoTargets + :: Verbosity + -> AcceptNoTargets -- ^ What your command should do when no targets are found. -> Maybe ComponentKind -- ^ A target filter @@ -296,7 +292,7 @@ withContextAndSelectors -> (TargetContext -> ProjectBaseContext -> [TargetSelector] -> IO b) -- ^ The body of your command action. -> IO b -withContextAndSelectors noTargets kind flags@NixStyleFlags{..} targetStrings globalFlags cmd act = +withContextAndSelectors verbosity noTargets kind flags@NixStyleFlags{..} targetStrings globalFlags cmd act = withTemporaryTempDirectory $ \mkTmpDir -> do (tc, ctx) <- withProjectOrGlobalConfig @@ -337,7 +333,6 @@ withContextAndSelectors noTargets kind flags@NixStyleFlags{..} targetStrings glo act tc' ctx' sels where - verbosity = fromFlagOrDefault normal (setupVerbosity $ configCommonFlags configFlags) ignoreProject = flagIgnoreProject projectFlags cliConfig = commandLineFlagsToProjectConfig globalFlags flags mempty globalConfigFlag = projectConfigConfigFile (projectConfigShared cliConfig) diff --git a/cabal-testsuite/PackageTests/HaddockProject/haddock-project.out b/cabal-testsuite/PackageTests/HaddockProject/haddock-project.out index 4f21f859ad9..5b5655b0efa 100644 --- a/cabal-testsuite/PackageTests/HaddockProject/haddock-project.out +++ b/cabal-testsuite/PackageTests/HaddockProject/haddock-project.out @@ -2,6 +2,8 @@ Downloading the latest package list from test-local-repo # cabal haddock-project Warning: haddock-project command is experimental, it might break in the future +Configuration is affected by the following files: +- cabal.project Resolving dependencies... Configuration is affected by the following files: - cabal.project