Skip to content
Snippets Groups Projects
Commit f09f4bd1 authored by Arjun Kathuria's avatar Arjun Kathuria :rocket:
Browse files

Update the running of "Nuke" command in Main.hs

parent a3b11f21
No related branches found
No related tags found
1 merge request!101[WIP] Feature "nuke"
......@@ -1701,27 +1701,39 @@ Make sure to clean up #{tmpdir} afterwards.|])
>> pure (ExitFailure 13)
else putStrLn uri' >> pure ExitSuccess
Nuke -> do
runLogger $ $logWarn "WARNING: This will remove GHCup and all installed components from your system."
runLogger $ $logWarn "Waiting 10 seconds before commencing, if you want to cancel it, now would be the time."
threadDelay 10000000 -- wait 10s
Nuke ->
runRm (do
lift $ runLogger $ $logWarn "WARNING: This will remove GHCup and all installed components from your system."
lift $ runLogger $ $logWarn "Waiting 10 seconds before commencing, if you want to cancel it, now would be the time."
liftIO $ threadDelay 10000000 -- wait 10s
lift $ runLogger $ $logInfo "Initiating Nuclear Sequence 🚀🚀🚀"
lift $ runLogger $ $logInfo "Nuking in 3...2...1"
runLogger $ $logInfo "Initiating Nuclear Sequence 🚀🚀🚀"
runLogger $ $logInfo "Nuking in 3...2...1"
lInstalled <- runLogger . flip runReaderT appstate $ listVersions Nothing (Just ListInstalled)
forM_ lInstalled $ runRm . rmTool
lInstalled <- lift $ runLogger . flip runReaderT appstate $ listVersions Nothing (Just ListInstalled)
forM_ lInstalled (liftE . rmTool)
leftOverFiles <- lift $ runLogger $ runReaderT rmGhcupDirs appstate
pure leftOverFiles
) >>= \case
VRight leftOverFiles -> do
leftOverFiles <- runLogger $ runReaderT rmGhcupDirs appstate
case length leftOverFiles of
0 -> do
runLogger $ $logInfo "Nuclear Annihilation complete!"
pure ExitSuccess
_ -> do
runLogger $ $logWarn "These Directories/Files have survived Nuclear Annihilation, you may remove them manually."
forM_ leftOverFiles (runLogger . $logDebug . T.pack)
pure ExitSuccess
case length leftOverFiles of
0 -> runLogger $ $logInfo "Nuclear Annihilation complete!"
_ -> do
runLogger $ $logWarn "These Directories/Files have survived Nuclear Annihilation, you may remove them manually."
forM_ leftOverFiles (runLogger . $logWarn . T.pack)
VLeft e -> do
runLogger $ $(logError) $ T.pack $ prettyShow e
pure $ ExitFailure 15
pure ExitSuccess
case res of
ExitSuccess -> pure ()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment