{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE OverloadedRecordDot #-}
{-# LANGUAGE OverloadedStrings #-}
module Stack.Types.BuildOptsMonoid
( BuildOptsMonoid (..)
, HaddockOptsMonoid (..)
, TestOptsMonoid (..)
, BenchmarkOptsMonoid (..)
, CabalVerbosity (..)
, ProgressBarFormat (..)
, buildOptsMonoidHaddockL
, buildOptsMonoidTestsL
, buildOptsMonoidBenchmarksL
, buildOptsMonoidInstallExesL
, toFirstCabalVerbosity
, readProgressBarFormat
) where
import Data.Aeson.Types ( FromJSON (..), withText )
import Data.Aeson.WarningParser
( WithJSONWarnings, (..:?), (..!=), jsonSubWarnings
, withObjectWarnings
)
import qualified Data.Text as T
import Distribution.Parsec ( Parsec (..), simpleParsec )
import Distribution.Verbosity ( Verbosity, normal, verbose )
import Generics.Deriving.Monoid ( mappenddefault, memptydefault )
import Stack.Prelude hiding ( trace )
data BuildOptsMonoid = BuildOptsMonoid
{ BuildOptsMonoid -> Any
trace :: !Any
, BuildOptsMonoid -> Any
profile :: !Any
, BuildOptsMonoid -> Any
noStrip :: !Any
, BuildOptsMonoid -> FirstFalse
libProfile :: !FirstFalse
, BuildOptsMonoid -> FirstFalse
exeProfile :: !FirstFalse
, BuildOptsMonoid -> FirstTrue
libStrip :: !FirstTrue
, BuildOptsMonoid -> FirstTrue
exeStrip :: !FirstTrue
, BuildOptsMonoid -> FirstFalse
buildHaddocks :: !FirstFalse
, BuildOptsMonoid -> HaddockOptsMonoid
haddockOpts :: !HaddockOptsMonoid
, BuildOptsMonoid -> FirstFalse
openHaddocks :: !FirstFalse
, BuildOptsMonoid -> First Bool
haddockDeps :: !(First Bool)
, BuildOptsMonoid -> FirstFalse
haddockInternal :: !FirstFalse
, BuildOptsMonoid -> FirstTrue
haddockHyperlinkSource :: !FirstTrue
, BuildOptsMonoid -> FirstFalse
haddockForHackage :: !FirstFalse
, BuildOptsMonoid -> FirstFalse
installExes :: !FirstFalse
, BuildOptsMonoid -> FirstFalse
installCompilerTool :: !FirstFalse
, BuildOptsMonoid -> FirstFalse
preFetch :: !FirstFalse
, BuildOptsMonoid -> First Bool
keepGoing :: !(First Bool)
, BuildOptsMonoid -> FirstFalse
keepTmpFiles :: !FirstFalse
, BuildOptsMonoid -> FirstFalse
forceDirty :: !FirstFalse
, BuildOptsMonoid -> FirstFalse
tests :: !FirstFalse
, BuildOptsMonoid -> TestOptsMonoid
testOpts :: !TestOptsMonoid
, BuildOptsMonoid -> FirstFalse
benchmarks :: !FirstFalse
, BuildOptsMonoid -> BenchmarkOptsMonoid
benchmarkOpts :: !BenchmarkOptsMonoid
, BuildOptsMonoid -> FirstFalse
reconfigure :: !FirstFalse
, BuildOptsMonoid -> First CabalVerbosity
cabalVerbose :: !(First CabalVerbosity)
, BuildOptsMonoid -> FirstFalse
splitObjs :: !FirstFalse
, BuildOptsMonoid -> [Text]
skipComponents :: ![Text]
, BuildOptsMonoid -> FirstTrue
interleavedOutput :: !FirstTrue
, BuildOptsMonoid -> First ProgressBarFormat
progressBar :: !(First ProgressBarFormat)
, BuildOptsMonoid -> First Text
ddumpDir :: !(First Text)
}
deriving ((forall x. BuildOptsMonoid -> Rep BuildOptsMonoid x)
-> (forall x. Rep BuildOptsMonoid x -> BuildOptsMonoid)
-> Generic BuildOptsMonoid
forall x. Rep BuildOptsMonoid x -> BuildOptsMonoid
forall x. BuildOptsMonoid -> Rep BuildOptsMonoid x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. BuildOptsMonoid -> Rep BuildOptsMonoid x
from :: forall x. BuildOptsMonoid -> Rep BuildOptsMonoid x
$cto :: forall x. Rep BuildOptsMonoid x -> BuildOptsMonoid
to :: forall x. Rep BuildOptsMonoid x -> BuildOptsMonoid
Generic, Int -> BuildOptsMonoid -> ShowS
[BuildOptsMonoid] -> ShowS
BuildOptsMonoid -> String
(Int -> BuildOptsMonoid -> ShowS)
-> (BuildOptsMonoid -> String)
-> ([BuildOptsMonoid] -> ShowS)
-> Show BuildOptsMonoid
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BuildOptsMonoid -> ShowS
showsPrec :: Int -> BuildOptsMonoid -> ShowS
$cshow :: BuildOptsMonoid -> String
show :: BuildOptsMonoid -> String
$cshowList :: [BuildOptsMonoid] -> ShowS
showList :: [BuildOptsMonoid] -> ShowS
Show)
instance FromJSON (WithJSONWarnings BuildOptsMonoid) where
parseJSON :: Value -> Parser (WithJSONWarnings BuildOptsMonoid)
parseJSON = String
-> (Object -> WarningParser BuildOptsMonoid)
-> Value
-> Parser (WithJSONWarnings BuildOptsMonoid)
forall a.
String
-> (Object -> WarningParser a)
-> Value
-> Parser (WithJSONWarnings a)
withObjectWarnings String
"BuildOptsMonoid" ((Object -> WarningParser BuildOptsMonoid)
-> Value -> Parser (WithJSONWarnings BuildOptsMonoid))
-> (Object -> WarningParser BuildOptsMonoid)
-> Value
-> Parser (WithJSONWarnings BuildOptsMonoid)
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
let trace :: Any
trace = Bool -> Any
Any Bool
False
profile :: Any
profile = Bool -> Any
Any Bool
False
noStrip :: Any
noStrip = Bool -> Any
Any Bool
False
FirstFalse
libProfile <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
libProfileArgName
FirstFalse
exeProfile <-Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
exeProfileArgName
FirstTrue
libStrip <- Maybe Bool -> FirstTrue
FirstTrue (Maybe Bool -> FirstTrue)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstTrue
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
libStripArgName
FirstTrue
exeStrip <-Maybe Bool -> FirstTrue
FirstTrue (Maybe Bool -> FirstTrue)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstTrue
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
exeStripArgName
FirstFalse
buildHaddocks <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
haddockArgName
HaddockOptsMonoid
haddockOpts <- WarningParser (WithJSONWarnings HaddockOptsMonoid)
-> WarningParser HaddockOptsMonoid
forall a. WarningParser (WithJSONWarnings a) -> WarningParser a
jsonSubWarnings (Object
o Object
-> Text
-> WarningParser (Maybe (WithJSONWarnings HaddockOptsMonoid))
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
haddockOptsArgName WarningParser (Maybe (WithJSONWarnings HaddockOptsMonoid))
-> WithJSONWarnings HaddockOptsMonoid
-> WarningParser (WithJSONWarnings HaddockOptsMonoid)
forall a. WarningParser (Maybe a) -> a -> WarningParser a
..!= WithJSONWarnings HaddockOptsMonoid
forall a. Monoid a => a
mempty)
FirstFalse
openHaddocks <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
openHaddocksArgName
First Bool
haddockDeps <- Maybe Bool -> First Bool
forall a. Maybe a -> First a
First (Maybe Bool -> First Bool)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser (First Bool)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
haddockDepsArgName
FirstFalse
haddockInternal <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
haddockInternalArgName
FirstTrue
haddockHyperlinkSource <- Maybe Bool -> FirstTrue
FirstTrue (Maybe Bool -> FirstTrue)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstTrue
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
haddockHyperlinkSourceArgName
FirstFalse
haddockForHackage <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
haddockForHackageArgName
FirstFalse
installExes <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
installExesArgName
FirstFalse
installCompilerTool <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
installCompilerToolArgName
FirstFalse
preFetch <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
preFetchArgName
First Bool
keepGoing <- Maybe Bool -> First Bool
forall a. Maybe a -> First a
First (Maybe Bool -> First Bool)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser (First Bool)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
keepGoingArgName
FirstFalse
keepTmpFiles <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
keepTmpFilesArgName
FirstFalse
forceDirty <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
forceDirtyArgName
FirstFalse
tests <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
testsArgName
TestOptsMonoid
testOpts <- WarningParser (WithJSONWarnings TestOptsMonoid)
-> WarningParser TestOptsMonoid
forall a. WarningParser (WithJSONWarnings a) -> WarningParser a
jsonSubWarnings (Object
o Object
-> Text -> WarningParser (Maybe (WithJSONWarnings TestOptsMonoid))
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
testOptsArgName WarningParser (Maybe (WithJSONWarnings TestOptsMonoid))
-> WithJSONWarnings TestOptsMonoid
-> WarningParser (WithJSONWarnings TestOptsMonoid)
forall a. WarningParser (Maybe a) -> a -> WarningParser a
..!= WithJSONWarnings TestOptsMonoid
forall a. Monoid a => a
mempty)
FirstFalse
benchmarks <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
benchmarksArgName
BenchmarkOptsMonoid
benchmarkOpts <- WarningParser (WithJSONWarnings BenchmarkOptsMonoid)
-> WarningParser BenchmarkOptsMonoid
forall a. WarningParser (WithJSONWarnings a) -> WarningParser a
jsonSubWarnings (Object
o Object
-> Text
-> WarningParser (Maybe (WithJSONWarnings BenchmarkOptsMonoid))
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
benchmarkOptsArgName WarningParser (Maybe (WithJSONWarnings BenchmarkOptsMonoid))
-> WithJSONWarnings BenchmarkOptsMonoid
-> WarningParser (WithJSONWarnings BenchmarkOptsMonoid)
forall a. WarningParser (Maybe a) -> a -> WarningParser a
..!= WithJSONWarnings BenchmarkOptsMonoid
forall a. Monoid a => a
mempty)
FirstFalse
reconfigure <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
reconfigureArgName
First CabalVerbosity
cabalVerbosity <- Maybe CabalVerbosity -> First CabalVerbosity
forall a. Maybe a -> First a
First (Maybe CabalVerbosity -> First CabalVerbosity)
-> WriterT WarningParserMonoid Parser (Maybe CabalVerbosity)
-> WriterT WarningParserMonoid Parser (First CabalVerbosity)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object
-> Text
-> WriterT WarningParserMonoid Parser (Maybe CabalVerbosity)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
cabalVerbosityArgName
FirstFalse
cabalVerbose' <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
cabalVerboseArgName
let cabalVerbose :: First CabalVerbosity
cabalVerbose = First CabalVerbosity
cabalVerbosity First CabalVerbosity
-> First CabalVerbosity -> First CabalVerbosity
forall a. Semigroup a => a -> a -> a
<> FirstFalse -> First CabalVerbosity
toFirstCabalVerbosity FirstFalse
cabalVerbose'
FirstFalse
splitObjs <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
splitObjsName
[Text]
skipComponents <- Object
o Object -> Text -> WarningParser (Maybe [Text])
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
skipComponentsName WarningParser (Maybe [Text]) -> [Text] -> WarningParser [Text]
forall a. WarningParser (Maybe a) -> a -> WarningParser a
..!= [Text]
forall a. Monoid a => a
mempty
FirstTrue
interleavedOutput <- Maybe Bool -> FirstTrue
FirstTrue (Maybe Bool -> FirstTrue)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstTrue
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
interleavedOutputName
First ProgressBarFormat
progressBar <- Maybe ProgressBarFormat -> First ProgressBarFormat
forall a. Maybe a -> First a
First (Maybe ProgressBarFormat -> First ProgressBarFormat)
-> WriterT WarningParserMonoid Parser (Maybe ProgressBarFormat)
-> WriterT WarningParserMonoid Parser (First ProgressBarFormat)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object
-> Text
-> WriterT WarningParserMonoid Parser (Maybe ProgressBarFormat)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
progressBarName
First Text
ddumpDir <- Object
o Object -> Text -> WarningParser (Maybe (First Text))
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
ddumpDirName WarningParser (Maybe (First Text))
-> First Text -> WarningParser (First Text)
forall a. WarningParser (Maybe a) -> a -> WarningParser a
..!= First Text
forall a. Monoid a => a
mempty
BuildOptsMonoid -> WarningParser BuildOptsMonoid
forall a. a -> WriterT WarningParserMonoid Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure BuildOptsMonoid
{ Any
$sel:trace:BuildOptsMonoid :: Any
trace :: Any
trace
, Any
$sel:profile:BuildOptsMonoid :: Any
profile :: Any
profile
, Any
$sel:noStrip:BuildOptsMonoid :: Any
noStrip :: Any
noStrip
, FirstFalse
$sel:libProfile:BuildOptsMonoid :: FirstFalse
libProfile :: FirstFalse
libProfile
, FirstFalse
$sel:exeProfile:BuildOptsMonoid :: FirstFalse
exeProfile :: FirstFalse
exeProfile
, FirstTrue
$sel:libStrip:BuildOptsMonoid :: FirstTrue
libStrip :: FirstTrue
libStrip
, FirstTrue
$sel:exeStrip:BuildOptsMonoid :: FirstTrue
exeStrip :: FirstTrue
exeStrip
, FirstFalse
$sel:buildHaddocks:BuildOptsMonoid :: FirstFalse
buildHaddocks :: FirstFalse
buildHaddocks
, HaddockOptsMonoid
$sel:haddockOpts:BuildOptsMonoid :: HaddockOptsMonoid
haddockOpts :: HaddockOptsMonoid
haddockOpts
, FirstFalse
$sel:openHaddocks:BuildOptsMonoid :: FirstFalse
openHaddocks :: FirstFalse
openHaddocks
, First Bool
$sel:haddockDeps:BuildOptsMonoid :: First Bool
haddockDeps :: First Bool
haddockDeps
, FirstFalse
$sel:haddockInternal:BuildOptsMonoid :: FirstFalse
haddockInternal :: FirstFalse
haddockInternal
, FirstTrue
$sel:haddockHyperlinkSource:BuildOptsMonoid :: FirstTrue
haddockHyperlinkSource :: FirstTrue
haddockHyperlinkSource
, FirstFalse
$sel:haddockForHackage:BuildOptsMonoid :: FirstFalse
haddockForHackage :: FirstFalse
haddockForHackage
, FirstFalse
$sel:installExes:BuildOptsMonoid :: FirstFalse
installExes :: FirstFalse
installExes
, FirstFalse
$sel:installCompilerTool:BuildOptsMonoid :: FirstFalse
installCompilerTool :: FirstFalse
installCompilerTool
, FirstFalse
$sel:preFetch:BuildOptsMonoid :: FirstFalse
preFetch :: FirstFalse
preFetch
, First Bool
$sel:keepGoing:BuildOptsMonoid :: First Bool
keepGoing :: First Bool
keepGoing
, FirstFalse
$sel:keepTmpFiles:BuildOptsMonoid :: FirstFalse
keepTmpFiles :: FirstFalse
keepTmpFiles
, FirstFalse
$sel:forceDirty:BuildOptsMonoid :: FirstFalse
forceDirty :: FirstFalse
forceDirty
, FirstFalse
$sel:tests:BuildOptsMonoid :: FirstFalse
tests :: FirstFalse
tests
, TestOptsMonoid
$sel:testOpts:BuildOptsMonoid :: TestOptsMonoid
testOpts :: TestOptsMonoid
testOpts
, FirstFalse
$sel:benchmarks:BuildOptsMonoid :: FirstFalse
benchmarks :: FirstFalse
benchmarks
, BenchmarkOptsMonoid
$sel:benchmarkOpts:BuildOptsMonoid :: BenchmarkOptsMonoid
benchmarkOpts :: BenchmarkOptsMonoid
benchmarkOpts
, FirstFalse
$sel:reconfigure:BuildOptsMonoid :: FirstFalse
reconfigure :: FirstFalse
reconfigure
, First CabalVerbosity
$sel:cabalVerbose:BuildOptsMonoid :: First CabalVerbosity
cabalVerbose :: First CabalVerbosity
cabalVerbose
, FirstFalse
$sel:splitObjs:BuildOptsMonoid :: FirstFalse
splitObjs :: FirstFalse
splitObjs
, [Text]
$sel:skipComponents:BuildOptsMonoid :: [Text]
skipComponents :: [Text]
skipComponents
, FirstTrue
$sel:interleavedOutput:BuildOptsMonoid :: FirstTrue
interleavedOutput :: FirstTrue
interleavedOutput
, First ProgressBarFormat
$sel:progressBar:BuildOptsMonoid :: First ProgressBarFormat
progressBar :: First ProgressBarFormat
progressBar
, First Text
$sel:ddumpDir:BuildOptsMonoid :: First Text
ddumpDir :: First Text
ddumpDir
}
libProfileArgName :: Text
libProfileArgName :: Text
libProfileArgName = Text
"library-profiling"
exeProfileArgName :: Text
exeProfileArgName :: Text
exeProfileArgName = Text
"executable-profiling"
libStripArgName :: Text
libStripArgName :: Text
libStripArgName = Text
"library-stripping"
exeStripArgName :: Text
exeStripArgName :: Text
exeStripArgName = Text
"executable-stripping"
haddockArgName :: Text
haddockArgName :: Text
haddockArgName = Text
"haddock"
haddockOptsArgName :: Text
haddockOptsArgName :: Text
haddockOptsArgName = Text
"haddock-arguments"
openHaddocksArgName :: Text
openHaddocksArgName :: Text
openHaddocksArgName = Text
"open-haddocks"
haddockDepsArgName :: Text
haddockDepsArgName :: Text
haddockDepsArgName = Text
"haddock-deps"
haddockInternalArgName :: Text
haddockInternalArgName :: Text
haddockInternalArgName = Text
"haddock-internal"
haddockHyperlinkSourceArgName :: Text
haddockHyperlinkSourceArgName :: Text
haddockHyperlinkSourceArgName = Text
"haddock-hyperlink-source"
haddockForHackageArgName :: Text
haddockForHackageArgName :: Text
haddockForHackageArgName = Text
"haddock-for-hackage"
installExesArgName :: Text
installExesArgName :: Text
installExesArgName = Text
"copy-bins"
installCompilerToolArgName :: Text
installCompilerToolArgName :: Text
installCompilerToolArgName = Text
"copy-compiler-tool"
preFetchArgName :: Text
preFetchArgName :: Text
preFetchArgName = Text
"prefetch"
keepGoingArgName :: Text
keepGoingArgName :: Text
keepGoingArgName = Text
"keep-going"
keepTmpFilesArgName :: Text
keepTmpFilesArgName :: Text
keepTmpFilesArgName = Text
"keep-tmp-files"
forceDirtyArgName :: Text
forceDirtyArgName :: Text
forceDirtyArgName = Text
"force-dirty"
testsArgName :: Text
testsArgName :: Text
testsArgName = Text
"test"
testOptsArgName :: Text
testOptsArgName :: Text
testOptsArgName = Text
"test-arguments"
benchmarksArgName :: Text
benchmarksArgName :: Text
benchmarksArgName = Text
"bench"
benchmarkOptsArgName :: Text
benchmarkOptsArgName :: Text
benchmarkOptsArgName = Text
"benchmark-opts"
reconfigureArgName :: Text
reconfigureArgName :: Text
reconfigureArgName = Text
"reconfigure"
cabalVerbosityArgName :: Text
cabalVerbosityArgName :: Text
cabalVerbosityArgName = Text
"cabal-verbosity"
cabalVerboseArgName :: Text
cabalVerboseArgName :: Text
cabalVerboseArgName = Text
"cabal-verbose"
splitObjsName :: Text
splitObjsName :: Text
splitObjsName = Text
"split-objs"
skipComponentsName :: Text
skipComponentsName :: Text
skipComponentsName = Text
"skip-components"
interleavedOutputName :: Text
interleavedOutputName :: Text
interleavedOutputName = Text
"interleaved-output"
progressBarName :: Text
progressBarName :: Text
progressBarName = Text
"progress-bar"
ddumpDirName :: Text
ddumpDirName :: Text
ddumpDirName = Text
"ddump-dir"
instance Semigroup BuildOptsMonoid where
<> :: BuildOptsMonoid -> BuildOptsMonoid -> BuildOptsMonoid
(<>) = BuildOptsMonoid -> BuildOptsMonoid -> BuildOptsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a -> a -> a
mappenddefault
instance Monoid BuildOptsMonoid where
mempty :: BuildOptsMonoid
mempty = BuildOptsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a
memptydefault
mappend :: BuildOptsMonoid -> BuildOptsMonoid -> BuildOptsMonoid
mappend = BuildOptsMonoid -> BuildOptsMonoid -> BuildOptsMonoid
forall a. Semigroup a => a -> a -> a
(<>)
data TestOptsMonoid = TestOptsMonoid
{ TestOptsMonoid -> FirstTrue
rerunTests :: !FirstTrue
, TestOptsMonoid -> [String]
additionalArgs :: ![String]
, TestOptsMonoid -> FirstFalse
coverage :: !FirstFalse
, TestOptsMonoid -> FirstFalse
disableRun :: !FirstFalse
, TestOptsMonoid -> First (Maybe Int)
maximumTimeSeconds :: !(First (Maybe Int))
, TestOptsMonoid -> FirstTrue
allowStdin :: !FirstTrue
}
deriving (Int -> TestOptsMonoid -> ShowS
[TestOptsMonoid] -> ShowS
TestOptsMonoid -> String
(Int -> TestOptsMonoid -> ShowS)
-> (TestOptsMonoid -> String)
-> ([TestOptsMonoid] -> ShowS)
-> Show TestOptsMonoid
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TestOptsMonoid -> ShowS
showsPrec :: Int -> TestOptsMonoid -> ShowS
$cshow :: TestOptsMonoid -> String
show :: TestOptsMonoid -> String
$cshowList :: [TestOptsMonoid] -> ShowS
showList :: [TestOptsMonoid] -> ShowS
Show, (forall x. TestOptsMonoid -> Rep TestOptsMonoid x)
-> (forall x. Rep TestOptsMonoid x -> TestOptsMonoid)
-> Generic TestOptsMonoid
forall x. Rep TestOptsMonoid x -> TestOptsMonoid
forall x. TestOptsMonoid -> Rep TestOptsMonoid x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. TestOptsMonoid -> Rep TestOptsMonoid x
from :: forall x. TestOptsMonoid -> Rep TestOptsMonoid x
$cto :: forall x. Rep TestOptsMonoid x -> TestOptsMonoid
to :: forall x. Rep TestOptsMonoid x -> TestOptsMonoid
Generic)
instance FromJSON (WithJSONWarnings TestOptsMonoid) where
parseJSON :: Value -> Parser (WithJSONWarnings TestOptsMonoid)
parseJSON = String
-> (Object -> WarningParser TestOptsMonoid)
-> Value
-> Parser (WithJSONWarnings TestOptsMonoid)
forall a.
String
-> (Object -> WarningParser a)
-> Value
-> Parser (WithJSONWarnings a)
withObjectWarnings String
"TestOptsMonoid" ((Object -> WarningParser TestOptsMonoid)
-> Value -> Parser (WithJSONWarnings TestOptsMonoid))
-> (Object -> WarningParser TestOptsMonoid)
-> Value
-> Parser (WithJSONWarnings TestOptsMonoid)
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
FirstTrue
rerunTests <- Maybe Bool -> FirstTrue
FirstTrue (Maybe Bool -> FirstTrue)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstTrue
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
rerunTestsArgName
[String]
additionalArgs <- Object
o Object -> Text -> WarningParser (Maybe [String])
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
testAdditionalArgsName WarningParser (Maybe [String])
-> [String] -> WarningParser [String]
forall a. WarningParser (Maybe a) -> a -> WarningParser a
..!= []
FirstFalse
coverage <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
coverageArgName
FirstFalse
disableRun <- Maybe Bool -> FirstFalse
FirstFalse (Maybe Bool -> FirstFalse)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstFalse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
testDisableRunArgName
First (Maybe Int)
maximumTimeSeconds <- Maybe (Maybe Int) -> First (Maybe Int)
forall a. Maybe a -> First a
First (Maybe (Maybe Int) -> First (Maybe Int))
-> WriterT WarningParserMonoid Parser (Maybe (Maybe Int))
-> WriterT WarningParserMonoid Parser (First (Maybe Int))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object
-> Text -> WriterT WarningParserMonoid Parser (Maybe (Maybe Int))
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
maximumTimeSecondsArgName
FirstTrue
allowStdin <- Maybe Bool -> FirstTrue
FirstTrue (Maybe Bool -> FirstTrue)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser FirstTrue
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
testsAllowStdinName
TestOptsMonoid -> WarningParser TestOptsMonoid
forall a. a -> WriterT WarningParserMonoid Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure TestOptsMonoid
{ FirstTrue
$sel:rerunTests:TestOptsMonoid :: FirstTrue
rerunTests :: FirstTrue
rerunTests
, [String]
$sel:additionalArgs:TestOptsMonoid :: [String]
additionalArgs :: [String]
additionalArgs
, FirstFalse
$sel:coverage:TestOptsMonoid :: FirstFalse
coverage :: FirstFalse
coverage
, FirstFalse
$sel:disableRun:TestOptsMonoid :: FirstFalse
disableRun :: FirstFalse
disableRun
, First (Maybe Int)
$sel:maximumTimeSeconds:TestOptsMonoid :: First (Maybe Int)
maximumTimeSeconds :: First (Maybe Int)
maximumTimeSeconds
, FirstTrue
$sel:allowStdin:TestOptsMonoid :: FirstTrue
allowStdin :: FirstTrue
allowStdin
}
rerunTestsArgName :: Text
rerunTestsArgName :: Text
rerunTestsArgName = Text
"rerun-tests"
testAdditionalArgsName :: Text
testAdditionalArgsName :: Text
testAdditionalArgsName = Text
"additional-args"
coverageArgName :: Text
coverageArgName :: Text
coverageArgName = Text
"coverage"
testDisableRunArgName :: Text
testDisableRunArgName :: Text
testDisableRunArgName = Text
"no-run-tests"
maximumTimeSecondsArgName :: Text
maximumTimeSecondsArgName :: Text
maximumTimeSecondsArgName = Text
"test-suite-timeout"
testsAllowStdinName :: Text
testsAllowStdinName :: Text
testsAllowStdinName = Text
"tests-allow-stdin"
instance Semigroup TestOptsMonoid where
<> :: TestOptsMonoid -> TestOptsMonoid -> TestOptsMonoid
(<>) = TestOptsMonoid -> TestOptsMonoid -> TestOptsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a -> a -> a
mappenddefault
instance Monoid TestOptsMonoid where
mempty :: TestOptsMonoid
mempty = TestOptsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a
memptydefault
mappend :: TestOptsMonoid -> TestOptsMonoid -> TestOptsMonoid
mappend = TestOptsMonoid -> TestOptsMonoid -> TestOptsMonoid
forall a. Semigroup a => a -> a -> a
(<>)
newtype HaddockOptsMonoid = HaddockOptsMonoid
{ HaddockOptsMonoid -> [String]
additionalArgs :: [String]
}
deriving ((forall x. HaddockOptsMonoid -> Rep HaddockOptsMonoid x)
-> (forall x. Rep HaddockOptsMonoid x -> HaddockOptsMonoid)
-> Generic HaddockOptsMonoid
forall x. Rep HaddockOptsMonoid x -> HaddockOptsMonoid
forall x. HaddockOptsMonoid -> Rep HaddockOptsMonoid x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. HaddockOptsMonoid -> Rep HaddockOptsMonoid x
from :: forall x. HaddockOptsMonoid -> Rep HaddockOptsMonoid x
$cto :: forall x. Rep HaddockOptsMonoid x -> HaddockOptsMonoid
to :: forall x. Rep HaddockOptsMonoid x -> HaddockOptsMonoid
Generic, Int -> HaddockOptsMonoid -> ShowS
[HaddockOptsMonoid] -> ShowS
HaddockOptsMonoid -> String
(Int -> HaddockOptsMonoid -> ShowS)
-> (HaddockOptsMonoid -> String)
-> ([HaddockOptsMonoid] -> ShowS)
-> Show HaddockOptsMonoid
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> HaddockOptsMonoid -> ShowS
showsPrec :: Int -> HaddockOptsMonoid -> ShowS
$cshow :: HaddockOptsMonoid -> String
show :: HaddockOptsMonoid -> String
$cshowList :: [HaddockOptsMonoid] -> ShowS
showList :: [HaddockOptsMonoid] -> ShowS
Show)
instance FromJSON (WithJSONWarnings HaddockOptsMonoid) where
parseJSON :: Value -> Parser (WithJSONWarnings HaddockOptsMonoid)
parseJSON = String
-> (Object -> WarningParser HaddockOptsMonoid)
-> Value
-> Parser (WithJSONWarnings HaddockOptsMonoid)
forall a.
String
-> (Object -> WarningParser a)
-> Value
-> Parser (WithJSONWarnings a)
withObjectWarnings String
"HaddockOptsMonoid" ((Object -> WarningParser HaddockOptsMonoid)
-> Value -> Parser (WithJSONWarnings HaddockOptsMonoid))
-> (Object -> WarningParser HaddockOptsMonoid)
-> Value
-> Parser (WithJSONWarnings HaddockOptsMonoid)
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
[String]
additionalArgs <- Object
o Object -> Text -> WarningParser (Maybe [String])
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
haddockAdditionalArgsName WarningParser (Maybe [String])
-> [String] -> WarningParser [String]
forall a. WarningParser (Maybe a) -> a -> WarningParser a
..!= []
HaddockOptsMonoid -> WarningParser HaddockOptsMonoid
forall a. a -> WriterT WarningParserMonoid Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure HaddockOptsMonoid { [String]
$sel:additionalArgs:HaddockOptsMonoid :: [String]
additionalArgs :: [String]
additionalArgs }
instance Semigroup HaddockOptsMonoid where
<> :: HaddockOptsMonoid -> HaddockOptsMonoid -> HaddockOptsMonoid
(<>) = HaddockOptsMonoid -> HaddockOptsMonoid -> HaddockOptsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a -> a -> a
mappenddefault
instance Monoid HaddockOptsMonoid where
mempty :: HaddockOptsMonoid
mempty = HaddockOptsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a
memptydefault
mappend :: HaddockOptsMonoid -> HaddockOptsMonoid -> HaddockOptsMonoid
mappend = HaddockOptsMonoid -> HaddockOptsMonoid -> HaddockOptsMonoid
forall a. Semigroup a => a -> a -> a
(<>)
haddockAdditionalArgsName :: Text
haddockAdditionalArgsName :: Text
haddockAdditionalArgsName = Text
"haddock-args"
data BenchmarkOptsMonoid = BenchmarkOptsMonoid
{ BenchmarkOptsMonoid -> First String
additionalArgs :: !(First String)
, BenchmarkOptsMonoid -> First Bool
disableRun :: !(First Bool)
}
deriving ((forall x. BenchmarkOptsMonoid -> Rep BenchmarkOptsMonoid x)
-> (forall x. Rep BenchmarkOptsMonoid x -> BenchmarkOptsMonoid)
-> Generic BenchmarkOptsMonoid
forall x. Rep BenchmarkOptsMonoid x -> BenchmarkOptsMonoid
forall x. BenchmarkOptsMonoid -> Rep BenchmarkOptsMonoid x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. BenchmarkOptsMonoid -> Rep BenchmarkOptsMonoid x
from :: forall x. BenchmarkOptsMonoid -> Rep BenchmarkOptsMonoid x
$cto :: forall x. Rep BenchmarkOptsMonoid x -> BenchmarkOptsMonoid
to :: forall x. Rep BenchmarkOptsMonoid x -> BenchmarkOptsMonoid
Generic, Int -> BenchmarkOptsMonoid -> ShowS
[BenchmarkOptsMonoid] -> ShowS
BenchmarkOptsMonoid -> String
(Int -> BenchmarkOptsMonoid -> ShowS)
-> (BenchmarkOptsMonoid -> String)
-> ([BenchmarkOptsMonoid] -> ShowS)
-> Show BenchmarkOptsMonoid
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BenchmarkOptsMonoid -> ShowS
showsPrec :: Int -> BenchmarkOptsMonoid -> ShowS
$cshow :: BenchmarkOptsMonoid -> String
show :: BenchmarkOptsMonoid -> String
$cshowList :: [BenchmarkOptsMonoid] -> ShowS
showList :: [BenchmarkOptsMonoid] -> ShowS
Show)
instance FromJSON (WithJSONWarnings BenchmarkOptsMonoid) where
parseJSON :: Value -> Parser (WithJSONWarnings BenchmarkOptsMonoid)
parseJSON = String
-> (Object -> WarningParser BenchmarkOptsMonoid)
-> Value
-> Parser (WithJSONWarnings BenchmarkOptsMonoid)
forall a.
String
-> (Object -> WarningParser a)
-> Value
-> Parser (WithJSONWarnings a)
withObjectWarnings String
"BenchmarkOptsMonoid" ((Object -> WarningParser BenchmarkOptsMonoid)
-> Value -> Parser (WithJSONWarnings BenchmarkOptsMonoid))
-> (Object -> WarningParser BenchmarkOptsMonoid)
-> Value
-> Parser (WithJSONWarnings BenchmarkOptsMonoid)
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
First String
additionalArgs <- Maybe String -> First String
forall a. Maybe a -> First a
First (Maybe String -> First String)
-> WriterT WarningParserMonoid Parser (Maybe String)
-> WriterT WarningParserMonoid Parser (First String)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe String)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
benchmarkAdditionalArgsName
First Bool
disableRun <- Maybe Bool -> First Bool
forall a. Maybe a -> First a
First (Maybe Bool -> First Bool)
-> WriterT WarningParserMonoid Parser (Maybe Bool)
-> WriterT WarningParserMonoid Parser (First Bool)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> WriterT WarningParserMonoid Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> WarningParser (Maybe a)
..:? Text
benchmarkDisableRunArgName
BenchmarkOptsMonoid -> WarningParser BenchmarkOptsMonoid
forall a. a -> WriterT WarningParserMonoid Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure BenchmarkOptsMonoid
{ First String
$sel:additionalArgs:BenchmarkOptsMonoid :: First String
additionalArgs :: First String
additionalArgs
, First Bool
$sel:disableRun:BenchmarkOptsMonoid :: First Bool
disableRun :: First Bool
disableRun
}
benchmarkAdditionalArgsName :: Text
benchmarkAdditionalArgsName :: Text
benchmarkAdditionalArgsName = Text
"benchmark-arguments"
benchmarkDisableRunArgName :: Text
benchmarkDisableRunArgName :: Text
benchmarkDisableRunArgName = Text
"no-run-benchmarks"
instance Semigroup BenchmarkOptsMonoid where
<> :: BenchmarkOptsMonoid -> BenchmarkOptsMonoid -> BenchmarkOptsMonoid
(<>) = BenchmarkOptsMonoid -> BenchmarkOptsMonoid -> BenchmarkOptsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a -> a -> a
mappenddefault
instance Monoid BenchmarkOptsMonoid where
mempty :: BenchmarkOptsMonoid
mempty = BenchmarkOptsMonoid
forall a. (Generic a, Monoid' (Rep a)) => a
memptydefault
mappend :: BenchmarkOptsMonoid -> BenchmarkOptsMonoid -> BenchmarkOptsMonoid
mappend :: BenchmarkOptsMonoid -> BenchmarkOptsMonoid -> BenchmarkOptsMonoid
mappend = BenchmarkOptsMonoid -> BenchmarkOptsMonoid -> BenchmarkOptsMonoid
forall a. Semigroup a => a -> a -> a
(<>)
newtype CabalVerbosity
= CabalVerbosity Verbosity
deriving (CabalVerbosity -> CabalVerbosity -> Bool
(CabalVerbosity -> CabalVerbosity -> Bool)
-> (CabalVerbosity -> CabalVerbosity -> Bool) -> Eq CabalVerbosity
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CabalVerbosity -> CabalVerbosity -> Bool
== :: CabalVerbosity -> CabalVerbosity -> Bool
$c/= :: CabalVerbosity -> CabalVerbosity -> Bool
/= :: CabalVerbosity -> CabalVerbosity -> Bool
Eq, Int -> CabalVerbosity -> ShowS
[CabalVerbosity] -> ShowS
CabalVerbosity -> String
(Int -> CabalVerbosity -> ShowS)
-> (CabalVerbosity -> String)
-> ([CabalVerbosity] -> ShowS)
-> Show CabalVerbosity
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CabalVerbosity -> ShowS
showsPrec :: Int -> CabalVerbosity -> ShowS
$cshow :: CabalVerbosity -> String
show :: CabalVerbosity -> String
$cshowList :: [CabalVerbosity] -> ShowS
showList :: [CabalVerbosity] -> ShowS
Show)
toFirstCabalVerbosity :: FirstFalse -> First CabalVerbosity
toFirstCabalVerbosity :: FirstFalse -> First CabalVerbosity
toFirstCabalVerbosity FirstFalse
vf = Maybe CabalVerbosity -> First CabalVerbosity
forall a. Maybe a -> First a
First (Maybe CabalVerbosity -> First CabalVerbosity)
-> Maybe CabalVerbosity -> First CabalVerbosity
forall a b. (a -> b) -> a -> b
$ FirstFalse
vf.firstFalse Maybe Bool -> (Bool -> CabalVerbosity) -> Maybe CabalVerbosity
forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
<&> \Bool
p ->
if Bool
p then CabalVerbosity
verboseLevel else CabalVerbosity
normalLevel
where
verboseLevel :: CabalVerbosity
verboseLevel = Verbosity -> CabalVerbosity
CabalVerbosity Verbosity
verbose
normalLevel :: CabalVerbosity
normalLevel = Verbosity -> CabalVerbosity
CabalVerbosity Verbosity
normal
instance FromJSON CabalVerbosity where
parseJSON :: Value -> Parser CabalVerbosity
parseJSON = String
-> (Text -> Parser CabalVerbosity)
-> Value
-> Parser CabalVerbosity
forall a. String -> (Text -> Parser a) -> Value -> Parser a
withText String
"CabalVerbosity" ((Text -> Parser CabalVerbosity) -> Value -> Parser CabalVerbosity)
-> (Text -> Parser CabalVerbosity)
-> Value
-> Parser CabalVerbosity
forall a b. (a -> b) -> a -> b
$ \Text
t ->
let s :: String
s = Text -> String
T.unpack Text
t
errMsg :: Parser a
errMsg = String -> Parser a
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail (String -> Parser a) -> String -> Parser a
forall a b. (a -> b) -> a -> b
$ String
"Unrecognised Cabal verbosity: " String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
s
in Parser CabalVerbosity
-> (CabalVerbosity -> Parser CabalVerbosity)
-> Maybe CabalVerbosity
-> Parser CabalVerbosity
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Parser CabalVerbosity
forall {a}. Parser a
errMsg CabalVerbosity -> Parser CabalVerbosity
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (String -> Maybe CabalVerbosity
forall a. Parsec a => String -> Maybe a
simpleParsec String
s)
instance Parsec CabalVerbosity where
parsec :: forall (m :: * -> *). CabalParsing m => m CabalVerbosity
parsec = Verbosity -> CabalVerbosity
CabalVerbosity (Verbosity -> CabalVerbosity) -> m Verbosity -> m CabalVerbosity
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m Verbosity
forall a (m :: * -> *). (Parsec a, CabalParsing m) => m a
forall (m :: * -> *). CabalParsing m => m Verbosity
parsec
buildOptsMonoidHaddockL :: Lens' BuildOptsMonoid (Maybe Bool)
buildOptsMonoidHaddockL :: Lens' BuildOptsMonoid (Maybe Bool)
buildOptsMonoidHaddockL =
(BuildOptsMonoid -> Maybe Bool)
-> (BuildOptsMonoid -> Maybe Bool -> BuildOptsMonoid)
-> Lens' BuildOptsMonoid (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (.buildHaddocks.firstFalse)
(\BuildOptsMonoid
buildMonoid Maybe Bool
t -> BuildOptsMonoid
buildMonoid {buildHaddocks = FirstFalse t})
buildOptsMonoidTestsL :: Lens' BuildOptsMonoid (Maybe Bool)
buildOptsMonoidTestsL :: Lens' BuildOptsMonoid (Maybe Bool)
buildOptsMonoidTestsL =
(BuildOptsMonoid -> Maybe Bool)
-> (BuildOptsMonoid -> Maybe Bool -> BuildOptsMonoid)
-> Lens' BuildOptsMonoid (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (.tests.firstFalse)
(\BuildOptsMonoid
buildMonoid Maybe Bool
t -> BuildOptsMonoid
buildMonoid {tests = FirstFalse t})
buildOptsMonoidBenchmarksL :: Lens' BuildOptsMonoid (Maybe Bool)
buildOptsMonoidBenchmarksL :: Lens' BuildOptsMonoid (Maybe Bool)
buildOptsMonoidBenchmarksL =
(BuildOptsMonoid -> Maybe Bool)
-> (BuildOptsMonoid -> Maybe Bool -> BuildOptsMonoid)
-> Lens' BuildOptsMonoid (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (.benchmarks.firstFalse)
(\BuildOptsMonoid
buildMonoid Maybe Bool
t -> BuildOptsMonoid
buildMonoid {benchmarks = FirstFalse t})
buildOptsMonoidInstallExesL :: Lens' BuildOptsMonoid (Maybe Bool)
buildOptsMonoidInstallExesL :: Lens' BuildOptsMonoid (Maybe Bool)
buildOptsMonoidInstallExesL =
(BuildOptsMonoid -> Maybe Bool)
-> (BuildOptsMonoid -> Maybe Bool -> BuildOptsMonoid)
-> Lens' BuildOptsMonoid (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens (.installExes.firstFalse)
(\BuildOptsMonoid
buildMonoid Maybe Bool
t -> BuildOptsMonoid
buildMonoid {installExes = FirstFalse t})
data ProgressBarFormat
= NoBar
| CountOnlyBar
| CappedBar
| FullBar
deriving (ProgressBarFormat -> ProgressBarFormat -> Bool
(ProgressBarFormat -> ProgressBarFormat -> Bool)
-> (ProgressBarFormat -> ProgressBarFormat -> Bool)
-> Eq ProgressBarFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProgressBarFormat -> ProgressBarFormat -> Bool
== :: ProgressBarFormat -> ProgressBarFormat -> Bool
$c/= :: ProgressBarFormat -> ProgressBarFormat -> Bool
/= :: ProgressBarFormat -> ProgressBarFormat -> Bool
Eq, Int -> ProgressBarFormat -> ShowS
[ProgressBarFormat] -> ShowS
ProgressBarFormat -> String
(Int -> ProgressBarFormat -> ShowS)
-> (ProgressBarFormat -> String)
-> ([ProgressBarFormat] -> ShowS)
-> Show ProgressBarFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProgressBarFormat -> ShowS
showsPrec :: Int -> ProgressBarFormat -> ShowS
$cshow :: ProgressBarFormat -> String
show :: ProgressBarFormat -> String
$cshowList :: [ProgressBarFormat] -> ShowS
showList :: [ProgressBarFormat] -> ShowS
Show)
instance FromJSON ProgressBarFormat where
parseJSON :: Value -> Parser ProgressBarFormat
parseJSON = String
-> (Text -> Parser ProgressBarFormat)
-> Value
-> Parser ProgressBarFormat
forall a. String -> (Text -> Parser a) -> Value -> Parser a
withText String
"ProgressBarFormat" ((Text -> Parser ProgressBarFormat)
-> Value -> Parser ProgressBarFormat)
-> (Text -> Parser ProgressBarFormat)
-> Value
-> Parser ProgressBarFormat
forall a b. (a -> b) -> a -> b
$ \Text
t -> (String -> Parser ProgressBarFormat)
-> (ProgressBarFormat -> Parser ProgressBarFormat)
-> Either String ProgressBarFormat
-> Parser ProgressBarFormat
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
either
String -> Parser ProgressBarFormat
forall a. String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail
ProgressBarFormat -> Parser ProgressBarFormat
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure
(String -> Either String ProgressBarFormat
readProgressBarFormat (String -> Either String ProgressBarFormat)
-> String -> Either String ProgressBarFormat
forall a b. (a -> b) -> a -> b
$ Text -> String
T.unpack Text
t)
readProgressBarFormat :: String -> Either String ProgressBarFormat
readProgressBarFormat :: String -> Either String ProgressBarFormat
readProgressBarFormat String
s
| String
s String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
"none" = ProgressBarFormat -> Either String ProgressBarFormat
forall a. a -> Either String a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProgressBarFormat
NoBar
| String
s String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
"count-only" = ProgressBarFormat -> Either String ProgressBarFormat
forall a. a -> Either String a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProgressBarFormat
CountOnlyBar
| String
s String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
"capped" = ProgressBarFormat -> Either String ProgressBarFormat
forall a. a -> Either String a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProgressBarFormat
CappedBar
| String
s String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
"full" = ProgressBarFormat -> Either String ProgressBarFormat
forall a. a -> Either String a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ProgressBarFormat
FullBar
| Bool
otherwise = String -> Either String ProgressBarFormat
forall a b. a -> Either a b
Left (String -> Either String ProgressBarFormat)
-> String -> Either String ProgressBarFormat
forall a b. (a -> b) -> a -> b
$ String
"Invalid progress bar format: " String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
s