@@ -31,6 +31,7 @@ import qualified Distribution.Client.Outdated as V1Outdated
31
31
import Distribution.Client.ProjectConfig
32
32
( ProjectConfig (.. )
33
33
, commandLineFlagsToProjectConfig
34
+ , projectConfigWithSolverRepoContext
34
35
)
35
36
import Distribution.Client.ProjectFlags
36
37
( ProjectFlags (.. )
@@ -100,7 +101,8 @@ import Distribution.Types.PackageVersionConstraint
100
101
)
101
102
import Distribution.Types.UnqualComponentName (UnqualComponentName )
102
103
import Distribution.Verbosity
103
- ( normal
104
+ ( lessVerbose
105
+ , normal
104
106
, silent
105
107
)
106
108
import Distribution.Version
@@ -129,40 +131,35 @@ outdatedCommand =
129
131
-- For more details on how this works, see the module
130
132
-- "Distribution.Client.ProjectOrchestration"
131
133
outdatedAction :: NixStyleFlags OutdatedFlags -> [String ] -> GlobalFlags -> IO ()
132
- outdatedAction flags _extraArgs globalFlags = do
133
- let mprojectDir = flagToMaybe . flagProjectDir $ projectFlags flags
134
- mprojectFile = flagToMaybe . flagProjectFile $ projectFlags flags
134
+ outdatedAction flags@ NixStyleFlags {configFlags} _extraArgs globalFlags = do
135
+ ProjectBaseContext {localPackages, projectConfig} <- establishProjectBaseContext verbosity cliConfig OtherCommand
135
136
136
- config <- loadConfigOrSandboxConfig verbosity globalFlags
137
- let globalFlags' = savedGlobalFlags config `mappend` globalFlags
137
+ projectConfigWithSolverRepoContext
138
+ verbosity
139
+ (projectConfigShared projectConfig)
140
+ (projectConfigBuildOnly projectConfig)
141
+ $ \ repoContext -> do
142
+ -- Why?
143
+ -- when (not v2FreezeFile && (isJust mprojectDir || isJust mprojectFile)) $
144
+ -- dieWithException verbosity OutdatedAction
138
145
139
- (comp, platform, _progdb) <- configCompilerAux' $ configFlags flags
146
+ sourcePkgDb <- IndexUtils. getSourcePackages verbosity repoContext
140
147
141
- withRepoContext verbosity globalFlags' $ \ repoContext -> do
142
- when (not v2FreezeFile && (isJust mprojectDir || isJust mprojectFile)) $
143
- dieWithException verbosity OutdatedAction
148
+ let pkgVerConstraints = extractPackageVersionConstraints localPackages
144
149
145
- sourcePkgDb <- IndexUtils. getSourcePackages verbosity repoContext
146
- prjBaseCtxt <- establishProjectBaseContext verbosity cliConfig OtherCommand
147
- pkgVerConstraints <-
148
- if
149
- | v1FreezeFile -> V1Outdated. depsFromFreezeFile verbosity
150
- | v2FreezeFile ->
151
- V1Outdated. depsFromNewFreezeFile verbosity globalFlags comp platform mprojectDir mprojectFile
152
- | otherwise -> pure $ extractPackageVersionConstraints (localPackages prjBaseCtxt)
150
+ debug verbosity $
151
+ " Dependencies loaded: " ++ intercalate " , " (map prettyShow pkgVerConstraints)
153
152
154
- debug verbosity $
155
- " Dependencies loaded: " ++ intercalate " , " (map prettyShow pkgVerConstraints)
153
+ let outdatedDeps = V1Outdated. listOutdated pkgVerConstraints sourcePkgDb (ListOutdatedSettings ignorePred minorPred)
156
154
157
- let outdatedDeps = V1Outdated. listOutdated pkgVerConstraints sourcePkgDb ( ListOutdatedSettings ignorePred minorPred)
155
+ V1Outdated. showResult (lessVerbose verbosity) outdatedDeps simpleOutput
158
156
159
- when (not quiet) $
160
- V1Outdated. showResult verbosity outdatedDeps simpleOutput
161
- if exitCode && (not . null $ outdatedDeps)
162
- then exitFailure
163
- else pure ()
157
+ if exitCode && (not . null $ outdatedDeps)
158
+ then exitFailure
159
+ else pure ()
164
160
where
165
- cliConfig :: ProjectConfig
161
+ verbosity = fromFlagOrDefault normal (configVerbosity configFlags)
162
+
166
163
cliConfig =
167
164
commandLineFlagsToProjectConfig
168
165
globalFlags
@@ -193,12 +190,6 @@ outdatedAction flags _extraArgs globalFlags = do
193
190
let minorSet = Set. fromList pkgs
194
191
in \ pkgname -> pkgname `Set.member` minorSet
195
192
196
- verbosity :: Verbosity
197
- verbosity =
198
- if quiet
199
- then silent
200
- else fromFlagOrDefault normal (configVerbosity $ configFlags flags)
201
-
202
193
data OutdatedFlags = OutdatedFlags
203
194
{ outdatedFreezeFile :: Flag Bool
204
195
, outdatedNewFreezeFile :: Flag Bool
0 commit comments