/// <summary> /// Grab from a settings file. /// </summary> /// <param name="path"></param> /// <param name="logger"></param> public void PopulateFromSettingsFile(string path, ILoggerInterface logger) { string file = UtilsSystem.CombinePaths(path, "artifact-settings.yml"); if (!File.Exists(file)) { return; } var configfile = new Configuration.YamlConfigurationFile(); try { // This file might be malformed, do not crash and let other // environment information sources have their chance configfile.ParseFromFile(file); } catch (Exception e) { logger.LogException(new Exception("Error parsing file: " + file, e)); return; } // Parse the artifact settings... this.branch = configfile.GetStringValue("repo-branch", null); this.commit_sha = configfile.GetStringValue("repo-commit", null); this.version = configfile.GetStringValue("build-id", null); }
/// <summary> /// /// </summary> /// <param name="source"></param> public void Merge(YamlConfigurationFile source) { // Use default concat for arrays var mergeSettings = new JsonMergeSettings { MergeArrayHandling = MergeArrayHandling.Concat }; this.configuration.Merge(source.configuration, mergeSettings); }