{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeApplications #-}
module HaskellCI.Config where
import HaskellCI.Prelude
import Distribution.Simple.Utils (fromUTF8BS)
import qualified Data.ByteString as BS
import qualified Data.Map as M
import qualified Data.Set as S
import qualified Distribution.CabalSpecVersion as C
import qualified Distribution.Compat.CharParsing as C
import qualified Distribution.Compat.Newtype as C
import qualified Distribution.FieldGrammar as C
import qualified Distribution.Fields as C
import qualified Distribution.Parsec as C
import qualified Distribution.Pretty as C
import qualified Distribution.Types.PackageName as C
import qualified Distribution.Types.Version as C
import qualified Distribution.Types.VersionRange as C
import qualified Text.PrettyPrint as PP
import HaskellCI.Config.ConstraintSet
import HaskellCI.Config.CopyFields
import HaskellCI.Config.Docspec
import HaskellCI.Config.Doctest
import HaskellCI.Config.Empty
import HaskellCI.Config.Folds
import HaskellCI.Config.HLint
import HaskellCI.Config.Installed
import HaskellCI.Config.Jobs
import HaskellCI.Config.PackageScope
import HaskellCI.Config.Ubuntu
import HaskellCI.HeadHackage
import HaskellCI.Newtypes
import HaskellCI.OptionsGrammar
import HaskellCI.ParsecUtils
import HaskellCI.TestedWith
data Config = Config
{ Config -> Maybe Version
cfgCabalInstallVersion :: Maybe Version
, Config -> Maybe Jobs
cfgJobs :: Maybe Jobs
, Config -> Ubuntu
cfgUbuntu :: !Ubuntu
, Config -> TestedWithJobs
cfgTestedWith :: !TestedWithJobs
, Config -> VersionRange
cfgEnabledJobs :: !VersionRange
, Config -> CopyFields
cfgCopyFields :: !CopyFields
, Config -> [String]
cfgLocalGhcOptions :: [String]
, Config -> Bool
cfgSubmodules :: !Bool
, Config -> Bool
cfgCache :: !Bool
, Config -> Bool
cfgInstallDeps :: !Bool
, Config -> [Installed]
cfgInstalled :: [Installed]
, Config -> VersionRange
cfgTests :: !VersionRange
, Config -> VersionRange
cfgRunTests :: !VersionRange
, Config -> VersionRange
cfgBenchmarks :: !VersionRange
, Config -> VersionRange
cfgHaddock :: !VersionRange
, Config -> VersionRange
cfgNoTestsNoBench :: !VersionRange
, Config -> VersionRange
cfgUnconstrainted :: !VersionRange
, Config -> VersionRange
cfgHeadHackage :: !VersionRange
, Config -> Bool
cfgGhcjsTests :: !Bool
, Config -> [PackageName]
cfgGhcjsTools :: ![C.PackageName]
, Config -> Bool
cfgTestOutputDirect :: !Bool
, Config -> Bool
cfgCheck :: !Bool
, Config -> [String]
cfgOnlyBranches :: [String]
, Config -> [String]
cfgIrcChannels :: [String]
, Config -> Maybe String
cfgIrcNickname :: Maybe String
, Config -> Maybe String
cfgIrcPassword :: Maybe String
, Config -> Bool
cfgIrcIfInOriginRepo :: Bool
, Config -> Bool
cfgEmailNotifications :: Bool
, Config -> Maybe String
cfgProjectName :: Maybe String
, Config -> Set Fold
cfgFolds :: S.Set Fold
, Config -> Bool
cfgGhcHead :: !Bool
, Config -> Bool
cfgPostgres :: !Bool
, Config -> Bool
cfgGoogleChrome :: !Bool
, Config -> Map Version String
cfgEnv :: M.Map Version String
, Config -> VersionRange
cfgAllowFailures :: !VersionRange
, Config -> Bool
cfgLastInSeries :: !Bool
, Config -> VersionRange
cfgLinuxJobs :: !VersionRange
, Config -> VersionRange
cfgMacosJobs :: !VersionRange
, Config -> Bool
cfgGhcupCabal :: !Bool
, Config -> VersionRange
cfgGhcupJobs :: !VersionRange
, Config -> Version
cfgGhcupVersion :: !Version
, Config -> Set String
cfgApt :: S.Set String
, Config -> [String]
cfgTravisPatches :: [FilePath]
, Config -> [String]
cfgGitHubPatches :: [FilePath]
, Config -> Bool
cfgInsertVersion :: !Bool
, Config -> PackageScope
cfgErrorMissingMethods :: !PackageScope
, Config -> DoctestConfig
cfgDoctest :: !DoctestConfig
, Config -> DocspecConfig
cfgDocspec :: !DocspecConfig
, Config -> HLintConfig
cfgHLint :: !HLintConfig
, Config -> [ConstraintSet]
cfgConstraintSets :: [ConstraintSet]
, Config -> [PrettyField ()]
cfgRawProject :: [C.PrettyField ()]
, Config -> String
cfgRawTravis :: !String
, Config -> Maybe String
cfgGitHubActionName :: !(Maybe String)
, Config -> Natural
cfgTimeoutMinutes :: !Natural
}
deriving ((forall x. Config -> Rep Config x)
-> (forall x. Rep Config x -> Config) -> Generic Config
forall x. Rep Config x -> Config
forall x. Config -> Rep Config x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Config x -> Config
$cfrom :: forall x. Config -> Rep Config x
Generic)
defaultCabalInstallVersion :: Maybe Version
defaultCabalInstallVersion :: Maybe Version
defaultCabalInstallVersion = Version -> Maybe Version
forall a. a -> Maybe a
Just ([Int] -> Version
C.mkVersion [Int
3,Int
6])
defaultGhcupVersion :: Version
defaultGhcupVersion :: Version
defaultGhcupVersion = [Int] -> Version
C.mkVersion [Int
0,Int
1,Int
17,Int
3]
emptyConfig :: Config
emptyConfig :: Config
emptyConfig = case EmptyGrammar Config Config -> Either (NonEmpty FieldName) Config
forall s a. EmptyGrammar s a -> Either (NonEmpty FieldName) a
runEG EmptyGrammar Config Config
forall (c :: * -> Constraint) (g :: * -> * -> *).
(OptionsGrammar c g, Applicative (g Config), c (Identity HLintJob),
c (Identity PackageScope), c (Identity TestedWithJobs),
c (Identity Ubuntu), c (Identity Jobs), c (Identity CopyFields),
c (Identity Version), c (Identity Natural), c Env, c Folds,
c CopyFields, c HeadVersion,
c (List FSep (Identity Installed) Installed),
Applicative (g DoctestConfig), Applicative (g DocspecConfig),
Applicative (g HLintConfig)) =>
g Config Config
configGrammar of
Left NonEmpty FieldName
xs -> String -> Config
forall a. HasCallStack => String -> a
error (String -> Config) -> String -> Config
forall a b. (a -> b) -> a -> b
$ String
"Required fields: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ NonEmpty FieldName -> String
forall a. Show a => a -> String
show NonEmpty FieldName
xs
Right Config
x -> Config
x
configGrammar
:: ( OptionsGrammar c g, Applicative (g Config)
, c (Identity HLintJob)
, c (Identity PackageScope)
, c (Identity TestedWithJobs)
, c (Identity Ubuntu)
, c (Identity Jobs)
, c (Identity CopyFields)
, c (Identity Version)
, c (Identity Natural)
, c Env, c Folds, c CopyFields, c HeadVersion
, c (C.List C.FSep (Identity Installed) Installed)
, Applicative (g DoctestConfig)
, Applicative (g DocspecConfig)
, Applicative (g HLintConfig))
=> g Config Config
configGrammar :: g Config Config
configGrammar = Maybe Version
-> Maybe Jobs
-> Ubuntu
-> TestedWithJobs
-> VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config
Config
(Maybe Version
-> Maybe Jobs
-> Ubuntu
-> TestedWithJobs
-> VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config (Maybe Version)
-> g Config
(Maybe Jobs
-> Ubuntu
-> TestedWithJobs
-> VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> FieldName
-> (Maybe Version -> HeadVersion)
-> ALens' Config (Maybe Version)
-> Maybe Version
-> g Config (Maybe Version)
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Newtype a b, Eq a) =>
FieldName -> (a -> b) -> ALens' s a -> a -> g s a
C.optionalFieldDefAla FieldName
"cabal-install-version" Maybe Version -> HeadVersion
HeadVersion (forall r a (f :: * -> *).
(HasField "cfgCabalInstallVersion" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgCabalInstallVersion") Maybe Version
defaultCabalInstallVersion
g Config (Maybe Version)
-> (g Config (Maybe Version) -> g Config (Maybe Version))
-> g Config (Maybe Version)
forall a b. a -> (a -> b) -> b
^^^ String
-> String -> g Config (Maybe Version) -> g Config (Maybe Version)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"VERSION" String
"cabal-install version for all jobs"
g Config
(Maybe Jobs
-> Ubuntu
-> TestedWithJobs
-> VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config (Maybe Jobs)
-> g Config
(Ubuntu
-> TestedWithJobs
-> VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config (Maybe Jobs) -> g Config (Maybe Jobs)
forall (c :: * -> Constraint) (g :: * -> * -> *) a s.
(FieldGrammar c g, c (Identity a)) =>
FieldName -> ALens' s (Maybe a) -> g s (Maybe a)
C.optionalField FieldName
"jobs" (forall r a (f :: * -> *).
(HasField "cfgJobs" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgJobs")
g Config (Maybe Jobs)
-> (g Config (Maybe Jobs) -> g Config (Maybe Jobs))
-> g Config (Maybe Jobs)
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config (Maybe Jobs) -> g Config (Maybe Jobs)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"JOBS" String
"jobs (N:M - cabal:ghc)"
g Config
(Ubuntu
-> TestedWithJobs
-> VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Ubuntu
-> g Config
(TestedWithJobs
-> VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Ubuntu -> Ubuntu -> g Config Ubuntu
forall (c :: * -> Constraint) (g :: * -> * -> *) s a.
(FieldGrammar c g, Functor (g s), c (Identity a), Eq a) =>
FieldName -> ALens' s a -> a -> g s a
C.optionalFieldDef FieldName
"distribution" (forall r a (f :: * -> *).
(HasField "cfgUbuntu" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgUbuntu") Ubuntu
Bionic
g Config Ubuntu
-> (g Config Ubuntu -> g Config Ubuntu) -> g Config Ubuntu
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config Ubuntu -> g Config Ubuntu
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"DIST" String
"distribution version (xenial, bionic)"
g Config
(TestedWithJobs
-> VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config TestedWithJobs
-> g Config
(VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config TestedWithJobs
-> TestedWithJobs
-> g Config TestedWithJobs
forall (c :: * -> Constraint) (g :: * -> * -> *) s a.
(FieldGrammar c g, Functor (g s), c (Identity a), Eq a) =>
FieldName -> ALens' s a -> a -> g s a
C.optionalFieldDef FieldName
"jobs-selection" (forall r a (f :: * -> *).
(HasField "cfgTestedWith" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgTestedWith") TestedWithJobs
TestedWithUniform
g Config TestedWithJobs
-> (g Config TestedWithJobs -> g Config TestedWithJobs)
-> g Config TestedWithJobs
forall a b. a -> (a -> b) -> b
^^^ String
-> String -> g Config TestedWithJobs -> g Config TestedWithJobs
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"uniform|any" String
"Jobs selection across packages"
g Config
(VersionRange
-> CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"enabled" (forall r a (f :: * -> *).
(HasField "cfgEnabledJobs" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgEnabledJobs") VersionRange
anyVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Restrict jobs selection futher from per package tested-with"
g Config
(CopyFields
-> [String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config CopyFields
-> g Config
([String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config CopyFields -> CopyFields -> g Config CopyFields
forall (c :: * -> Constraint) (g :: * -> * -> *) s a.
(FieldGrammar c g, Functor (g s), c (Identity a), Eq a) =>
FieldName -> ALens' s a -> a -> g s a
C.optionalFieldDef FieldName
"copy-fields" (forall r a (f :: * -> *).
(HasField "cfgCopyFields" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgCopyFields") CopyFields
CopyFieldsSome
g Config CopyFields
-> (g Config CopyFields -> g Config CopyFields)
-> g Config CopyFields
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config CopyFields -> g Config CopyFields
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"none|some|all" String
"Copy ? fields from cabal.project fields"
g Config
([String]
-> Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config [String]
-> g Config
(Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ([String] -> List NoCommaFSep Token' String)
-> ALens' Config [String]
-> g Config [String]
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"local-ghc-options" (NoCommaFSep
-> (String -> Token') -> [String] -> List NoCommaFSep Token' String
forall sep a b. sep -> (a -> b) -> [a] -> List sep b a
C.alaList' NoCommaFSep
C.NoCommaFSep String -> Token'
C.Token') (forall r a (f :: * -> *).
(HasField "cfgLocalGhcOptions" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgLocalGhcOptions")
g Config [String]
-> (g Config [String] -> g Config [String]) -> g Config [String]
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config [String] -> g Config [String]
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"OPTS" String
"--ghc-options for local packages"
g Config
(Bool
-> Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"submodules" (forall r a (f :: * -> *).
(HasField "cfgSubmodules" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgSubmodules") Bool
False
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Clone submodules, i.e. recursively"
g Config
(Bool
-> Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"cache" (forall r a (f :: * -> *).
(HasField "cfgCache" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgCache") Bool
True
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Disable caching"
g Config
(Bool
-> [Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
([Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"install-dependencies" (forall r a (f :: * -> *).
(HasField "cfgInstallDeps" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgInstallDeps") Bool
True
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Skip separate dependency installation step"
g Config
([Installed]
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config [Installed]
-> g Config
(VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ([Installed] -> List FSep (Identity Installed) Installed)
-> ALens' Config [Installed]
-> g Config [Installed]
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"installed" (FSep -> [Installed] -> List FSep (Identity Installed) Installed
forall sep a. sep -> [a] -> List sep (Identity a) a
C.alaList FSep
C.FSep) (forall r a (f :: * -> *).
(HasField "cfgInstalled" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgInstalled")
g Config [Installed]
-> (g Config [Installed] -> g Config [Installed])
-> g Config [Installed]
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config [Installed] -> g Config [Installed]
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"+/-PKG" String
"Specify 'constraint: ... installed' packages"
g Config
(VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"tests" (forall r a (f :: * -> *).
(HasField "cfgTests" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgTests") VersionRange
anyVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Build tests with"
g Config
(VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"run-tests" (forall r a (f :: * -> *).
(HasField "cfgRunTests" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgRunTests") VersionRange
anyVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Run tests with (note: only built tests are run)"
g Config
(VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"benchmarks" (forall r a (f :: * -> *).
(HasField "cfgBenchmarks" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgBenchmarks") VersionRange
anyVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Build benchmarks"
g Config
(VersionRange
-> VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"haddock" (forall r a (f :: * -> *).
(HasField "cfgHaddock" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgHaddock") VersionRange
anyVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Haddock step"
g Config
(VersionRange
-> VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"no-tests-no-benchmarks" (forall r a (f :: * -> *).
(HasField "cfgNoTestsNoBench" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgNoTestsNoBench") VersionRange
anyVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Build without tests and benchmarks"
g Config
(VersionRange
-> VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"unconstrained" (forall r a (f :: * -> *).
(HasField "cfgUnconstrainted" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgUnconstrainted") VersionRange
anyVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Make unconstrained build"
g Config
(VersionRange
-> Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"head-hackage" (forall r a (f :: * -> *).
(HasField "cfgHeadHackage" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgHeadHackage") VersionRange
defaultHeadHackage
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Use head.hackage repository. Also marks as allow-failures"
g Config
(Bool
-> [PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
([PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"ghcjs-tests" (forall r a (f :: * -> *).
(HasField "cfgGhcjsTests" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGhcjsTests") Bool
False
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Run tests with GHCJS (experimental, relies on cabal-plan finding test-suites)"
g Config
([PackageName]
-> Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config [PackageName]
-> g Config
(Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ([PackageName] -> List FSep (Identity PackageName) PackageName)
-> ALens' Config [PackageName]
-> g Config [PackageName]
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"ghcjs-tools" (FSep
-> [PackageName] -> List FSep (Identity PackageName) PackageName
forall sep a. sep -> [a] -> List sep (Identity a) a
C.alaList FSep
C.FSep) (forall r a (f :: * -> *).
(HasField "cfgGhcjsTools" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGhcjsTools")
g Config
(Bool
-> Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"test-output-direct" (forall r a (f :: * -> *).
(HasField "cfgTestOutputDirect" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgTestOutputDirect") Bool
True
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Use --test-show-details=direct, may cause problems with build-type: Custom"
g Config
(Bool
-> [String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
([String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"cabal-check" (forall r a (f :: * -> *).
(HasField "cfgCheck" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgCheck") Bool
True
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Disable cabal check run"
g Config
([String]
-> [String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config [String]
-> g Config
([String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ([String] -> List FSep Token' String)
-> ALens' Config [String]
-> g Config [String]
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"branches" (FSep -> (String -> Token') -> [String] -> List FSep Token' String
forall sep a b. sep -> (a -> b) -> [a] -> List sep b a
C.alaList' FSep
C.FSep String -> Token'
C.Token') (forall r a (f :: * -> *).
(HasField "cfgOnlyBranches" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgOnlyBranches")
g Config [String]
-> (g Config [String] -> g Config [String]) -> g Config [String]
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config [String] -> g Config [String]
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"BRANCH" String
"Enable builds only for specific branches"
g Config
([String]
-> Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config [String]
-> g Config
(Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ([String] -> List FSep Token' String)
-> ALens' Config [String]
-> g Config [String]
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"irc-channels" (FSep -> (String -> Token') -> [String] -> List FSep Token' String
forall sep a b. sep -> (a -> b) -> [a] -> List sep b a
C.alaList' FSep
C.FSep String -> Token'
C.Token') (forall r a (f :: * -> *).
(HasField "cfgIrcChannels" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgIrcChannels")
g Config [String]
-> (g Config [String] -> g Config [String]) -> g Config [String]
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config [String] -> g Config [String]
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"IRC" String
"Enable IRC notifications to given channel (e.g. 'irc.libera.chat#haskell-lens')"
g Config
(Maybe String
-> Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config (Maybe String)
-> g Config
(Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config (Maybe String) -> g Config (Maybe String)
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s (Maybe String) -> g s (Maybe String)
C.freeTextField FieldName
"irc-nickname" (forall r a (f :: * -> *).
(HasField "cfgIrcNickname" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgIrcNickname")
g Config (Maybe String)
-> (g Config (Maybe String) -> g Config (Maybe String))
-> g Config (Maybe String)
forall a b. a -> (a -> b) -> b
^^^ String
-> String -> g Config (Maybe String) -> g Config (Maybe String)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"NICKNAME" String
"Nickname with which to authenticate to an IRC server. Only used if `irc-channels` are set."
g Config
(Maybe String
-> Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config (Maybe String)
-> g Config
(Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config (Maybe String) -> g Config (Maybe String)
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s (Maybe String) -> g s (Maybe String)
C.freeTextField FieldName
"irc-password" (forall r a (f :: * -> *).
(HasField "cfgIrcPassword" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgIrcPassword")
g Config (Maybe String)
-> (g Config (Maybe String) -> g Config (Maybe String))
-> g Config (Maybe String)
forall a b. a -> (a -> b) -> b
^^^ String
-> String -> g Config (Maybe String) -> g Config (Maybe String)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"PASSWORD" String
"Password with which to authenticate to an IRC server. Only used if `irc-channels` are set."
g Config
(Bool
-> Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"irc-if-in-origin-repo" (forall r a (f :: * -> *).
(HasField "cfgIrcIfInOriginRepo" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgIrcIfInOriginRepo") Bool
False
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Only send IRC notifications if run from the original remote (GitHub Actions only)"
g Config
(Bool
-> Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"email-notifications" (forall r a (f :: * -> *).
(HasField "cfgEmailNotifications" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgEmailNotifications") Bool
True
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Disable email notifications"
g Config
(Maybe String
-> Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config (Maybe String)
-> g Config
(Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> (String -> Token')
-> ALens' Config (Maybe String)
-> g Config (Maybe String)
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s (Maybe a) -> g s (Maybe a)
C.optionalFieldAla FieldName
"project-name" String -> Token'
C.Token' (forall r a (f :: * -> *).
(HasField "cfgProjectName" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgProjectName")
g Config (Maybe String)
-> (g Config (Maybe String) -> g Config (Maybe String))
-> g Config (Maybe String)
forall a b. a -> (a -> b) -> b
^^^ String
-> String -> g Config (Maybe String) -> g Config (Maybe String)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"NAME" String
"Project name (used for IRC notifications), defaults to package name or name of first package listed in cabal.project file"
g Config
(Set Fold
-> Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config (Set Fold)
-> g Config
(Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> (Set Fold -> Folds)
-> ALens' Config (Set Fold)
-> g Config (Set Fold)
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"folds" Set Fold -> Folds
Folds (forall r a (f :: * -> *).
(HasField "cfgFolds" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgFolds")
g Config (Set Fold)
-> (g Config (Set Fold) -> g Config (Set Fold))
-> g Config (Set Fold)
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config (Set Fold) -> g Config (Set Fold)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"FOLD" String
"Build steps to fold"
g Config
(Bool
-> Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"ghc-head" (forall r a (f :: * -> *).
(HasField "cfgGhcHead" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGhcHead") Bool
False
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Add ghc-head job"
g Config
(Bool
-> Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"postgresql" (forall r a (f :: * -> *).
(HasField "cfgPostgres" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgPostgres") Bool
False
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Add postgresql service"
g Config
(Bool
-> Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"google-chrome" (forall r a (f :: * -> *).
(HasField "cfgGoogleChrome" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGoogleChrome") Bool
False
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Add google-chrome service"
g Config
(Map Version String
-> VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config (Map Version String)
-> g Config
(VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> (Map Version String -> Env)
-> ALens' Config (Map Version String)
-> g Config (Map Version String)
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"env" Map Version String -> Env
Env (forall r a (f :: * -> *).
(HasField "cfgEnv" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgEnv")
g Config (Map Version String)
-> (g Config (Map Version String) -> g Config (Map Version String))
-> g Config (Map Version String)
forall a b. a -> (a -> b) -> b
^^^ String
-> String
-> g Config (Map Version String)
-> g Config (Map Version String)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"ENV" String
"Environment variables per job (e.g. `8.0.2:HADDOCK=false`)"
g Config
(VersionRange
-> Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> (VersionRange -> Range)
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Newtype a b, Eq a) =>
FieldName -> (a -> b) -> ALens' s a -> a -> g s a
C.optionalFieldDefAla FieldName
"allow-failures" VersionRange -> Range
Range (forall r a (f :: * -> *).
(HasField "cfgAllowFailures" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgAllowFailures") VersionRange
noVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"JOB" String
"Allow failures of particular GHC version"
g Config
(Bool
-> VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"last-in-series" (forall r a (f :: * -> *).
(HasField "cfgLastInSeries" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgLastInSeries") Bool
False
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"[Discouraged] Assume there are only GHCs last in major series: 8.2.* will match only 8.2.2"
g Config
(VersionRange
-> VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"linux-jobs" (forall r a (f :: * -> *).
(HasField "cfgLinuxJobs" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgLinuxJobs") VersionRange
anyVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Jobs to build on Linux"
g Config
(VersionRange
-> Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"macos-jobs" (forall r a (f :: * -> *).
(HasField "cfgMacosJobs" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgMacosJobs") VersionRange
noVersion
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"Jobs to additionally build with OSX"
g Config
(Bool
-> VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"ghcup-cabal" (forall r a (f :: * -> *).
(HasField "cfgGhcupCabal" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGhcupCabal") Bool
True
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Use (or don't) ghcup to install cabal"
g Config
(VersionRange
-> Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config VersionRange
-> g Config
(Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config VersionRange
-> VersionRange
-> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s.
OptionsGrammar c p =>
FieldName
-> ALens' s VersionRange -> VersionRange -> p s VersionRange
rangeField FieldName
"ghcup-jobs" (forall r a (f :: * -> *).
(HasField "cfgGhcupJobs" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGhcupJobs") (VersionRange -> VersionRange -> VersionRange
C.unionVersionRanges (VersionRange -> VersionRange -> VersionRange
C.intersectVersionRanges (Version -> VersionRange
C.laterVersion ([Int] -> Version
mkVersion [Int
8,Int
10,Int
4])) (Version -> VersionRange
C.earlierVersion ([Int] -> Version
mkVersion [Int
9]))) (Version -> VersionRange
C.laterVersion ([Int] -> Version
mkVersion [Int
9,Int
0,Int
1])))
g Config VersionRange
-> (g Config VersionRange -> g Config VersionRange)
-> g Config VersionRange
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config VersionRange -> g Config VersionRange
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"RANGE" String
"(Linux) jobs to use ghcup to install tools"
g Config
(Version
-> Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Version
-> g Config
(Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Version -> Version -> g Config Version
forall (c :: * -> Constraint) (g :: * -> * -> *) s a.
(FieldGrammar c g, Functor (g s), c (Identity a), Eq a) =>
FieldName -> ALens' s a -> a -> g s a
C.optionalFieldDef FieldName
"ghcup-version" (forall r a (f :: * -> *).
(HasField "cfgGhcupVersion" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGhcupVersion") Version
defaultGhcupVersion
g Config Version
-> (g Config Version -> g Config Version) -> g Config Version
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config Version -> g Config Version
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"VERSION" String
"ghcup version"
g Config
(Set String
-> [String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config (Set String)
-> g Config
([String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> (Set String -> AlaSet NoCommaFSep Token' String)
-> ALens' Config (Set String)
-> g Config (Set String)
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"apt" (NoCommaFSep
-> (String -> Token')
-> Set String
-> AlaSet NoCommaFSep Token' String
forall sep a b. sep -> (a -> b) -> Set a -> AlaSet sep b a
alaSet' NoCommaFSep
C.NoCommaFSep String -> Token'
C.Token') (forall r a (f :: * -> *).
(HasField "cfgApt" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgApt")
g Config (Set String)
-> (g Config (Set String) -> g Config (Set String))
-> g Config (Set String)
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config (Set String) -> g Config (Set String)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"PKG" String
"Additional apt packages to install"
g Config
([String]
-> [String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config [String]
-> g Config
([String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ([String] -> List NoCommaFSep Token' String)
-> ALens' Config [String]
-> g Config [String]
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"travis-patches" (NoCommaFSep
-> (String -> Token') -> [String] -> List NoCommaFSep Token' String
forall sep a b. sep -> (a -> b) -> [a] -> List sep b a
C.alaList' NoCommaFSep
C.NoCommaFSep String -> Token'
C.Token') (forall r a (f :: * -> *).
(HasField "cfgTravisPatches" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgTravisPatches")
g Config [String]
-> (g Config [String] -> g Config [String]) -> g Config [String]
forall a b. a -> (a -> b) -> b
^^^ String
-> String -> String -> g Config [String] -> g Config [String]
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> String -> p s a -> p s a
metaActionHelp String
"PATCH" String
"file" String
".patch files to apply to the generated Travis YAML file"
g Config
([String]
-> Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config [String]
-> g Config
(Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ([String] -> List NoCommaFSep Token' String)
-> ALens' Config [String]
-> g Config [String]
forall (c :: * -> Constraint) (g :: * -> * -> *) b a s.
(FieldGrammar c g, c b, Monoid a, Newtype a b) =>
FieldName -> (a -> b) -> ALens' s a -> g s a
C.monoidalFieldAla FieldName
"github-patches" (NoCommaFSep
-> (String -> Token') -> [String] -> List NoCommaFSep Token' String
forall sep a b. sep -> (a -> b) -> [a] -> List sep b a
C.alaList' NoCommaFSep
C.NoCommaFSep String -> Token'
C.Token') (forall r a (f :: * -> *).
(HasField "cfgGitHubPatches" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGitHubPatches")
g Config [String]
-> (g Config [String] -> g Config [String]) -> g Config [String]
forall a b. a -> (a -> b) -> b
^^^ String
-> String -> String -> g Config [String] -> g Config [String]
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> String -> p s a -> p s a
metaActionHelp String
"PATCH" String
"file" String
".patch files to apply to the generated GitHub Actions YAML file"
g Config
(Bool
-> PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config Bool
-> g Config
(PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Bool -> Bool -> g Config Bool
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s Bool -> Bool -> g s Bool
C.booleanFieldDef FieldName
"insert-version" (forall r a (f :: * -> *).
(HasField "cfgInsertVersion" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgInsertVersion") Bool
True
g Config Bool -> (g Config Bool -> g Config Bool) -> g Config Bool
forall a b. a -> (a -> b) -> b
^^^ String -> g Config Bool -> g Config Bool
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Don't insert the haskell-ci version into the generated Travis YAML file"
g Config
(PackageScope
-> DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config PackageScope
-> g Config
(DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config PackageScope
-> PackageScope
-> g Config PackageScope
forall (c :: * -> Constraint) (g :: * -> * -> *) s a.
(FieldGrammar c g, Functor (g s), c (Identity a), Eq a) =>
FieldName -> ALens' s a -> a -> g s a
C.optionalFieldDef FieldName
"error-missing-methods" (forall r a (f :: * -> *).
(HasField "cfgErrorMissingMethods" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgErrorMissingMethods") PackageScope
PackageScopeLocal
g Config PackageScope
-> (g Config PackageScope -> g Config PackageScope)
-> g Config PackageScope
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config PackageScope -> g Config PackageScope
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"PKGSCOPE" String
"Insert -Werror=missing-methods for package scope (none, local, all)"
g Config
(DoctestConfig
-> DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config DoctestConfig
-> g Config
(DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ALens' Config DoctestConfig
-> g DoctestConfig DoctestConfig -> g Config DoctestConfig
forall (c :: * -> Constraint) (g :: * -> * -> *) a b d.
FieldGrammar c g =>
ALens' a b -> g b d -> g a d
C.blurFieldGrammar (forall r a (f :: * -> *).
(HasField "cfgDoctest" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgDoctest") g DoctestConfig DoctestConfig
forall (c :: * -> Constraint) (g :: * -> * -> *).
(OptionsGrammar c g, Applicative (g DoctestConfig)) =>
g DoctestConfig DoctestConfig
doctestConfigGrammar
g Config
(DocspecConfig
-> HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config DocspecConfig
-> g Config
(HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ALens' Config DocspecConfig
-> g DocspecConfig DocspecConfig -> g Config DocspecConfig
forall (c :: * -> Constraint) (g :: * -> * -> *) a b d.
FieldGrammar c g =>
ALens' a b -> g b d -> g a d
C.blurFieldGrammar (forall r a (f :: * -> *).
(HasField "cfgDocspec" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgDocspec") g DocspecConfig DocspecConfig
forall (c :: * -> Constraint) (g :: * -> * -> *).
(OptionsGrammar c g, Applicative (g DocspecConfig)) =>
g DocspecConfig DocspecConfig
docspecConfigGrammar
g Config
(HLintConfig
-> [ConstraintSet]
-> [PrettyField ()]
-> String
-> Maybe String
-> Natural
-> Config)
-> g Config HLintConfig
-> g Config
([ConstraintSet]
-> [PrettyField ()] -> String -> Maybe String -> Natural -> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ALens' Config HLintConfig
-> g HLintConfig HLintConfig -> g Config HLintConfig
forall (c :: * -> Constraint) (g :: * -> * -> *) a b d.
FieldGrammar c g =>
ALens' a b -> g b d -> g a d
C.blurFieldGrammar (forall r a (f :: * -> *).
(HasField "cfgHLint" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgHLint") g HLintConfig HLintConfig
forall (c :: * -> Constraint) (g :: * -> * -> *).
(OptionsGrammar c g, Applicative (g HLintConfig),
c (Identity HLintJob)) =>
g HLintConfig HLintConfig
hlintConfigGrammar
g Config
([ConstraintSet]
-> [PrettyField ()] -> String -> Maybe String -> Natural -> Config)
-> g Config [ConstraintSet]
-> g Config
([PrettyField ()] -> String -> Maybe String -> Natural -> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> [ConstraintSet] -> g Config [ConstraintSet]
forall (f :: * -> *) a. Applicative f => a -> f a
pure []
g Config
([PrettyField ()] -> String -> Maybe String -> Natural -> Config)
-> g Config [PrettyField ()]
-> g Config (String -> Maybe String -> Natural -> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> [PrettyField ()] -> g Config [PrettyField ()]
forall (f :: * -> *) a. Applicative f => a -> f a
pure []
g Config (String -> Maybe String -> Natural -> Config)
-> g Config String -> g Config (Maybe String -> Natural -> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config String -> g Config String
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s String -> g s String
C.freeTextFieldDef FieldName
"raw-travis" (forall r a (f :: * -> *).
(HasField "cfgRawTravis" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgRawTravis")
g Config String
-> (g Config String -> g Config String) -> g Config String
forall a b. a -> (a -> b) -> b
^^^ String -> g Config String -> g Config String
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"Raw travis commands which will be run at the very end of the script"
g Config (Maybe String -> Natural -> Config)
-> g Config (Maybe String) -> g Config (Natural -> Config)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName
-> ALens' Config (Maybe String) -> g Config (Maybe String)
forall (c :: * -> Constraint) (g :: * -> * -> *) s.
FieldGrammar c g =>
FieldName -> ALens' s (Maybe String) -> g s (Maybe String)
C.freeTextField FieldName
"github-action-name" (forall r a (f :: * -> *).
(HasField "cfgGitHubActionName" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgGitHubActionName")
g Config (Maybe String)
-> (g Config (Maybe String) -> g Config (Maybe String))
-> g Config (Maybe String)
forall a b. a -> (a -> b) -> b
^^^ String -> g Config (Maybe String) -> g Config (Maybe String)
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> p s a -> p s a
help String
"The name of GitHub Action"
g Config (Natural -> Config) -> g Config Natural -> g Config Config
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> FieldName -> ALens' Config Natural -> Natural -> g Config Natural
forall (c :: * -> Constraint) (g :: * -> * -> *) s a.
(FieldGrammar c g, Functor (g s), c (Identity a), Eq a) =>
FieldName -> ALens' s a -> a -> g s a
C.optionalFieldDef FieldName
"timeout-minutes" (forall r a (f :: * -> *).
(HasField "cfgTimeoutMinutes" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgTimeoutMinutes") Natural
60
g Config Natural
-> (g Config Natural -> g Config Natural) -> g Config Natural
forall a b. a -> (a -> b) -> b
^^^ String -> String -> g Config Natural -> g Config Natural
forall (c :: * -> Constraint) (p :: * -> * -> *) s a.
OptionsGrammar c p =>
String -> String -> p s a -> p s a
metahelp String
"MINUTES" String
"The maximum number of minutes to let a job run"
readConfigFile :: MonadIO m => FilePath -> m Config
readConfigFile :: String -> m Config
readConfigFile = IO Config -> m Config
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Config -> m Config)
-> (String -> IO Config) -> String -> m Config
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ([Field Position] -> ParseResult Config) -> String -> IO Config
forall a. ([Field Position] -> ParseResult a) -> String -> IO a
readAndParseFile [Field Position] -> ParseResult Config
parseConfigFile
parseConfigFile :: [C.Field C.Position] -> C.ParseResult Config
parseConfigFile :: [Field Position] -> ParseResult Config
parseConfigFile [Field Position]
fields0 = do
Config
config <- CabalSpecVersion
-> Fields Position
-> ParsecFieldGrammar Config Config
-> ParseResult Config
forall s a.
CabalSpecVersion
-> Fields Position -> ParsecFieldGrammar s a -> ParseResult a
C.parseFieldGrammar CabalSpecVersion
C.cabalSpecLatest Fields Position
fields ParsecFieldGrammar Config Config
forall (c :: * -> Constraint) (g :: * -> * -> *).
(OptionsGrammar c g, Applicative (g Config), c (Identity HLintJob),
c (Identity PackageScope), c (Identity TestedWithJobs),
c (Identity Ubuntu), c (Identity Jobs), c (Identity CopyFields),
c (Identity Version), c (Identity Natural), c Env, c Folds,
c CopyFields, c HeadVersion,
c (List FSep (Identity Installed) Installed),
Applicative (g DoctestConfig), Applicative (g DocspecConfig),
Applicative (g HLintConfig)) =>
g Config Config
configGrammar
[Config -> Config]
config' <- (Section Position -> ParseResult (Config -> Config))
-> [Section Position] -> ParseResult [Config -> Config]
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse Section Position -> ParseResult (Config -> Config)
parseSection ([Section Position] -> ParseResult [Config -> Config])
-> [Section Position] -> ParseResult [Config -> Config]
forall a b. (a -> b) -> a -> b
$ [[Section Position]] -> [Section Position]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat [[Section Position]]
sections
Config -> ParseResult Config
forall (m :: * -> *) a. Monad m => a -> m a
return ((Config -> (Config -> Config) -> Config)
-> Config -> [Config -> Config] -> Config
forall (t :: * -> *) b a.
Foldable t =>
(b -> a -> b) -> b -> t a -> b
foldl' Config -> (Config -> Config) -> Config
forall a b. a -> (a -> b) -> b
(&) Config
config [Config -> Config]
config')
where
(Fields Position
fields, [[Section Position]]
sections) = [Field Position] -> (Fields Position, [[Section Position]])
forall ann. [Field ann] -> (Fields ann, [[Section ann]])
C.partitionFields [Field Position]
fields0
parseSection :: C.Section C.Position -> C.ParseResult (Config -> Config)
parseSection :: Section Position -> ParseResult (Config -> Config)
parseSection (C.MkSection (C.Name Position
pos FieldName
name) [SectionArg Position]
args [Field Position]
cfields)
| FieldName
name FieldName -> FieldName -> Bool
forall a. Eq a => a -> a -> Bool
== FieldName
"constraint-set" = do
String
name' <- Position -> [SectionArg Position] -> ParseResult String
parseName Position
pos [SectionArg Position]
args
let (Fields Position
fs, [[Section Position]]
_sections) = [Field Position] -> (Fields Position, [[Section Position]])
forall ann. [Field ann] -> (Fields ann, [[Section ann]])
C.partitionFields [Field Position]
cfields
ConstraintSet
cs <- CabalSpecVersion
-> Fields Position
-> ParsecFieldGrammar ConstraintSet ConstraintSet
-> ParseResult ConstraintSet
forall s a.
CabalSpecVersion
-> Fields Position -> ParsecFieldGrammar s a -> ParseResult a
C.parseFieldGrammar CabalSpecVersion
C.cabalSpecLatest Fields Position
fs (String -> ParsecFieldGrammar ConstraintSet ConstraintSet
forall (c :: * -> Constraint) (g :: * -> * -> *).
(OptionsGrammar c g, Applicative (g ConstraintSet)) =>
String -> g ConstraintSet ConstraintSet
constraintSetGrammar String
name')
(Config -> Config) -> ParseResult (Config -> Config)
forall (m :: * -> *) a. Monad m => a -> m a
return ((Config -> Config) -> ParseResult (Config -> Config))
-> (Config -> Config) -> ParseResult (Config -> Config)
forall a b. (a -> b) -> a -> b
$ ASetter Config Config [ConstraintSet] [ConstraintSet]
-> ([ConstraintSet] -> [ConstraintSet]) -> Config -> Config
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over (forall r a (f :: * -> *).
(HasField "cfgConstraintSets" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgConstraintSets") (ConstraintSet
cs ConstraintSet -> [ConstraintSet] -> [ConstraintSet]
forall a. a -> [a] -> [a]
:)
| FieldName
name FieldName -> FieldName -> Bool
forall a. Eq a => a -> a -> Bool
== FieldName
"raw-project" = do
let fs :: [PrettyField Position]
fs = [Field Position] -> [PrettyField Position]
forall ann. [Field ann] -> [PrettyField ann]
C.fromParsecFields [Field Position]
cfields
(Config -> Config) -> ParseResult (Config -> Config)
forall (m :: * -> *) a. Monad m => a -> m a
return ((Config -> Config) -> ParseResult (Config -> Config))
-> (Config -> Config) -> ParseResult (Config -> Config)
forall a b. (a -> b) -> a -> b
$ ASetter Config Config [PrettyField ()] [PrettyField ()]
-> ([PrettyField ()] -> [PrettyField ()]) -> Config -> Config
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over (forall r a (f :: * -> *).
(HasField "cfgRawProject" r a, Functor f) =>
(a -> f a) -> r -> f r
forall (name :: Symbol) r a (f :: * -> *).
(HasField name r a, Functor f) =>
(a -> f a) -> r -> f r
field @"cfgRawProject") ([PrettyField ()] -> [PrettyField ()] -> [PrettyField ()]
forall a. [a] -> [a] -> [a]
++ (PrettyField Position -> PrettyField ())
-> [PrettyField Position] -> [PrettyField ()]
forall a b. (a -> b) -> [a] -> [b]
map PrettyField Position -> PrettyField ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void [PrettyField Position]
fs)
| Bool
otherwise = do
Position -> PWarnType -> String -> ParseResult ()
C.parseWarning Position
pos PWarnType
C.PWTUnknownSection (String -> ParseResult ()) -> String -> ParseResult ()
forall a b. (a -> b) -> a -> b
$ String
"Unknown section " String -> String -> String
forall a. [a] -> [a] -> [a]
++ FieldName -> String
fromUTF8BS FieldName
name
(Config -> Config) -> ParseResult (Config -> Config)
forall (m :: * -> *) a. Monad m => a -> m a
return Config -> Config
forall a. a -> a
id
newtype Env = Env (M.Map Version String)
deriving anyclass (C.Newtype (M.Map Version String))
instance C.Parsec Env where
parsec :: m Env
parsec = Map Version String -> Env
Env (Map Version String -> Env)
-> ([(Version, String)] -> Map Version String)
-> [(Version, String)]
-> Env
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [(Version, String)] -> Map Version String
forall k a. Ord k => [(k, a)] -> Map k a
M.fromList ([(Version, String)] -> Env) -> m [(Version, String)] -> m Env
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m (Version, String) -> m [(Version, String)]
forall (m :: * -> *) a. CabalParsing m => m a -> m [a]
C.parsecLeadingCommaList m (Version, String)
p where
p :: m (Version, String)
p = do
Version
v <- m Version
forall a (m :: * -> *). (Parsec a, CabalParsing m) => m a
C.parsec
Char
_ <- Char -> m Char
forall (m :: * -> *). CharParsing m => Char -> m Char
C.char Char
':'
String
s <- (Char -> Bool) -> m String
forall (m :: * -> *). CharParsing m => (Char -> Bool) -> m String
C.munch1 ((Char -> Bool) -> m String) -> (Char -> Bool) -> m String
forall a b. (a -> b) -> a -> b
$ \Char
c -> Char
c Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
/= Char
','
(Version, String) -> m (Version, String)
forall (m :: * -> *) a. Monad m => a -> m a
return (Version
v, String
s)
instance C.Pretty Env where
pretty :: Env -> Doc
pretty (Env Map Version String
m) = [Doc] -> Doc
PP.fsep ([Doc] -> Doc)
-> (Map Version String -> [Doc]) -> Map Version String -> Doc
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Doc -> [Doc] -> [Doc]
PP.punctuate Doc
PP.comma ([Doc] -> [Doc])
-> (Map Version String -> [Doc]) -> Map Version String -> [Doc]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Version, String) -> Doc) -> [(Version, String)] -> [Doc]
forall a b. (a -> b) -> [a] -> [b]
map (Version, String) -> Doc
forall a. Pretty a => (a, String) -> Doc
p ([(Version, String)] -> [Doc])
-> (Map Version String -> [(Version, String)])
-> Map Version String
-> [Doc]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Map Version String -> [(Version, String)]
forall k a. Map k a -> [(k, a)]
M.toList (Map Version String -> Doc) -> Map Version String -> Doc
forall a b. (a -> b) -> a -> b
$ Map Version String
m where
p :: (a, String) -> Doc
p (a
v, String
s) = a -> Doc
forall a. Pretty a => a -> Doc
C.pretty a
v Doc -> Doc -> Doc
PP.<> Doc
PP.colon Doc -> Doc -> Doc
PP.<> String -> Doc
PP.text String
s
parseName :: C.Position -> [C.SectionArg C.Position] -> C.ParseResult String
parseName :: Position -> [SectionArg Position] -> ParseResult String
parseName Position
pos [SectionArg Position]
args = FieldName -> String
fromUTF8BS (FieldName -> String)
-> ParseResult FieldName -> ParseResult String
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Position -> [SectionArg Position] -> ParseResult FieldName
parseNameBS Position
pos [SectionArg Position]
args
parseNameBS :: C.Position -> [C.SectionArg C.Position] -> C.ParseResult BS.ByteString
parseNameBS :: Position -> [SectionArg Position] -> ParseResult FieldName
parseNameBS Position
pos [SectionArg Position]
args = case [SectionArg Position]
args of
[C.SecArgName Position
_pos FieldName
secName] ->
FieldName -> ParseResult FieldName
forall (f :: * -> *) a. Applicative f => a -> f a
pure FieldName
secName
[C.SecArgStr Position
_pos FieldName
secName] ->
FieldName -> ParseResult FieldName
forall (f :: * -> *) a. Applicative f => a -> f a
pure FieldName
secName
[] -> do
Position -> String -> ParseResult ()
C.parseFailure Position
pos String
"name required"
FieldName -> ParseResult FieldName
forall (f :: * -> *) a. Applicative f => a -> f a
pure FieldName
""
[SectionArg Position]
_ -> do
Position -> String -> ParseResult ()
C.parseFailure Position
pos (String -> ParseResult ()) -> String -> ParseResult ()
forall a b. (a -> b) -> a -> b
$ String
"Invalid name " String -> String -> String
forall a. [a] -> [a] -> [a]
++ [SectionArg Position] -> String
forall a. Show a => a -> String
show [SectionArg Position]
args
FieldName -> ParseResult FieldName
forall (f :: * -> *) a. Applicative f => a -> f a
pure FieldName
""