11{-# LANGUAGE NoImplicitPrelude #-}
22{-# LANGUAGE DuplicateRecordFields #-}
3+ {-# LANGUAGE NoFieldSelectors #-}
34{-# LANGUAGE OverloadedRecordDot #-}
45{-# LANGUAGE OverloadedStrings #-}
56
@@ -19,7 +20,6 @@ import Distribution.License ( License (..) )
1920import qualified Distribution.PackageDescription as PD
2021import Distribution.Types.PackageName ( mkPackageName )
2122import Path ( parent )
22- import RIO.Process ( HasProcessContext (.. ) )
2323import Stack.Build ( loadPackage )
2424import Stack.Build.Installed ( getInstalled , toInstallMap )
2525import Stack.Build.Source
@@ -41,18 +41,16 @@ import Stack.Types.BuildOptsCLI
4141import Stack.Types.BuildOptsMonoid
4242 ( buildOptsMonoidBenchmarksL , buildOptsMonoidTestsL )
4343import Stack.Types.Compiler ( wantedToActual )
44- import Stack.Types.Config ( HasConfig (.. ) )
4544import Stack.Types.DependencyTree ( DotPayload (.. ) )
45+ import Stack.Types.DotConfig ( DotConfig (.. ) )
4646import Stack.Types.DotOpts ( DotOpts (.. ) )
4747import Stack.Types.DumpPackage ( DumpPackage (.. ) )
4848import Stack.Types.EnvConfig ( EnvConfig (.. ), HasSourceMap (.. ) )
49- import Stack.Types.GHCVariant ( HasGHCVariant (.. ) )
5049import Stack.Types.GhcPkgId
5150 ( GhcPkgId , ghcPkgIdString , parseGhcPkgId )
5251import Stack.Types.GlobalOpts ( globalOptsBuildOptsMonoidL )
5352import Stack.Types.Package ( LocalPackage (.. ) )
54- import Stack.Types.Platform ( HasPlatform (.. ) )
55- import Stack.Types.Runner ( HasRunner (.. ), Runner , globalOptsL )
53+ import Stack.Types.Runner ( Runner , globalOptsL )
5654import Stack.Types.SourceMap
5755 ( CommonPackage (.. ), DepPackage (.. ), ProjectPackage (.. )
5856 , SMActual (.. ), SMWanted (.. ), SourceMap (.. )
@@ -109,15 +107,15 @@ withDotConfig opts inner =
109107 else withConfig YesReexec withReal
110108 where
111109 withGlobalHints = do
112- bconfig <- view buildConfigL
113- globals <- globalsFromHints bconfig . smWanted. compiler
110+ buildConfig <- view buildConfigL
111+ globals <- globalsFromHints buildConfig . smWanted. compiler
114112 fakeGhcPkgId <- parseGhcPkgId " ignored"
115113 actual <- either throwIO pure $
116- wantedToActual bconfig . smWanted. compiler
114+ wantedToActual buildConfig . smWanted. compiler
117115 let smActual = SMActual
118116 { compiler = actual
119- , project = bconfig . smWanted. project
120- , deps = bconfig . smWanted. deps
117+ , project = buildConfig . smWanted. project
118+ , deps = buildConfig . smWanted. deps
121119 , global = Map. mapWithKey toDump globals
122120 }
123121 toDump :: PackageName -> Version -> DumpPackage
@@ -143,9 +141,9 @@ withDotConfig opts inner =
143141 logDebug " Loading source map"
144142 sourceMap <- loadSourceMap targets boptsCLI smActual
145143 let dc = DotConfig
146- { dcBuildConfig = bconfig
147- , dcSourceMap = sourceMap
148- , dcGlobalDump = toList smActual. global
144+ { buildConfig
145+ , sourceMap
146+ , globalDump = toList smActual. global
149147 }
150148 logDebug " DotConfig fully loaded"
151149 runRIO dc inner
@@ -156,9 +154,9 @@ withDotConfig opts inner =
156154 installMap <- toInstallMap sourceMap
157155 (_, globalDump, _, _) <- getInstalled installMap
158156 let dc = DotConfig
159- { dcBuildConfig = envConfig. buildConfig
160- , dcSourceMap = sourceMap
161- , dcGlobalDump = globalDump
157+ { buildConfig = envConfig. buildConfig
158+ , sourceMap
159+ , globalDump
162160 }
163161 runRIO dc inner
164162
@@ -186,7 +184,7 @@ createDependencyGraph dotOpts = do
186184 locals <- for (toList sourceMap. project) loadLocalPackage
187185 let graph =
188186 Map. fromList $ projectPackageDependencies dotOpts (filter (. wanted) locals)
189- globalDump <- view $ to (. dcGlobalDump )
187+ globalDump <- view $ to (. globalDump )
190188 -- TODO: Can there be multiple entries for wired-in-packages? If so,
191189 -- this will choose one arbitrarily..
192190 let globalDumpMap = Map. fromList $
@@ -355,48 +353,3 @@ pruneUnreachable dontPrune = fixpoint prune
355353
356354localPackageToPackage :: LocalPackage -> Package
357355localPackageToPackage lp = fromMaybe lp. package lp. testBench
358-
359- data DotConfig = DotConfig
360- { dcBuildConfig :: ! BuildConfig
361- , dcSourceMap :: ! SourceMap
362- , dcGlobalDump :: ! [DumpPackage ]
363- }
364-
365- instance HasLogFunc DotConfig where
366- logFuncL = runnerL . logFuncL
367-
368- instance HasPantryConfig DotConfig where
369- pantryConfigL = configL . pantryConfigL
370-
371- instance HasTerm DotConfig where
372- useColorL = runnerL . useColorL
373- termWidthL = runnerL . termWidthL
374-
375- instance HasStylesUpdate DotConfig where
376- stylesUpdateL = runnerL . stylesUpdateL
377-
378- instance HasGHCVariant DotConfig where
379- ghcVariantL = configL . ghcVariantL
380- {-# INLINE ghcVariantL #-}
381-
382- instance HasPlatform DotConfig where
383- platformL = configL . platformL
384- {-# INLINE platformL #-}
385- platformVariantL = configL . platformVariantL
386- {-# INLINE platformVariantL #-}
387-
388- instance HasRunner DotConfig where
389- runnerL = configL . runnerL
390-
391- instance HasProcessContext DotConfig where
392- processContextL = runnerL . processContextL
393-
394- instance HasConfig DotConfig where
395- configL = buildConfigL . lens (. config) (\ x y -> x { config = y })
396- {-# INLINE configL #-}
397-
398- instance HasBuildConfig DotConfig where
399- buildConfigL = lens (. dcBuildConfig) (\ x y -> x { dcBuildConfig = y })
400-
401- instance HasSourceMap DotConfig where
402- sourceMapL = lens (. dcSourceMap) (\ x y -> x { dcSourceMap = y })
0 commit comments