Skip to content

Commit d1e6c48

Browse files
committed
Clean up --only-dependencies logic in ConstructPlan
1 parent b4a4fbb commit d1e6c48

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

src/Stack/Build/ConstructPlan.hs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ mkUnregisterLocal tasks dirtyReason localDumpPkgs sourceMap =
295295

296296
addFinal :: LocalPackage -> Package -> Bool -> M ()
297297
addFinal lp package isAllInOne = do
298-
depsRes <- addPackageDeps False package
298+
depsRes <- addPackageDeps package
299299
res <- case depsRes of
300300
Left e -> return $ Left e
301301
Right (missing, present, _minLoc) -> do
@@ -349,10 +349,10 @@ addDep treatAsDep' name = do
349349
return $ Right $ ADRFound loc installed
350350
Just (PIOnlySource ps) -> do
351351
tellExecutables name ps
352-
installPackage treatAsDep name ps Nothing
352+
installPackage name ps Nothing
353353
Just (PIBoth ps installed) -> do
354354
tellExecutables name ps
355-
installPackage treatAsDep name ps (Just installed)
355+
installPackage name ps (Just installed)
356356
updateLibMap name res
357357
return res
358358

@@ -394,30 +394,29 @@ tellExecutablesPackage loc p = do
394394
| Set.null myComps = x
395395
| otherwise = Set.intersection x myComps
396396

397-
installPackage :: Bool -- ^ is this being used by a dependency?
398-
-> PackageName
397+
installPackage :: PackageName
399398
-> PackageSource
400399
-> Maybe Installed
401400
-> M (Either ConstructPlanException AddDepRes)
402-
installPackage treatAsDep name ps minstalled = do
401+
installPackage name ps minstalled = do
403402
ctx <- ask
404403
case ps of
405404
PSUpstream version _ flags ghcOptions _ -> do
406405
planDebug $ "installPackage: Doing all-in-one build for upstream package " ++ show name
407406
package <- liftIO $ loadPackage ctx name version flags ghcOptions
408-
resolveDepsAndInstall True treatAsDep ps package minstalled
407+
resolveDepsAndInstall True ps package minstalled
409408
PSLocal lp ->
410409
case lpTestBench lp of
411410
Nothing -> do
412411
planDebug $ "installPackage: No test / bench component for " ++ show name ++ " so doing an all-in-one build."
413-
resolveDepsAndInstall True treatAsDep ps (lpPackage lp) minstalled
412+
resolveDepsAndInstall True ps (lpPackage lp) minstalled
414413
Just tb -> do
415414
-- Attempt to find a plan which performs an all-in-one
416415
-- build. Ignore the writer action + reset the state if
417416
-- it fails.
418417
s <- get
419418
res <- pass $ do
420-
res <- addPackageDeps treatAsDep tb
419+
res <- addPackageDeps tb
421420
let writerFunc w = case res of
422421
Left _ -> mempty
423422
_ -> w
@@ -438,7 +437,7 @@ installPackage treatAsDep name ps minstalled = do
438437
put s
439438
-- Otherwise, fall back on building the
440439
-- tests / benchmarks in a separate step.
441-
res' <- resolveDepsAndInstall False treatAsDep ps (lpPackage lp) minstalled
440+
res' <- resolveDepsAndInstall False ps (lpPackage lp) minstalled
442441
when (isRight res') $ do
443442
-- Insert it into the map so that it's
444443
-- available for addFinal.
@@ -447,13 +446,12 @@ installPackage treatAsDep name ps minstalled = do
447446
return res'
448447

449448
resolveDepsAndInstall :: Bool
450-
-> Bool
451449
-> PackageSource
452450
-> Package
453451
-> Maybe Installed
454452
-> M (Either ConstructPlanException AddDepRes)
455-
resolveDepsAndInstall isAllInOne treatAsDep ps package minstalled = do
456-
res <- addPackageDeps treatAsDep package
453+
resolveDepsAndInstall isAllInOne ps package minstalled = do
454+
res <- addPackageDeps package
457455
case res of
458456
Left err -> return $ Left err
459457
Right deps -> liftM Right $ installPackageGivenDeps isAllInOne ps package minstalled deps
@@ -517,13 +515,12 @@ addEllipsis t
517515
| T.length t < 100 = t
518516
| otherwise = T.take 97 t <> "..."
519517

520-
addPackageDeps :: Bool -- ^ is this being used by a dependency?
521-
-> Package -> M (Either ConstructPlanException (Set PackageIdentifier, Map PackageIdentifier GhcPkgId, InstallLocation))
522-
addPackageDeps treatAsDep package = do
518+
addPackageDeps :: Package -> M (Either ConstructPlanException (Set PackageIdentifier, Map PackageIdentifier GhcPkgId, InstallLocation))
519+
addPackageDeps package = do
523520
ctx <- ask
524521
deps' <- packageDepsWithTools package
525522
deps <- forM (Map.toList deps') $ \(depname, range) -> do
526-
eres <- addDep treatAsDep depname
523+
eres <- addDep True depname
527524
let getLatestApplicable = do
528525
vs <- liftIO $ getVersions ctx depname
529526
return (latestApplicableVersion range vs)

0 commit comments

Comments
 (0)