refactor nested case statements when installing cabal
This commit is contained in:
parent
d7f82d643c
commit
f8d0243146
31
lib/GHCup.hs
31
lib/GHCup.hs
@ -426,22 +426,23 @@ installCabalBindist dlinfo ver isoFilepath forceInstall = do
|
||||
-- check if we already have a regular cabal already installed
|
||||
regularCabalInstalled <- checkIfCabalInstalled ver binDir exeExt
|
||||
|
||||
case forceInstall of
|
||||
True -> case isoFilepath of
|
||||
Nothing -> -- force install and a regular install
|
||||
when (regularCabalInstalled)
|
||||
(do
|
||||
lift $ $(logInfo) $ "Removing the currently installed version first!"
|
||||
liftE $ rmCabalVer ver)
|
||||
|
||||
_ -> pure () -- force install and an isolated install (checks done later while unpacking)
|
||||
-- check if we already have a regular cabal already installed
|
||||
regularCabalInstalled <- lift $ checkIfToolInstalled Cabal ver
|
||||
|
||||
if
|
||||
| forceInstall
|
||||
, regularCabalInstalled
|
||||
, Nothing <- isoFilepath -> do
|
||||
lift $ $(logInfo) $ "Removing the currently installed version first!"
|
||||
liftE $ rmCabalVer ver
|
||||
|
||||
| not forceInstall
|
||||
, regularCabalInstalled
|
||||
, Nothing <- isoFilepath -> do
|
||||
throwE $ AlreadyInstalled Cabal ver
|
||||
|
||||
| otherwise -> pure ()
|
||||
|
||||
False -> case isoFilepath of
|
||||
Nothing ->
|
||||
when (regularCabalInstalled)
|
||||
(throwE $ AlreadyInstalled Cabal ver)
|
||||
|
||||
_ -> pure ()
|
||||
|
||||
-- download (or use cached version)
|
||||
dl <- liftE $ downloadCached dlinfo Nothing
|
||||
|
Loading…
Reference in New Issue
Block a user