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

{-|
Module      : Stack.BuildOpts
Description : Default configuration options for building.
License     : BSD-3-Clause

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
                   ( BenchmarkOptsMonoid (..), BuildOptsMonoid (..)
                   , CabalVerbosity (..), ProgressBarFormat (..)
                   , TestOptsMonoid (..)
                   )

defaultBuildOpts :: BuildOpts
defaultBuildOpts :: BuildOpts
defaultBuildOpts = BuildOpts
  { libProfile :: Bool
libProfile = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.libProfile
  , exeProfile :: Bool
exeProfile = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.exeProfile
  , libStrip :: Bool
libStrip = FirstTrue -> Bool
defaultFirstTrue BuildOptsMonoid
buildMonoid.libStrip
  , exeStrip :: Bool
exeStrip = FirstTrue -> Bool
defaultFirstTrue BuildOptsMonoid
buildMonoid.exeStrip
  , buildHaddocks :: Bool
buildHaddocks = Bool
False
  , haddockOpts :: HaddockOpts
haddockOpts = HaddockOpts
defaultHaddockOpts
  , openHaddocks :: Bool
openHaddocks = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.openHaddocks
  , haddockDeps :: Maybe Bool
haddockDeps = Maybe Bool
forall a. Maybe a
Nothing
  , haddockExecutables :: Bool
haddockExecutables = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.haddockExecutables
  , haddockTests :: Bool
haddockTests = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.haddockTests
  , haddockBenchmarks :: Bool
haddockBenchmarks = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.haddockBenchmarks
  , haddockInternal :: Bool
haddockInternal = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.haddockInternal
  , haddockHyperlinkSource :: Bool
haddockHyperlinkSource = FirstTrue -> Bool
defaultFirstTrue BuildOptsMonoid
buildMonoid.haddockHyperlinkSource
  , haddockForHackage :: Bool
haddockForHackage = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.haddockForHackage
  , installExes :: Bool
installExes = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.installExes
  , installCompilerTool :: Bool
installCompilerTool = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.installCompilerTool
  , preFetch :: Bool
preFetch = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.preFetch
  , keepGoing :: Maybe Bool
keepGoing = Maybe Bool
forall a. Maybe a
Nothing
  , keepTmpFiles :: Bool
keepTmpFiles = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.keepTmpFiles
  , forceDirty :: Bool
forceDirty = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.forceDirty
  , tests :: Bool
tests = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.tests
  , testOpts :: TestOpts
testOpts = TestOpts
defaultTestOpts
  , benchmarks :: Bool
benchmarks = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.benchmarks
  , benchmarkOpts :: BenchmarkOpts
benchmarkOpts = BenchmarkOpts
defaultBenchmarkOpts
  , reconfigure :: Bool
reconfigure = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.reconfigure
  , cabalVerbose :: CabalVerbosity
cabalVerbose = Verbosity -> CabalVerbosity
CabalVerbosity Verbosity
normal
  , splitObjs :: Bool
splitObjs = FirstFalse -> Bool
defaultFirstFalse BuildOptsMonoid
buildMonoid.splitObjs
  , skipComponents :: [StackUnqualCompName]
skipComponents = []
  , interleavedOutput :: Bool
interleavedOutput = FirstTrue -> Bool
defaultFirstTrue BuildOptsMonoid
buildMonoid.interleavedOutput
  , progressBar :: ProgressBarFormat
progressBar = ProgressBarFormat
CappedBar
  , ddumpDir :: 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
  { rerunTests :: Bool
rerunTests = FirstTrue -> Bool
defaultFirstTrue TestOptsMonoid
toMonoid.rerunTests
  , additionalArgs :: [String]
additionalArgs = []
  , coverage :: Bool
coverage = FirstFalse -> Bool
defaultFirstFalse TestOptsMonoid
toMonoid.coverage
  , runTests :: Bool
runTests = FirstTrue -> Bool
defaultFirstTrue TestOptsMonoid
toMonoid.runTests
  , maximumTimeSeconds :: Maybe Int
maximumTimeSeconds = Maybe Int
forall a. Maybe a
Nothing
  , allowStdin :: 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 { additionalArgs :: [String]
additionalArgs = [] }

defaultBenchmarkOpts :: BenchmarkOpts
defaultBenchmarkOpts :: BenchmarkOpts
defaultBenchmarkOpts = BenchmarkOpts
  { additionalArgs :: Maybe String
additionalArgs = Maybe String
forall a. Maybe a
Nothing
  , runBenchmarks :: Bool
runBenchmarks = FirstTrue -> Bool
defaultFirstTrue BenchmarkOptsMonoid
beoMonoid.runBenchmarks
  }
 where
  beoMonoid :: BenchmarkOptsMonoid
beoMonoid = BenchmarkOptsMonoid
forall a. HasCallStack => a
undefined :: BenchmarkOptsMonoid