on master help sign in
Fix some directories to be more logical
commitc6f62c5f8e3cb00dcb800df14570f57e95384f1a authorMichael Snoyman <michael@snoyman.com> dateFri 12 Dec 2014, 14:05 (12 years ago) parentb804e37
2 files changed+17−5
Stackage2/CompleteBuild.hs+6−3 Stackage2/PerformBuild.hs+11−2
Stackage2/CompleteBuild.hs+6−3
@@ -32,6 +32,7 @@ data Settings = Settings
3232 { plan :: BuildPlan
3333 , planFile :: FilePath
3434 , buildDir :: FilePath
35+ , logDir :: FilePath
3536 , title :: Text -> Text -- ^ GHC version -> title
3637 , slug :: Text
3738 , setArgs :: Text -> UploadBundle -> UploadBundle
@@ -45,7 +46,8 @@ getSettings Nightly = do
4546 plan' <- defaultBuildConstraints >>= newBuildPlan
4647 return Settings
4748 { planFile = fpFromText ("nightly-" ++ day) <.> "yaml"
48− , buildDir = fpFromText $ "/tmp/stackage-nightly-" ++ day
49+ , buildDir = fpFromText $ "builds/stackage-nightly-" ++ day
50+ , logDir = fpFromText $ "logs/stackage-nightly-" ++ day
4951 , title = \ghcVer -> concat
5052 [ "Stackage Nightly "
5153 , day
@@ -82,7 +84,8 @@ getSettings (LTS bumpType) = do
8284
8385 return Settings
8486 { planFile = newfile
85− , buildDir = fpFromText $ "/tmp/stackage-lts-" ++ tshow new
87+ , buildDir = fpFromText $ "builds/stackage-lts-" ++ tshow new
88+ , logDir = fpFromText $ "logs/stackage-lts-" ++ tshow new
8689 , title = \ghcVer -> concat
8790 [ "LTS Haskell "
8891 , tshow new
@@ -142,7 +145,7 @@ completeBuild buildType = withManager defaultManagerSettings $ \man -> do
142145 let pb = PerformBuild
143146 { pbPlan = plan
144147 , pbInstallDest = buildDir
145− , pbLogDir = buildDir </> "logs"
148+ , pbLogDir = logDir
146149 , pbLog = hPut stdout
147150 , pbJobs = 8
148151 }
Stackage2/PerformBuild.hs+11−2
@@ -21,7 +21,7 @@ import Control.Concurrent.STM.TSem
2121import Data.NonNull (fromNullable)
2222import Control.Concurrent.Async (async)
2323import System.IO.Temp (withSystemTempDirectory)
24−import Filesystem (createTree, removeTree, isDirectory, rename, canonicalizePath)
24+import Filesystem (createTree, removeTree, isDirectory, rename, canonicalizePath, getWorkingDirectory)
2525import System.IO (withBinaryFile, IOMode (WriteMode))
2626import Filesystem.Path (parent)
2727import qualified Filesystem.Path as F
@@ -113,10 +113,19 @@ pbDataDir pb = pbInstallDest pb </> "share"
113113pbDocDir pb = pbInstallDest pb </> "doc"
114114
115115performBuild :: PerformBuild -> IO [Text]
116−performBuild pb@PerformBuild {..} = withBuildDir $ \builddir -> do
116+performBuild pb = do
117+ cwd <- getWorkingDirectory
118+ performBuild' pb
119+ { pbInstallDest = cwd </> pbInstallDest pb
120+ , pbLogDir = cwd </> pbLogDir pb
121+ }
122+
123+performBuild' :: PerformBuild -> IO [Text]
124+performBuild' pb@PerformBuild {..} = withBuildDir $ \builddir -> do
117125 let removeTree' fp = whenM (isDirectory fp) (removeTree fp)
118126 mapM_ removeTree' [pbInstallDest, pbLogDir]
119127
128+ createTree $ parent $ pbDatabase pb
120129 withCheckedProcess (proc "ghc-pkg" ["init", fpToString (pbDatabase pb)])
121130 $ \ClosedStream Inherited Inherited -> return ()
122131 pbLog $ encodeUtf8 "Copying built-in Haddocks\n"