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