mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-11 23:08:30 +01:00
BuildStage
This commit is contained in:
parent
e479c6473c
commit
3ac3d0607b
@ -21,7 +21,7 @@ defaultBuildSettings :: BuildSettings
|
||||
defaultBuildSettings = BuildSettings
|
||||
{ sandboxRoot = "sandbox"
|
||||
, expectedFailuresBuild = defaultExpectedFailures
|
||||
, extraArgs = ["-fnetwork23"]
|
||||
, extraArgs = const ["-fnetwork23"]
|
||||
, testWorkerThreads = 4
|
||||
}
|
||||
|
||||
@ -47,15 +47,12 @@ build settings' bp = do
|
||||
let installBuildTool tool = do
|
||||
putStrLn $ "Installing build tool: " ++ tool
|
||||
ec <- withBinaryFile "build-tools.log" WriteMode $ \handle -> do
|
||||
let args = addCabalArgs settings
|
||||
let args = addCabalArgs settings BSBuild
|
||||
$ "install"
|
||||
: ("--cabal-lib-version=" ++ libVersion)
|
||||
: "--build-log=logs-tools/$pkg.log"
|
||||
: "-j"
|
||||
: concat
|
||||
[ extraArgs settings
|
||||
, [tool]
|
||||
]
|
||||
: [tool]
|
||||
hPutStrLn handle ("cabal " ++ unwords (map (\s -> "'" ++ s ++ "'") args))
|
||||
ph <- runCabal args handle
|
||||
waitForProcess ph
|
||||
@ -71,14 +68,13 @@ build settings' bp = do
|
||||
|
||||
putStrLn "Beginning Stackage build"
|
||||
ph <- withBinaryFile "build.log" WriteMode $ \handle -> do
|
||||
let args = addCabalArgs settings
|
||||
let args = addCabalArgs settings BSBuild
|
||||
$ "install"
|
||||
: ("--cabal-lib-version=" ++ libVersion)
|
||||
: "--build-log=logs/$pkg.log"
|
||||
: "-j"
|
||||
: concat
|
||||
[ extraArgs settings
|
||||
, bpPackageList bp
|
||||
[ bpPackageList bp
|
||||
]
|
||||
hPutStrLn handle ("cabal " ++ unwords (map (\s -> "'" ++ s ++ "'") args))
|
||||
runCabal args handle
|
||||
|
||||
@ -96,7 +96,7 @@ runTestSuite settings testdir (packageName, SelectedPackageInfo {..}) = do
|
||||
|
||||
passed <- handle (\TestException -> return False) $ do
|
||||
getHandle WriteMode $ run "cabal" ["unpack", package] testdir
|
||||
getHandle AppendMode $ run "cabal" (addCabalArgs settings ["configure", "--enable-tests"]) dir
|
||||
getHandle AppendMode $ run "cabal" (addCabalArgs settings BSTest ["configure", "--enable-tests"]) dir
|
||||
when spiHasTests $ do
|
||||
getHandle AppendMode $ run "cabal" ["build"] dir
|
||||
getHandle AppendMode $ runGhcPackagePath "cabal" ["test"] dir
|
||||
|
||||
@ -110,9 +110,11 @@ data SelectSettings = SelectSettings
|
||||
, stablePackages :: Map PackageName (VersionRange, Maintainer)
|
||||
}
|
||||
|
||||
data BuildStage = BSBuild | BSTest
|
||||
|
||||
data BuildSettings = BuildSettings
|
||||
{ sandboxRoot :: FilePath
|
||||
, extraArgs :: [String]
|
||||
, extraArgs :: BuildStage -> [String]
|
||||
, expectedFailuresBuild :: Set PackageName
|
||||
, testWorkerThreads :: Int
|
||||
-- ^ How many threads to spawn for running test suites.
|
||||
|
||||
@ -102,15 +102,15 @@ addCabalArgsOnlyGlobal rest
|
||||
: "--package-db=global"
|
||||
: rest
|
||||
|
||||
addCabalArgs :: BuildSettings -> [String] -> [String]
|
||||
addCabalArgs settings rest
|
||||
addCabalArgs :: BuildSettings -> BuildStage -> [String] -> [String]
|
||||
addCabalArgs settings bs rest
|
||||
= addCabalArgsOnlyGlobal
|
||||
$ ("--package-db=" ++ packageDir settings)
|
||||
: ("--libdir=" ++ libDir settings)
|
||||
: ("--bindir=" ++ binDir settings)
|
||||
: ("--datadir=" ++ dataDir settings)
|
||||
: ("--docdir=" ++ docDir settings)
|
||||
: extraArgs settings ++ rest
|
||||
: extraArgs settings bs ++ rest
|
||||
|
||||
-- | Modified environment that adds our sandboxed bin folder to PATH.
|
||||
getModifiedEnv :: BuildSettings -> IO [(String, String)]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user