module Hix.Managed.Data.BuildConfig where

data BuildConfig =
  BuildConfig {
    BuildConfig -> Natural
maxIterations :: Natural,
    BuildConfig -> Natural
maxFailedPre :: Natural,
    BuildConfig -> Natural
maxFailedPost :: Natural,
    BuildConfig -> Bool
lookup :: Bool,
    BuildConfig -> Bool
validate :: Bool,
    BuildConfig -> Bool
buildOutput :: Bool
  }
  deriving stock (BuildConfig -> BuildConfig -> Bool
(BuildConfig -> BuildConfig -> Bool)
-> (BuildConfig -> BuildConfig -> Bool) -> Eq BuildConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BuildConfig -> BuildConfig -> Bool
== :: BuildConfig -> BuildConfig -> Bool
$c/= :: BuildConfig -> BuildConfig -> Bool
/= :: BuildConfig -> BuildConfig -> Bool
Eq, Int -> BuildConfig -> ShowS
[BuildConfig] -> ShowS
BuildConfig -> String
(Int -> BuildConfig -> ShowS)
-> (BuildConfig -> String)
-> ([BuildConfig] -> ShowS)
-> Show BuildConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BuildConfig -> ShowS
showsPrec :: Int -> BuildConfig -> ShowS
$cshow :: BuildConfig -> String
show :: BuildConfig -> String
$cshowList :: [BuildConfig] -> ShowS
showList :: [BuildConfig] -> ShowS
Show, (forall x. BuildConfig -> Rep BuildConfig x)
-> (forall x. Rep BuildConfig x -> BuildConfig)
-> Generic BuildConfig
forall x. Rep BuildConfig x -> BuildConfig
forall x. BuildConfig -> Rep BuildConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. BuildConfig -> Rep BuildConfig x
from :: forall x. BuildConfig -> Rep BuildConfig x
$cto :: forall x. Rep BuildConfig x -> BuildConfig
to :: forall x. Rep BuildConfig x -> BuildConfig
Generic)

instance Default BuildConfig where
  def :: BuildConfig
def = BuildConfig {
    $sel:maxIterations:BuildConfig :: Natural
maxIterations = Natural
3,
    $sel:maxFailedPre:BuildConfig :: Natural
maxFailedPre = Natural
99,
    $sel:maxFailedPost:BuildConfig :: Natural
maxFailedPost = Natural
0,
    $sel:lookup:BuildConfig :: Bool
lookup = Bool
False,
    $sel:validate:BuildConfig :: Bool
validate = Bool
False,
    $sel:buildOutput:BuildConfig :: Bool
buildOutput = Bool
False
  }