@@ -232,8 +232,9 @@ cleanOptsParser = CleanOpts <$> packages
232232-- | Command-line arguments parser for configuration.
233233configOptsParser :: Bool -> Parser ConfigMonoid
234234configOptsParser hide0 =
235- (\ opts systemGHC installGHC arch os ghcVariant jobs includes libs skipGHCCheck skipMsys localBin modifyCodePage -> mempty
236- { configMonoidDockerOpts = opts
235+ (\ workDir opts systemGHC installGHC arch os ghcVariant jobs includes libs skipGHCCheck skipMsys localBin modifyCodePage -> mempty
236+ { configMonoidWorkDir = workDir
237+ , configMonoidDockerOpts = opts
237238 , configMonoidSystemGHC = systemGHC
238239 , configMonoidInstallGHC = installGHC
239240 , configMonoidSkipGHCCheck = skipGHCCheck
@@ -247,7 +248,13 @@ configOptsParser hide0 =
247248 , configMonoidLocalBinPath = localBin
248249 , configMonoidModifyCodePage = modifyCodePage
249250 })
250- <$> dockerOptsParser True
251+ <$> optional (strOption
252+ ( long " work-dir"
253+ <> metavar " WORK-DIR"
254+ <> help " Override work directory (default: .stack-work)"
255+ <> hide
256+ ))
257+ <*> dockerOptsParser True
251258 <*> maybeBoolFlags
252259 " system-ghc"
253260 " using the system installed GHC (on the PATH) if available and a matching version"
@@ -561,11 +568,11 @@ globalOptsFromMonoid :: Bool -> GlobalOptsMonoid -> GlobalOpts
561568globalOptsFromMonoid defaultTerminal GlobalOptsMonoid {.. } = GlobalOpts
562569 { globalReExecVersion = globalMonoidReExecVersion
563570 , globalDockerEntrypoint = globalMonoidDockerEntrypoint
564- , globalLogLevel = fromMaybe defaultLogLevel ( globalMonoidLogLevel)
571+ , globalLogLevel = fromMaybe defaultLogLevel globalMonoidLogLevel
565572 , globalConfigMonoid = globalMonoidConfigMonoid
566573 , globalResolver = globalMonoidResolver
567574 , globalCompiler = globalMonoidCompiler
568- , globalTerminal = fromMaybe defaultTerminal ( globalMonoidTerminal)
575+ , globalTerminal = fromMaybe defaultTerminal globalMonoidTerminal
569576 , globalStackYaml = globalMonoidStackYaml }
570577
571578initOptsParser :: Parser InitOpts
@@ -599,7 +606,7 @@ initOptsParser =
599606 metavar " RESOLVER" <>
600607 help " Use the given resolver, even if not all dependencies are met" )
601608
602- -- | Parse for a logging level.
609+ -- | Parser for a logging level.
603610logLevelOptsParser :: Bool -> Parser (Maybe LogLevel )
604611logLevelOptsParser hide =
605612 fmap (Just . parse)
0 commit comments