forked from commercialhaskell/stack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGlobalOpts.hs
More file actions
50 lines (46 loc) · 1.97 KB
/
Copy pathGlobalOpts.hs
File metadata and controls
50 lines (46 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{-# LANGUAGE NoImplicitPrelude #-}
module Stack.Types.GlobalOpts
( GlobalOpts (..)
, globalOptsBuildOptsMonoidL
) where
import Stack.Prelude
import Stack.Types.BuildOpts ( BuildOptsMonoid )
import Stack.Types.ConfigMonoid ( ConfigMonoid (..) )
import Stack.Types.DockerEntrypoint ( DockerEntrypoint )
import Stack.Types.LockFileBehavior ( LockFileBehavior )
import Stack.Types.Resolver ( AbstractResolver )
import Stack.Types.StackYamlLoc ( StackYamlLoc )
-- | Parsed global command-line options.
data GlobalOpts = GlobalOpts
{ globalReExecVersion :: !(Maybe String)
-- ^ Expected re-exec in container version
, globalDockerEntrypoint :: !(Maybe DockerEntrypoint)
-- ^ Data used when Stack is acting as a Docker entrypoint (internal use
-- only)
, globalLogLevel :: !LogLevel -- ^ Log level
, globalTimeInLog :: !Bool -- ^ Whether to include timings in logs.
, globalRSLInLog :: !Bool
-- ^ Whether to include raw snapshot layer (RSL) in logs.
, globalPlanInLog :: !Bool
-- ^ Whether to include debug information about the construction of the
-- build plan in logs.
, globalConfigMonoid :: !ConfigMonoid
-- ^ Config monoid, for passing into 'loadConfig'
, globalResolver :: !(Maybe AbstractResolver) -- ^ Resolver override
, globalCompiler :: !(Maybe WantedCompiler) -- ^ Compiler override
, globalTerminal :: !Bool -- ^ We're in a terminal?
, globalStylesUpdate :: !StylesUpdate -- ^ SGR (Ansi) codes for styles
, globalTermWidth :: !(Maybe Int) -- ^ Terminal width override
, globalStackYaml :: !StackYamlLoc -- ^ Override project stack.yaml
, globalLockFileBehavior :: !LockFileBehavior
}
deriving Show
globalOptsBuildOptsMonoidL :: Lens' GlobalOpts BuildOptsMonoid
globalOptsBuildOptsMonoidL =
lens
globalConfigMonoid
(\x y -> x { globalConfigMonoid = y })
.
lens
configMonoidBuildOpts
(\x y -> x { configMonoidBuildOpts = y })