From 787db34739adda4bb0a5db99f7bb6db22b654bf6 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Wed, 31 Dec 2014 19:35:25 +0100 Subject: [PATCH] Add --skip-flags and pbEnableTests (#3976) --- Stackage/CompleteBuild.hs | 11 +++++++++-- Stackage/PerformBuild.hs | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index c1b087ac..39930292 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -4,6 +4,7 @@ module Stackage.CompleteBuild ( BuildType (..) , BumpType (..) + , BuildFlags (..) , completeBuild , justCheck ) where @@ -24,6 +25,11 @@ import Stackage.UpdateBuildPlan import Stackage.Upload import System.IO (BufferMode (LineBuffering), hSetBuffering) +-- | Flags passed in from the command line. +data BuildFlags = BuildFlags + { bfEnableTests :: !Bool + } deriving (Show) + data BuildType = Nightly | LTS BumpType deriving (Show, Read, Eq, Ord) @@ -149,8 +155,8 @@ justCheck = withManager tlsManagerSettings $ \man -> do putStrLn "Plan seems valid!" -completeBuild :: BuildType -> IO () -completeBuild buildType = withManager tlsManagerSettings $ \man -> do +completeBuild :: BuildType -> BuildFlags -> IO () +completeBuild buildType buildFlags = withManager tlsManagerSettings $ \man -> do hSetBuffering stdout LineBuffering putStrLn $ "Loading settings for: " ++ tshow buildType @@ -170,6 +176,7 @@ completeBuild buildType = withManager tlsManagerSettings $ \man -> do , pbLog = hPut stdout , pbJobs = 8 , pbGlobalInstall = False + , pbEnableTests = bfEnableTests buildFlags } performBuild pb >>= mapM_ putStrLn diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index 31602d55..d24a1d4a 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -61,6 +61,7 @@ data PerformBuild = PerformBuild , pbJobs :: Int , pbGlobalInstall :: Bool -- ^ Register packages in the global database + , pbEnableTests :: Bool } data PackageInfo = PackageInfo @@ -378,7 +379,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = runTests = wf testOut $ \outH -> do let run = runChild outH - when (pcTests /= Don'tBuild) $ do + when (pbEnableTests && pcTests /= Don'tBuild) $ do log' $ "Test configure " ++ namever run "cabal" $ "configure" : "--enable-tests" : configArgs