From d966178f470a6c390634d4ec86584598505bb5fe Mon Sep 17 00:00:00 2001 From: Gary Verhaegen Date: Mon, 14 Sep 2020 19:31:06 +0200 Subject: [PATCH] add indication of DAML_SDK_VERSION for daml version (#7385) Fixes #7381. ``` $ alias daml=~/.daml/sdk/0.0.0/daml/daml $ daml version DAML SDK versions: 0.0.0 1.4.0 1.5.0-snapshot.20200811.4959.0.bbc2fe56 1.5.0-snapshot.20200818.5027.0.1b33d374 1.5.0-snapshot.20200902.5118.0.2b3cf1b3 (default SDK version for new projects) $ DAML_SDK_VERSION=invalid daml version daml: Invalid value for environment variable DAML_SDK_VERSION. context: Determining SDK version and path. details: Invalid SDK version "invalid": Failed reading: takeWhile1 $ DAML_SDK_VERSION=1.4.4 daml version DAML SDK versions: 0.0.0 1.4.0 1.4.4 (selected by env var DAML_SDK_VERSION, not installed) 1.5.0-snapshot.20200811.4959.0.bbc2fe56 1.5.0-snapshot.20200818.5027.0.1b33d374 1.5.0-snapshot.20200902.5118.0.2b3cf1b3 (default SDK version for new projects) $ DAML_SDK_VERSION=1.4.0 daml version DAML SDK versions: 0.0.0 1.4.0 (selected by env var DAML_SDK_VERSION) 1.5.0-snapshot.20200811.4959.0.bbc2fe56 1.5.0-snapshot.20200818.5027.0.1b33d374 1.5.0-snapshot.20200902.5118.0.2b3cf1b3 (default SDK version for new projects) $ DAML_SDK_VERSION=1.5.0-snapshot.20200902.5118.0.2b3cf1b3 daml version DAML SDK versions: 0.0.0 1.4.0 1.5.0-snapshot.20200811.4959.0.bbc2fe56 1.5.0-snapshot.20200818.5027.0.1b33d374 1.5.0-snapshot.20200902.5118.0.2b3cf1b3 (selected by env var DAML_SDK_VERSION, default SDK version for new projects) $ ``` CHANGELOG_BEGIN CHANGELOG_END --- daml-assistant/exe/DA/Daml/Assistant.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/daml-assistant/exe/DA/Daml/Assistant.hs b/daml-assistant/exe/DA/Daml/Assistant.hs index b0d4859cc1..7181b1b5fe 100644 --- a/daml-assistant/exe/DA/Daml/Assistant.hs +++ b/daml-assistant/exe/DA/Daml/Assistant.hs @@ -11,13 +11,14 @@ import qualified DA.Service.Logger as L import qualified DA.Service.Logger.Impl.Pure as L import qualified DA.Service.Logger.Impl.GCP as L import DA.Daml.Project.Config +import DA.Daml.Project.Consts (sdkVersionEnvVar) import DA.Daml.Assistant.Types import DA.Daml.Assistant.Env import DA.Daml.Assistant.Command import DA.Daml.Assistant.Version import DA.Daml.Assistant.Install import DA.Daml.Assistant.Util -import System.Environment (getArgs) +import System.Environment (getArgs, lookupEnv) import System.FilePath import System.Directory import System.Process.Typed @@ -181,6 +182,7 @@ runCommand env@Env{..} = \case availableVersionsE <- tryAssistant $ refreshAvailableSdkVersions envDamlPath defaultVersionM <- tryAssistantM $ getDefaultSdkVersion envDamlPath projectVersionM <- mapM getSdkVersionFromProjectPath envProjectPath + envSelectedVersionM <- lookupEnv sdkVersionEnvVar snapshotVersionsE <- tryAssistant $ if vSnapshots then getAvailableSdkSnapshotVersions @@ -212,7 +214,9 @@ runCommand env@Env{..} = \case Right vs -> (`elem` vs) versionAttrs v = catMaybes - [ "project SDK version from daml.yaml" + [ ("selected by env var " <> pack sdkVersionEnvVar) + <$ guard (Just (unpack $ versionToText v) == envSelectedVersionM) + , "project SDK version from daml.yaml" <$ guard (Just v == projectVersionM && isJust envProjectPath) , "default SDK version for new projects" <$ guard (Just v == defaultVersionM && isNothing envProjectPath)