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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/40933750f54140d97809fab93f435c7bc497476e

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

commit 40933750f54140d97809fab93f435c7bc497476e
Author: Duncan Coutts <[email protected]>
Date:   Tue Aug 5 18:05:06 2008 +0000

    Initial support for building haddock docs
    No flag to turn it on/off yet.

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

 cabal-install/Distribution/Client/Install.hs |   41 +++++++++++++++++++------
 1 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/cabal-install/Distribution/Client/Install.hs 
b/cabal-install/Distribution/Client/Install.hs
index b865308..0a8cbbf 100644
--- a/cabal-install/Distribution/Client/Install.hs
+++ b/cabal-install/Distribution/Client/Install.hs
@@ -369,22 +369,43 @@ installUnpackedPackage :: Verbosity
                    -> Maybe (PackageIdentifier -> FilePath) -- ^ File to log 
output to (if any)
                    -> IO BuildResult
 installUnpackedPackage verbosity scriptOptions miscOptions configFlags
-                       pkg workingDir useLogFile
-    = onFailure ConfigureFailed $ do
-        setup configureCommand (filterConfigureFlags configFlags)
-        onFailure BuildFailed $ do
-          setup buildCommand buildFlags
-          onFailure InstallFailed $ do
-            case rootCmd miscOptions of
-              (Just cmd) -> reexec cmd
-              Nothing    -> setup Cabal.installCommand installFlags
-            return (Right (BuildOk DocsNotTried TestsNotTried))
+                       pkg workingDir useLogFile =
+
+  -- Configure phase
+  onFailure ConfigureFailed $ do
+    setup configureCommand (filterConfigureFlags configFlags)
+
+  -- Build phase
+    onFailure BuildFailed $ do
+      setup buildCommand buildFlags
+
+  -- Doc generation phase
+      docsResult <- if False --TODO: add flag to enable/disable haddock
+        then Exception.handle (\_ -> return DocsFailed) $ do
+               setup Cabal.haddockCommand haddockFlags
+               return DocsOk
+        else return DocsNotTried
+
+  -- Tests phase
+      testsResult <- return TestsNotTried  --TODO: add optional tests
+
+  -- Install phase
+      onFailure InstallFailed $ do
+        case rootCmd miscOptions of
+          (Just cmd) -> reexec cmd
+          Nothing    -> setup Cabal.installCommand installFlags
+        return (Right (BuildOk docsResult testsResult))
+
   where
     buildCommand     = Cabal.buildCommand defaultProgramConfiguration
     buildFlags   _   = Cabal.emptyBuildFlags {
       Cabal.buildDistPref  = Cabal.configDistPref configFlags,
       Cabal.buildVerbosity = Cabal.toFlag verbosity
     }
+    haddockFlags _   = Cabal.emptyHaddockFlags {
+      Cabal.haddockDistPref  = Cabal.configDistPref configFlags,
+      Cabal.haddockVerbosity = Cabal.toFlag verbosity
+    }
     installFlags _   = Cabal.emptyInstallFlags {
       Cabal.installDistPref  = Cabal.configDistPref configFlags,
       Cabal.installVerbosity = Cabal.toFlag verbosity



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

Reply via email to