Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/bee47af829cfdd66af9acdc9667ca321a70146cb

>---------------------------------------------------------------

commit bee47af829cfdd66af9acdc9667ca321a70146cb
Author: Duncan Coutts <[email protected]>
Date:   Fri Aug 8 14:58:29 2008 +0000

    Add command line UI for 'report' action.

>---------------------------------------------------------------

 cabal-install/Distribution/Client/Setup.hs |   13 ++++++++++++-
 cabal-install/Main.hs                      |   14 +++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/cabal-install/Distribution/Client/Setup.hs 
b/cabal-install/Distribution/Client/Setup.hs
index 4278630..61082a2 100644
--- a/cabal-install/Distribution/Client/Setup.hs
+++ b/cabal-install/Distribution/Client/Setup.hs
@@ -21,6 +21,7 @@ module Distribution.Client.Setup
     , fetchCommand
     , checkCommand
     , uploadCommand, UploadFlags(..)
+    , reportCommand
 
     , parsePackageArgs
     ) where
@@ -138,7 +139,17 @@ checkCommand = CommandUI {
     commandSynopsis     = "Check the package for common mistakes",
     commandDescription  = Nothing,
     commandUsage        = \pname -> "Usage: " ++ pname ++ " check\n",
-    commandDefaultFlags = mempty,
+    commandDefaultFlags = toFlag normal,
+    commandOptions      = mempty
+  }
+
+reportCommand :: CommandUI (Flag Verbosity)
+reportCommand = CommandUI {
+    commandName         = "report",
+    commandSynopsis     = "Upload build reports to a remote server.",
+    commandDescription  = Nothing,
+    commandUsage        = \pname -> "Usage: " ++ pname ++ " report\n",
+    commandDefaultFlags = toFlag normal,
     commandOptions      = mempty
   }
 
diff --git a/cabal-install/Main.hs b/cabal-install/Main.hs
index 741226e..4e4134e 100644
--- a/cabal-install/Main.hs
+++ b/cabal-install/Main.hs
@@ -39,7 +39,7 @@ import Distribution.Client.Update           (update)
 import Distribution.Client.Fetch            (fetch)
 import Distribution.Client.Check as Check   (check)
 --import Distribution.Client.Clean            (clean)
-import Distribution.Client.Upload as Upload (upload, check)
+import Distribution.Client.Upload as Upload (upload, check, report)
 import Distribution.Client.SrcDist          (sdist)
 
 import Distribution.Verbosity   (Verbosity, normal)
@@ -96,6 +96,7 @@ mainWorker args =
       ,uploadCommand          `commandAddAction` uploadAction
       ,checkCommand           `commandAddAction` checkAction
       ,sdistCommand           `commandAddAction` sdistAction
+      ,reportCommand          `commandAddAction` reportAction
       ,wrapperAction (Cabal.buildCommand defaultProgramConfiguration)
                      Cabal.buildVerbosity    Cabal.buildDistPref
       ,wrapperAction Cabal.copyCommand
@@ -270,3 +271,14 @@ sdistAction sflags extraArgs = do
   unless (null extraArgs) $ do
     die $ "'sdist' doesn't take any extra arguments: " ++ unwords extraArgs
   sdist sflags
+
+reportAction :: Flag Verbosity -> [String] -> IO ()
+reportAction verbosityFlag extraArgs = do
+  unless (null extraArgs) $ do
+    die $ "'report' doesn't take any extra arguments: " ++ unwords extraArgs
+
+  configFile <- defaultConfigFile --FIXME
+  let verbosity = fromFlag verbosityFlag
+  config <- loadConfig verbosity configFile
+
+  Upload.report verbosity (configRepos config)



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to