Skip to content

Commit cc3602f

Browse files
committed
wip
1 parent 0ae9da4 commit cc3602f

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

cabal-install/src/Distribution/Client/CmdOutdated.hs

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,6 @@ module Distribution.Client.CmdOutdated
1111
import qualified Data.Set as Set
1212

1313
import Distribution.Client.Compat.Prelude
14-
import Distribution.Client.Config
15-
( SavedConfig
16-
( savedGlobalFlags
17-
)
18-
)
19-
import Distribution.Client.Errors (CabalInstallException (OutdatedAction))
2014
import qualified Distribution.Client.IndexUtils as IndexUtils
2115
import 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-
)
4738
import Distribution.Client.Setup
4839
( ConfigFlags (..)
4940
, GlobalFlags (..)
5041
, configCompilerAux'
51-
, withRepoContext
5242
)
5343
import Distribution.Client.Types.PackageLocation
5444
( UnresolvedPkgLoc
@@ -79,7 +69,6 @@ import Distribution.Simple.Setup
7969
)
8070
import Distribution.Simple.Utils
8171
( debug
82-
, dieWithException
8372
, wrapText
8473
)
8574
import Distribution.Solver.Types.SourcePackage
@@ -103,7 +92,6 @@ import Distribution.Types.UnqualComponentName (UnqualComponentName)
10392
import Distribution.Verbosity
10493
( lessVerbose
10594
, normal
106-
, silent
10795
)
10896
import Distribution.Version
10997
( simplifyVersionRange
@@ -131,34 +119,42 @@ outdatedCommand =
131119
-- For more details on how this works, see the module
132120
-- "Distribution.Client.ProjectOrchestration"
133121
outdatedAction :: 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

Comments
 (0)