{-# LANGUAGE NoImplicitPrelude     #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE OverloadedRecordDot   #-}

-- | Default configuration options for building.

module Stack.BuildOpts
  ( defaultBuildOpts
  , defaultTestOpts
  , defaultHaddockOpts
  , defaultBenchmarkOpts
  ) where

import           Distribution.Verbosity ( normal )
import           Stack.Prelude
import           Stack.Types.BuildOpts
                   ( BenchmarkOpts (..), BuildOpts (..), HaddockOpts (..)
                   , TestOpts (..)
                   )
import           Stack.Types.BuildOptsMonoid
                   ( BuildOptsMonoid (..), CabalVerbosity (..)
                   , ProgressBarFormat (..), TestOptsMonoid (..)
                   )

defaultBuildOpts :: BuildOpts
defaultBuildOpts :: BuildOpts
defaultBuildOpts = BuildOpts
  { $sel:libProfile:BuildOpts :: Bool
libProfile = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.libProfile
  , $sel:exeProfile:BuildOpts :: Bool
exeProfile = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.exeProfile
  , $sel:libStrip:BuildOpts :: Bool
libStrip = FirstTrue -> Bool
defaultFirstTrue BuildOptsMonoid
buildMonoid.libStrip
  , $sel:exeStrip:BuildOpts :: Bool
exeStrip = FirstTrue -> Bool
defaultFirstTrue BuildOptsMonoid
buildMonoid.exeStrip
  , $sel:buildHaddocks:BuildOpts :: Bool
buildHaddocks = Bool
False
  , $sel:haddockOpts:BuildOpts :: HaddockOpts
haddockOpts = HaddockOpts
defaultHaddockOpts
  , $sel:openHaddocks:BuildOpts :: Bool
openHaddocks = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.openHaddocks
  , $sel:haddockDeps:BuildOpts :: Maybe Bool
haddockDeps = Maybe Bool
forall a. Maybe a
Nothing
  , $sel:haddockInternal:BuildOpts :: Bool
haddockInternal = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.haddockInternal
  , $sel:haddockHyperlinkSource:BuildOpts :: Bool
haddockHyperlinkSource = FirstTrue -> Bool
defaultFirstTrue BuildOptsMonoid
buildMonoid.haddockHyperlinkSource
  , $sel:haddockForHackage:BuildOpts :: Bool
haddockForHackage = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.haddockForHackage
  , $sel:installExes:BuildOpts :: Bool
installExes = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.installExes
  , $sel:installCompilerTool:BuildOpts :: Bool
installCompilerTool = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.installCompilerTool
  , $sel:preFetch:BuildOpts :: Bool
preFetch = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.preFetch
  , $sel:keepGoing:BuildOpts :: Maybe Bool
keepGoing = Maybe Bool
forall a. Maybe a
Nothing
  , $sel:keepTmpFiles:BuildOpts :: Bool
keepTmpFiles = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.keepTmpFiles
  , $sel:forceDirty:BuildOpts :: Bool
forceDirty = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.forceDirty
  , $sel:tests:BuildOpts :: Bool
tests = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.tests
  , $sel:testOpts:BuildOpts :: TestOpts
testOpts = TestOpts
defaultTestOpts
  , $sel:benchmarks:BuildOpts :: Bool
benchmarks = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.benchmarks
  , $sel:benchmarkOpts:BuildOpts :: BenchmarkOpts
benchmarkOpts = BenchmarkOpts
defaultBenchmarkOpts
  , $sel:reconfigure:BuildOpts :: Bool
reconfigure = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.reconfigure
  , $sel:cabalVerbose:BuildOpts :: CabalVerbosity
cabalVerbose = Verbosity -> CabalVerbosity
CabalVerbosity Verbosity
normal
  , $sel:splitObjs:BuildOpts :: Bool
splitObjs = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.splitObjs
  , $sel:skipComponents:BuildOpts :: [Text]
skipComponents = []
  , $sel:interleavedOutput:BuildOpts :: Bool
interleavedOutput = FirstTrue -> Bool
defaultFirstTrue BuildOptsMonoid
buildMonoid.interleavedOutput
  , $sel:progressBar:BuildOpts :: ProgressBarFormat
progressBar = ProgressBarFormat
CappedBar
  , $sel:ddumpDir:BuildOpts :: Maybe Text
ddumpDir = Maybe Text
forall a. Maybe a
Nothing
  }
 where
  buildMonoid :: BuildOptsMonoid
buildMonoid = BuildOptsMonoid
forall a. HasCallStack => a
undefined :: BuildOptsMonoid

defaultTestOpts :: TestOpts
defaultTestOpts :: TestOpts
defaultTestOpts = TestOpts
  { $sel:rerunTests:TestOpts :: Bool
rerunTests = FirstTrue -> Bool
defaultFirstTrue TestOptsMonoid
toMonoid.rerunTests
  , $sel:additionalArgs:TestOpts :: [String]
additionalArgs = []
  , $sel:coverage:TestOpts :: Bool
coverage = FirstFalse -> Bool
defaultFirstFalse TestOptsMonoid
toMonoid.coverage
  , $sel:disableRun:TestOpts :: Bool
disableRun = FirstFalse -> Bool
defaultFirstFalse TestOptsMonoid
toMonoid.disableRun
  , $sel:maximumTimeSeconds:TestOpts :: Maybe Int
maximumTimeSeconds = Maybe Int
forall a. Maybe a
Nothing
  , $sel:allowStdin:TestOpts :: Bool
allowStdin = FirstTrue -> Bool
defaultFirstTrue TestOptsMonoid
toMonoid.allowStdin
  }
 where
  toMonoid :: TestOptsMonoid
toMonoid = TestOptsMonoid
forall a. HasCallStack => a
undefined :: TestOptsMonoid

defaultHaddockOpts :: HaddockOpts
defaultHaddockOpts :: HaddockOpts
defaultHaddockOpts = HaddockOpts { $sel:additionalArgs:HaddockOpts :: [String]
additionalArgs = [] }

defaultBenchmarkOpts :: BenchmarkOpts
defaultBenchmarkOpts :: BenchmarkOpts
defaultBenchmarkOpts = BenchmarkOpts
  { $sel:additionalArgs:BenchmarkOpts :: Maybe String
additionalArgs = Maybe String
forall a. Maybe a
Nothing
  , $sel:disableRun:BenchmarkOpts :: Bool
disableRun = Bool
False
  }