aboutsummaryrefslogtreecommitdiff
path: root/src/CabalHelper/Compiletime/Program/Stack.hs
diff options
context:
space:
mode:
authorDaniel Gröber <dxld@darkboxed.org>2019-08-06 19:39:23 +0200
committerDaniel Gröber <dxld@darkboxed.org>2020-05-10 21:50:44 +0200
commitbda559bf059ee42e3e01c1280f7a64dd2673d725 (patch)
treebdfe97db7a53bd68638a6a7f102cd0942456e948 /src/CabalHelper/Compiletime/Program/Stack.hs
parentf606584fd104f864694e4fb9b943ef13904cdc96 (diff)
Refactor Program versions handling
This mainly renames the program version getters to get* and make them consistenly return Version directly. Such that wrappers like GhcVersion have to be added at the callsites of the relevant functions.
Diffstat (limited to 'src/CabalHelper/Compiletime/Program/Stack.hs')
-rw-r--r--src/CabalHelper/Compiletime/Program/Stack.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/CabalHelper/Compiletime/Program/Stack.hs b/src/CabalHelper/Compiletime/Program/Stack.hs
index dc0b0e5..fe817cb 100644
--- a/src/CabalHelper/Compiletime/Program/Stack.hs
+++ b/src/CabalHelper/Compiletime/Program/Stack.hs
@@ -38,8 +38,13 @@ import Prelude
import CabalHelper.Compiletime.Types
import CabalHelper.Compiletime.Types.RelativePath
+import CabalHelper.Compiletime.Process
import CabalHelper.Shared.Common
+getStackVersion :: (Verbose, Progs) => IO Version
+getStackVersion =
+ parseVer . trim <$> readProcess' (stackProgram ?progs) [ "--numeric-version" ] ""
+
getPackage :: QueryEnvI c 'Stack -> CabalFile -> IO (Package 'Stack)
getPackage qe cabal_file@(CabalFile cabal_file_path) = do
let pkgdir = takeDirectory cabal_file_path