Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/070b110913abd95ec6974ababb2b9dc6ac8fb993 >--------------------------------------------------------------- commit 070b110913abd95ec6974ababb2b9dc6ac8fb993 Author: Don Stewart <[email protected]> Date: Sun Oct 7 15:50:13 2007 +0000 polish >--------------------------------------------------------------- cabal-install/Main.hs | 66 +++++++++++++++++++++++++++--------------------- 1 files changed, 37 insertions(+), 29 deletions(-) diff --git a/cabal-install/Main.hs b/cabal-install/Main.hs index b125131..96e77a5 100644 --- a/cabal-install/Main.hs +++ b/cabal-install/Main.hs @@ -10,37 +10,45 @@ -- -- Entry point to the default cabal-install front-end. ----------------------------------------------------------------------------- -module Main where -import Data.List (isSuffixOf) -import System.Environment (getArgs) -import Hackage.Types (Action (..), Option(..)) -import Hackage.Setup (parseGlobalArgs, parsePackageArgs, configFromOptions) -import Hackage.Config (defaultConfigFile, loadConfig) +module Main where -import Hackage.List (list) -import Hackage.Install (install) -import Hackage.Info (info) -import Hackage.Update (update) -import Hackage.Fetch (fetch) -import Hackage.Clean (clean) +import Hackage.Types (Action (..), Option(..)) +import Hackage.Setup (parseGlobalArgs, parsePackageArgs, configFromOptions) +import Hackage.Config (defaultConfigFile, loadConfig) +import Hackage.List (list) +import Hackage.Install (install) +import Hackage.Info (info) +import Hackage.Update (update) +import Hackage.Fetch (fetch) +import Hackage.Clean (clean) +import Data.List (isSuffixOf) +import System.Environment (getArgs) +-- | Entry point +-- main :: IO () -main = do args <- getArgs - (action, flags, args) <- parseGlobalArgs args - configFile <- case [f | OptConfigFile f <- flags] of - [] -> defaultConfigFile - fs -> return $ last fs - conf0 <- loadConfig configFile - let config = configFromOptions conf0 flags - runCmd f = do (globalArgs, pkgs) <- parsePackageArgs action args - f config globalArgs pkgs - case action of - InstallCmd -> runCmd install - InfoCmd -> runCmd info - ListCmd -> list config args - UpdateCmd -> update config - CleanCmd -> clean config - FetchCmd -> fetch config args - _ -> putStrLn "Unhandled command." +main = do + args <- getArgs + (action, flags, args) <- parseGlobalArgs args + configFile <- case [f | OptConfigFile f <- flags] of + [] -> defaultConfigFile + fs -> return (last fs) + + conf0 <- loadConfig configFile + + let config = configFromOptions conf0 flags + + runCmd f = do (globalArgs, pkgs) <- parsePackageArgs action args + f config globalArgs pkgs + + case action of + InstallCmd -> runCmd install + InfoCmd -> runCmd info + ListCmd -> list config args + UpdateCmd -> update config + CleanCmd -> clean config + FetchCmd -> fetch config args + _ -> error "Unhandled command." + _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
