{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE OverloadedRecordDot #-}
module Stack.Types.GlobalOpts
( GlobalOpts (..)
, globalOptsBuildOptsMonoidL
) where
import Stack.Prelude
import Stack.Types.BuildOptsMonoid ( BuildOptsMonoid )
import Stack.Types.ConfigMonoid ( ConfigMonoid (..) )
import Stack.Types.DockerEntrypoint ( DockerEntrypoint )
import Stack.Types.LockFileBehavior ( LockFileBehavior )
import Stack.Types.StackYamlLoc ( StackYamlLoc )
import Stack.Types.Snapshot ( AbstractSnapshot )
data GlobalOpts = GlobalOpts
{ GlobalOpts -> Maybe String
reExecVersion :: !(Maybe String)
, GlobalOpts -> Maybe DockerEntrypoint
dockerEntrypoint :: !(Maybe DockerEntrypoint)
, GlobalOpts -> LogLevel
logLevel :: !LogLevel
, GlobalOpts -> Bool
timeInLog :: !Bool
, GlobalOpts -> Bool
rslInLog :: !Bool
, GlobalOpts -> Bool
planInLog :: !Bool
, GlobalOpts -> ConfigMonoid
configMonoid :: !ConfigMonoid
, GlobalOpts -> Maybe AbstractSnapshot
snapshot :: !(Maybe AbstractSnapshot)
, GlobalOpts -> Maybe WantedCompiler
compiler :: !(Maybe WantedCompiler)
, GlobalOpts -> Bool
terminal :: !Bool
, GlobalOpts -> StylesUpdate
stylesUpdate :: !StylesUpdate
, GlobalOpts -> Maybe Int
termWidthOpt :: !(Maybe Int)
, GlobalOpts -> StackYamlLoc
stackYaml :: !StackYamlLoc
, GlobalOpts -> LockFileBehavior
lockFileBehavior :: !LockFileBehavior
, GlobalOpts -> String
progName :: !String
, GlobalOpts -> Maybe (Path Abs File)
mExecutablePath :: !(Maybe (Path Abs File))
}
globalOptsBuildOptsMonoidL :: Lens' GlobalOpts BuildOptsMonoid
globalOptsBuildOptsMonoidL :: Lens' GlobalOpts BuildOptsMonoid
globalOptsBuildOptsMonoidL =
(GlobalOpts -> ConfigMonoid)
-> (GlobalOpts -> ConfigMonoid -> GlobalOpts)
-> Lens GlobalOpts GlobalOpts ConfigMonoid ConfigMonoid
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (.configMonoid) (\GlobalOpts
x ConfigMonoid
y -> GlobalOpts
x { configMonoid = y })
((ConfigMonoid -> f ConfigMonoid) -> GlobalOpts -> f GlobalOpts)
-> ((BuildOptsMonoid -> f BuildOptsMonoid)
-> ConfigMonoid -> f ConfigMonoid)
-> (BuildOptsMonoid -> f BuildOptsMonoid)
-> GlobalOpts
-> f GlobalOpts
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ConfigMonoid -> BuildOptsMonoid)
-> (ConfigMonoid -> BuildOptsMonoid -> ConfigMonoid)
-> Lens ConfigMonoid ConfigMonoid BuildOptsMonoid BuildOptsMonoid
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (.buildOpts) (\ConfigMonoid
x BuildOptsMonoid
y -> ConfigMonoid
x { buildOpts = y })