From 546f0f34a0095c21d15efc18149666037ef7c00a Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Fri, 12 Jan 2018 10:18:09 +0300 Subject: [PATCH 1/2] Add query for compiler version --- src/Stack/Build.hs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Stack/Build.hs b/src/Stack/Build.hs index 0f17d8a4d9..9693e3b869 100644 --- a/src/Stack/Build.hs +++ b/src/Stack/Build.hs @@ -46,6 +46,7 @@ import Stack.Package import Stack.PackageLocation (parseSingleCabalFileIndex) import Stack.Types.Build import Stack.Types.BuildPlan +import Stack.Types.Compiler (compilerVersionText) import Stack.Types.Config import Stack.Types.FlagName import Stack.Types.NamedComponent @@ -55,7 +56,7 @@ import Stack.Types.PackageName import Stack.Types.Version #ifdef WINDOWS -import Stack.Types.Compiler +import Stack.Types.Compiler (getGhcVersion) #endif import System.FileLock (FileLock, unlockFile) @@ -370,8 +371,14 @@ queryBuildInfo selectors0 = rawBuildInfo :: HasEnvConfig env => RIO env Value rawBuildInfo = do (locals, _sourceMap) <- loadSourceMap NeedTargets defaultBuildOptsCLI + wantedCompiler <- view $ wantedCompilerVersionL.to compilerVersionText + actualCompiler <- view $ actualCompilerVersionL.to compilerVersionText return $ object [ "locals" .= Object (HM.fromList $ map localToPair locals) + , "compiler" .= object + [ "wanted" .= wantedCompiler + , "actual" .= actualCompiler + ] ] where localToPair lp = From 790f907312f9439b5299db78b706bc063356bdd2 Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Fri, 12 Jan 2018 10:18:59 +0300 Subject: [PATCH 2/2] Add query for global hints --- src/Stack/Build.hs | 2 ++ src/Stack/Types/Config.hs | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/Stack/Build.hs b/src/Stack/Build.hs index 9693e3b869..1a8d733212 100644 --- a/src/Stack/Build.hs +++ b/src/Stack/Build.hs @@ -373,12 +373,14 @@ rawBuildInfo = do (locals, _sourceMap) <- loadSourceMap NeedTargets defaultBuildOptsCLI wantedCompiler <- view $ wantedCompilerVersionL.to compilerVersionText actualCompiler <- view $ actualCompilerVersionL.to compilerVersionText + globalHints <- view globalHintsL return $ object [ "locals" .= Object (HM.fromList $ map localToPair locals) , "compiler" .= object [ "wanted" .= wantedCompiler , "actual" .= actualCompiler ] + , "global-hints" .= globalHints ] where localToPair lp = diff --git a/src/Stack/Types/Config.hs b/src/Stack/Types/Config.hs index ab24c19f0a..2e3f3d46f3 100644 --- a/src/Stack/Types/Config.hs +++ b/src/Stack/Types/Config.hs @@ -161,6 +161,7 @@ module Stack.Types.Config ,whichCompilerL ,envOverrideSettingsL ,loadedSnapshotL + ,globalHintsL ,shouldForceGhcColorFlag ,appropriateGhcColorFlag -- * Lens reexport @@ -2006,6 +2007,9 @@ envOverrideSettingsL = configL.lens configEnvOverrideSettings (\x y -> x { configEnvOverrideSettings = y }) +globalHintsL :: HasBuildConfig s => Getting r s (Map PackageName (Maybe Version)) +globalHintsL = snapshotDefL.to sdGlobalHints + shouldForceGhcColorFlag :: (HasRunner env, HasEnvConfig env) => RIO env Bool shouldForceGhcColorFlag = do