Skip to content

Commit 4242e15

Browse files
authored
Merge pull request #9607 from alt-romes/wip/romes/9606
Stop logging to file when build inplace
2 parents d31bade + 83aaa63 commit 4242e15

File tree

1 file changed

+33
-29
lines changed

1 file changed

+33
-29
lines changed

cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -151,29 +151,27 @@ buildAndRegisterUnpackedPackage
151151
-> ElaboratedReadyPackage
152152
-> FilePath
153153
-> FilePath
154+
-> Maybe (FilePath)
155+
-- ^ The path to an /initialized/ log file
154156
-> (PackageBuildingPhase -> IO ())
155-
-> IO (Maybe FilePath)
156-
-- ^ Returns the path to the /initialized/ log file configured in
157-
-- t'BuildTimeSettings' ('buildSettingLogFile'), if one exists.
157+
-> IO ()
158158
buildAndRegisterUnpackedPackage
159159
verbosity
160160
distDirLayout@DistDirLayout{distTempDirectory}
161161
maybe_semaphore
162-
BuildTimeSettings{buildSettingNumJobs, buildSettingLogFile}
162+
BuildTimeSettings{buildSettingNumJobs}
163163
registerLock
164164
cacheLock
165165
pkgshared@ElaboratedSharedConfig
166166
{ pkgConfigCompiler = compiler
167167
, pkgConfigCompilerProgs = progdb
168-
, pkgConfigPlatform = platform
169168
}
170169
plan
171170
rpkg@(ReadyPackage pkg)
172171
srcdir
173172
builddir
173+
mlogFile
174174
delegate = do
175-
initLogFile
176-
177175
-- Configure phase
178176
delegate $
179177
PBConfigurePhase $
@@ -238,10 +236,9 @@ buildAndRegisterUnpackedPackage
238236
annotateFailure mlogFile ReplFailed $
239237
setupInteractive replCommand replFlags replArgs
240238

241-
return mlogFile
239+
return ()
242240
where
243241
uid = installedUnitId rpkg
244-
pkgid = packageId rpkg
245242

246243
comp_par_strat = case maybe_semaphore of
247244
Just sem_name -> Cabal.toFlag (getSemaphoreName sem_name)
@@ -386,21 +383,6 @@ buildAndRegisterUnpackedPackage
386383
pkgConfDest
387384
setup Cabal.registerCommand registerFlags (const [])
388385

389-
mlogFile :: Maybe FilePath
390-
mlogFile =
391-
case buildSettingLogFile of
392-
Nothing -> Nothing
393-
Just mkLogFile -> Just (mkLogFile compiler platform pkgid uid)
394-
395-
initLogFile :: IO ()
396-
initLogFile =
397-
case mlogFile of
398-
Nothing -> return ()
399-
Just logFile -> do
400-
createDirectoryIfMissing True (takeDirectory logFile)
401-
exists <- doesFileExist logFile
402-
when exists $ removeFile logFile
403-
404386
withLogging :: (Maybe Handle -> IO r) -> IO r
405387
withLogging action =
406388
case mlogFile of
@@ -459,7 +441,7 @@ buildInplaceUnpackedPackage
459441
buildResult :: BuildResultMisc
460442
buildResult = (docsResult, testsResult)
461443

462-
mlogFile <- buildAndRegisterUnpackedPackage
444+
buildAndRegisterUnpackedPackage
463445
verbosity
464446
distDirLayout
465447
maybe_semaphore
@@ -471,6 +453,7 @@ buildInplaceUnpackedPackage
471453
rpkg
472454
srcdir
473455
builddir
456+
Nothing -- no log file for inplace builds!
474457
$ \case
475458
PBConfigurePhase{runConfigure} -> do
476459
whenReConfigure $ do
@@ -572,7 +555,7 @@ buildInplaceUnpackedPackage
572555
BuildResult
573556
{ buildResultDocs = docsResult
574557
, buildResultTests = testsResult
575-
, buildResultLogFile = mlogFile
558+
, buildResultLogFile = Nothing
576559
}
577560
where
578561
dparams = elabDistDirParams pkgshared pkg
@@ -632,10 +615,13 @@ buildAndInstallUnpackedPackage
632615
{ storePackageDBStack
633616
}
634617
maybe_semaphore
635-
buildSettings@BuildTimeSettings{buildSettingNumJobs}
618+
buildSettings@BuildTimeSettings{buildSettingNumJobs, buildSettingLogFile}
636619
registerLock
637620
cacheLock
638-
pkgshared@ElaboratedSharedConfig{pkgConfigCompiler = compiler}
621+
pkgshared@ElaboratedSharedConfig
622+
{ pkgConfigCompiler = compiler
623+
, pkgConfigPlatform = platform
624+
}
639625
plan
640626
rpkg@(ReadyPackage pkg)
641627
srcdir
@@ -653,7 +639,9 @@ buildAndInstallUnpackedPackage
653639
-- TODO: [required feature] docs and tests
654640
-- TODO: [required feature] sudo re-exec
655641

656-
mlogFile <- buildAndRegisterUnpackedPackage
642+
initLogFile
643+
644+
buildAndRegisterUnpackedPackage
657645
verbosity
658646
distDirLayout
659647
maybe_semaphore
@@ -665,6 +653,7 @@ buildAndInstallUnpackedPackage
665653
rpkg
666654
srcdir
667655
builddir
656+
mlogFile
668657
$ \case
669658
PBConfigurePhase{runConfigure} -> do
670659
noticeProgress ProgressStarting
@@ -758,6 +747,21 @@ buildAndInstallUnpackedPackage
758747
when (isParallelBuild buildSettingNumJobs) $
759748
progressMessage verbosity phase dispname
760749

750+
mlogFile :: Maybe FilePath
751+
mlogFile =
752+
case buildSettingLogFile of
753+
Nothing -> Nothing
754+
Just mkLogFile -> Just (mkLogFile compiler platform pkgid uid)
755+
756+
initLogFile :: IO ()
757+
initLogFile =
758+
case mlogFile of
759+
Nothing -> return ()
760+
Just logFile -> do
761+
createDirectoryIfMissing True (takeDirectory logFile)
762+
exists <- doesFileExist logFile
763+
when exists $ removeFile logFile
764+
761765
-- | The copy part of the installation phase when doing build-and-install
762766
copyPkgFiles
763767
:: Verbosity

0 commit comments

Comments
 (0)