@@ -11,12 +11,6 @@ module Distribution.Client.CmdOutdated
1111import qualified Data.Set as Set
1212
1313import Distribution.Client.Compat.Prelude
14- import Distribution.Client.Config
15- ( SavedConfig
16- ( savedGlobalFlags
17- )
18- )
19- import Distribution.Client.Errors (CabalInstallException (OutdatedAction ))
2014import qualified Distribution.Client.IndexUtils as IndexUtils
2115import Distribution.Client.NixStyleOptions
2216 ( NixStyleFlags (.. )
@@ -41,14 +35,10 @@ import Distribution.Client.ProjectOrchestration
4135 , ProjectBaseContext (.. )
4236 , establishProjectBaseContext
4337 )
44- import Distribution.Client.Sandbox
45- ( loadConfigOrSandboxConfig
46- )
4738import Distribution.Client.Setup
4839 ( ConfigFlags (.. )
4940 , GlobalFlags (.. )
5041 , configCompilerAux'
51- , withRepoContext
5242 )
5343import Distribution.Client.Types.PackageLocation
5444 ( UnresolvedPkgLoc
@@ -79,7 +69,6 @@ import Distribution.Simple.Setup
7969 )
8070import Distribution.Simple.Utils
8171 ( debug
82- , dieWithException
8372 , wrapText
8473 )
8574import Distribution.Solver.Types.SourcePackage
@@ -103,7 +92,6 @@ import Distribution.Types.UnqualComponentName (UnqualComponentName)
10392import Distribution.Verbosity
10493 ( lessVerbose
10594 , normal
106- , silent
10795 )
10896import Distribution.Version
10997 ( simplifyVersionRange
@@ -131,34 +119,42 @@ outdatedCommand =
131119-- For more details on how this works, see the module
132120-- "Distribution.Client.ProjectOrchestration"
133121outdatedAction :: NixStyleFlags OutdatedFlags -> [String ] -> GlobalFlags -> IO ()
134- outdatedAction flags@ NixStyleFlags {configFlags} _extraArgs globalFlags = do
122+ outdatedAction flags _extraArgs globalFlags = do
135123 ProjectBaseContext {localPackages, projectConfig} <- establishProjectBaseContext verbosity cliConfig OtherCommand
136124
137125 projectConfigWithSolverRepoContext
138126 verbosity
139127 (projectConfigShared projectConfig)
140128 (projectConfigBuildOnly projectConfig)
141129 $ \ repoContext -> do
142- -- Why?
143- -- when (not v2FreezeFile && (isJust mprojectDir || isJust mprojectFile)) $
144- -- dieWithException verbosity OutdatedAction
130+ let mprojectDir = flagToMaybe . flagProjectDir $ projectFlags flags
131+ mprojectFile = flagToMaybe . flagProjectFile $ projectFlags flags
145132
146133 sourcePkgDb <- IndexUtils. getSourcePackages verbosity repoContext
147134
148- let pkgVerConstraints = extractPackageVersionConstraints localPackages
135+ pkgVerConstraints <-
136+ if
137+ | v1FreezeFile -> V1Outdated. depsFromFreezeFile verbosity
138+ | v2FreezeFile -> do
139+ (comp, platform, _progdb) <- configCompilerAux' $ configFlags flags
140+ V1Outdated. depsFromNewFreezeFile verbosity globalFlags comp platform mprojectDir mprojectFile
141+ | otherwise -> pure $ force (extractPackageVersionConstraints localPackages)
149142
150143 debug verbosity $
151144 " Dependencies loaded: " ++ intercalate " , " (map prettyShow pkgVerConstraints)
152145
153146 let outdatedDeps = V1Outdated. listOutdated pkgVerConstraints sourcePkgDb (ListOutdatedSettings ignorePred minorPred)
154147
155- V1Outdated. showResult (lessVerbose verbosity) outdatedDeps simpleOutput
148+ when (not quiet) $ do
149+ putStrLn " xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
150+ V1Outdated. showResult (lessVerbose verbosity) outdatedDeps simpleOutput
151+ putStrLn " xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
156152
157153 if exitCode && (not . null $ outdatedDeps)
158154 then exitFailure
159155 else pure ()
160156 where
161- verbosity = fromFlagOrDefault normal (configVerbosity configFlags)
157+ verbosity = fromFlagOrDefault normal (configVerbosity $ configFlags flags )
162158
163159 cliConfig =
164160 commandLineFlagsToProjectConfig
0 commit comments