1
1
mirror of https://github.com/aelve/guide.git synced 2024-11-25 18:56:52 +03:00

Added allupdate command, that updates stackage and hackage alltogether

This commit is contained in:
Boris M. Yartsev 2017-07-01 18:18:57 +03:00
parent 39f60ec4c3
commit ee373b4b87
4 changed files with 49 additions and 3 deletions

View File

@ -15,10 +15,9 @@ cabal-version: >=1.10
library
hs-source-dirs: src
other-modules: Common, FileUtils, HttpDownload, HackageUpdate, REPL
, HackageCommands, StackageUpdate, StackageCommands, StackageArchive
other-modules: Common, FileUtils, HttpDownload, HackageUpdate, REPL, StackageUpdate
exposed-modules: IndexProject, HackageArchive
exposed-modules: IndexProject, HackageArchive, StackageArchive, HackageCommands, StackageCommands, AllCommands
build-depends: base >= 4.7 && < 5
, directory
, containers

42
REPL/src/AllCommands.hs Normal file
View File

@ -0,0 +1,42 @@
module AllCommands(totalUpdate) where
import Common
import qualified HackageCommands as HC
import qualified StackageCommands as SC
import qualified HackageArchive as HA
totalUpdate :: UpdateInfo -> IO()
totalUpdate ui = do
putStrLn "Total update of a system!"
putStrLn "Stackage update..."
SC.updatePersistentMapFromLTS sud ltsFileDir ltsURL snapshotsURL
putStrLn "Hackage update..."
HC.updateTotalArchive updateCommand unzipCommand persistCommand
where
sud = (getLTSPersistDir.sui) ui
ltsFileDir = getLTSFilesDir (sui ui)
ltsURL = suiLTSURL (sui ui)
snapshotsURL = (getSnapshotURL.sui) ui
arch = (getArchive.iuh) ui
archURL = (iuhArchiveURL.iuh) ui
snapURL = (iuhSnapshotURL.iuh) ui
trFile = (getTar.iuh) ui
ud = (getArchivePersistDir.iuh) ui
updateCommand = HC.updateArchive snapURL archURL arch
unzipCommand = HC.unzipArchive arch trFile
persistCommand = HC.updatePersistentFromTar ud trFile
{-
queryCombinedData :: UpdateInfo -> PackageName -> IO()
queryCombinedData ui package = do
value <- HA.queryPersistentMap hUpdateDir package
return ()
where
sUpdateDir = (getLTSPersistDir.sui) ui
hUpdateDir = (getArchivePersistDir.iuh) ui
-}

View File

@ -148,3 +148,4 @@ showPersistentTarCompare updateDir tarFile = do
newTar <- loadTar tarFile
let newMap = buildHackageMap newTar (buildPreHackageMap newTar)
printPersistentDiffMap updateDir newMap

View File

@ -15,6 +15,7 @@ import Network.HTTP.Client(HttpException)
import Common
import qualified HackageCommands as HC
import qualified StackageCommands as SC
import qualified AllCommands as AC
processREPLCycle :: UpdateInfo -> IO ()
processREPLCycle ui = forever $ do
@ -34,6 +35,8 @@ buildCommand :: UpdateInfo -> (String -> IO())
buildCommand ui = processCommand
where
processCommand command
-- updates all
| chk "allupdate" = AC.totalUpdate ui
-- checks the current hackage gzip archive and understands what to download
| chk "check" = HC.showUpdateData arch snapURL
-- updates the gzip archive file, unpacks it to tar and loads in the permanent storage
@ -119,6 +122,7 @@ buildCommand ui = processCommand
updateCommand = HC.updateArchive snapURL archURL arch
unzipCommand = HC.unzipArchive arch trFile
persistCommand = HC.updatePersistentFromTar ud trFile
ltsFileDir = getLTSFilesDir (sui ui)
ltsURL = suiLTSURL (sui ui)
sud = (getLTSPersistDir.sui) ui