forked from commercialhaskell/stack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBuildOpts.hs
More file actions
77 lines (71 loc) · 2.8 KB
/
BuildOpts.hs
File metadata and controls
77 lines (71 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{-# 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
{ libProfile = defaultFirstFalse buildMonoid.libProfile
, exeProfile = defaultFirstFalse buildMonoid.exeProfile
, libStrip = defaultFirstTrue buildMonoid.libStrip
, exeStrip = defaultFirstTrue buildMonoid.exeStrip
, buildHaddocks = False
, haddockOpts = defaultHaddockOpts
, openHaddocks = defaultFirstFalse buildMonoid.openHaddocks
, haddockDeps = Nothing
, haddockInternal = defaultFirstFalse buildMonoid.haddockInternal
, haddockHyperlinkSource = defaultFirstTrue buildMonoid.haddockHyperlinkSource
, haddockForHackage = defaultFirstFalse buildMonoid.haddockForHackage
, installExes = defaultFirstFalse buildMonoid.installExes
, installCompilerTool = defaultFirstFalse buildMonoid.installCompilerTool
, preFetch = defaultFirstFalse buildMonoid.preFetch
, keepGoing = Nothing
, keepTmpFiles = defaultFirstFalse buildMonoid.keepTmpFiles
, forceDirty = defaultFirstFalse buildMonoid.forceDirty
, tests = defaultFirstFalse buildMonoid.tests
, testOpts = defaultTestOpts
, benchmarks = defaultFirstFalse buildMonoid.benchmarks
, benchmarkOpts = defaultBenchmarkOpts
, reconfigure = defaultFirstFalse buildMonoid.reconfigure
, cabalVerbose = CabalVerbosity normal
, splitObjs = defaultFirstFalse buildMonoid.splitObjs
, skipComponents = []
, interleavedOutput = defaultFirstTrue buildMonoid.interleavedOutput
, progressBar = CappedBar
, ddumpDir = Nothing
}
where
buildMonoid = undefined :: BuildOptsMonoid
defaultTestOpts :: TestOpts
defaultTestOpts = TestOpts
{ rerunTests = defaultFirstTrue toMonoid.rerunTests
, additionalArgs = []
, coverage = defaultFirstFalse toMonoid.coverage
, disableRun = defaultFirstFalse toMonoid.disableRun
, maximumTimeSeconds = Nothing
, allowStdin = defaultFirstTrue toMonoid.allowStdin
}
where
toMonoid = undefined :: TestOptsMonoid
defaultHaddockOpts :: HaddockOpts
defaultHaddockOpts = HaddockOpts { additionalArgs = [] }
defaultBenchmarkOpts :: BenchmarkOpts
defaultBenchmarkOpts = BenchmarkOpts
{ additionalArgs = Nothing
, disableRun = False
}