on master help sign in
BuildStage
commit3ac3d0607b08ec040306e9c4a3278d10a51c978a authorMichael Snoyman <michael@snoyman.com> dateTue 29 Jan 2013, 20:11 (14 years ago) parente479c64
4 files changed+12−14
Stackage/Build.hs+5−9 Stackage/Test.hs+1−1 Stackage/Types.hs+3−1 Stackage/Util.hs+3−3
Stackage/Build.hs+5−9
@@ -21,7 +21,7 @@ defaultBuildSettings :: BuildSettings
2121defaultBuildSettings = BuildSettings
2222 { sandboxRoot = "sandbox"
2323 , expectedFailuresBuild = defaultExpectedFailures
24− , extraArgs = ["-fnetwork23"]
24+ , extraArgs = const ["-fnetwork23"]
2525 , testWorkerThreads = 4
2626 }
2727
@@ -47,15 +47,12 @@ build settings' bp = do
4747 let installBuildTool tool = do
4848 putStrLn $ "Installing build tool: " ++ tool
4949 ec <- withBinaryFile "build-tools.log" WriteMode $ \handle -> do
50− let args = addCabalArgs settings
50+ let args = addCabalArgs settings BSBuild
5151 $ "install"
5252 : ("--cabal-lib-version=" ++ libVersion)
5353 : "--build-log=logs-tools/$pkg.log"
5454 : "-j"
55− : concat
56− [ extraArgs settings
57− , [tool]
58− ]
55+ : [tool]
5956 hPutStrLn handle ("cabal " ++ unwords (map (\s -> "'" ++ s ++ "'") args))
6057 ph <- runCabal args handle
6158 waitForProcess ph
@@ -71,14 +68,13 @@ build settings' bp = do
7168
7269 putStrLn "Beginning Stackage build"
7370 ph <- withBinaryFile "build.log" WriteMode $ \handle -> do
74− let args = addCabalArgs settings
71+ let args = addCabalArgs settings BSBuild
7572 $ "install"
7673 : ("--cabal-lib-version=" ++ libVersion)
7774 : "--build-log=logs/$pkg.log"
7875 : "-j"
7976 : concat
80− [ extraArgs settings
81− , bpPackageList bp
77+ [ bpPackageList bp
8278 ]
8379 hPutStrLn handle ("cabal " ++ unwords (map (\s -> "'" ++ s ++ "'") args))
8480 runCabal args handle
Stackage/Test.hs+1−1
@@ -96,7 +96,7 @@ runTestSuite settings testdir (packageName, SelectedPackageInfo {..}) = do
9696
9797 passed <- handle (\TestException -> return False) $ do
9898 getHandle WriteMode $ run "cabal" ["unpack", package] testdir
99− getHandle AppendMode $ run "cabal" (addCabalArgs settings ["configure", "--enable-tests"]) dir
99+ getHandle AppendMode $ run "cabal" (addCabalArgs settings BSTest ["configure", "--enable-tests"]) dir
100100 when spiHasTests $ do
101101 getHandle AppendMode $ run "cabal" ["build"] dir
102102 getHandle AppendMode $ runGhcPackagePath "cabal" ["test"] dir
Stackage/Types.hs+3−1
@@ -110,9 +110,11 @@ data SelectSettings = SelectSettings
110110 , stablePackages :: Map PackageName (VersionRange, Maintainer)
111111 }
112112
113+data BuildStage = BSBuild | BSTest
114+
113115data BuildSettings = BuildSettings
114116 { sandboxRoot :: FilePath
115− , extraArgs :: [String]
117+ , extraArgs :: BuildStage -> [String]
116118 , expectedFailuresBuild :: Set PackageName
117119 , testWorkerThreads :: Int
118120 -- ^ How many threads to spawn for running test suites.
Stackage/Util.hs+3−3
@@ -102,15 +102,15 @@ addCabalArgsOnlyGlobal rest
102102 : "--package-db=global"
103103 : rest
104104
105−addCabalArgs :: BuildSettings -> [String] -> [String]
106−addCabalArgs settings rest
105+addCabalArgs :: BuildSettings -> BuildStage -> [String] -> [String]
106+addCabalArgs settings bs rest
107107 = addCabalArgsOnlyGlobal
108108 $ ("--package-db=" ++ packageDir settings)
109109 : ("--libdir=" ++ libDir settings)
110110 : ("--bindir=" ++ binDir settings)
111111 : ("--datadir=" ++ dataDir settings)
112112 : ("--docdir=" ++ docDir settings)
113− : extraArgs settings ++ rest
113+ : extraArgs settings bs ++ rest
114114
115115-- | Modified environment that adds our sandboxed bin folder to PATH.
116116getModifiedEnv :: BuildSettings -> IO [(String, String)]