private void UpdateChutzpahEnvironmentForProject(string projectPath) { var buildProject = ProjectCollection.GlobalProjectCollection.LoadedProjects .FirstOrDefault(x => x.FullPath.Equals(projectPath, StringComparison.OrdinalIgnoreCase)); var chutzpahEnvProps = new Collection <ChutzpahSettingsFileEnvironmentProperty>(); if (buildProject != null) { var dirPath = Path.GetDirectoryName(projectPath); foreach (var prop in ChutzpahMsBuildProps.GetProps()) { chutzpahEnvProps.Add(new ChutzpahSettingsFileEnvironmentProperty(prop, buildProject.GetPropertyValue(prop))); } lock (sync) { var envProps = settingsMapper.Settings.ChutzpahSettingsFileEnvironments .FirstOrDefault(x => x.Path.TrimEnd('/', '\\').Equals(dirPath, StringComparison.OrdinalIgnoreCase)); if (envProps == null) { envProps = new ChutzpahSettingsFileEnvironment(dirPath); settingsMapper.Settings.ChutzpahSettingsFileEnvironments.Add(envProps); } envProps.Properties = chutzpahEnvProps; } } }
private void InitializeSettingsFileEnvironments() { var newEnvironments = new ChutzpahSettingsFileEnvironments(); var buildProjects = ProjectCollection.GlobalProjectCollection.LoadedProjects .Where(x => !x.FullPath.Equals(".user", StringComparison.OrdinalIgnoreCase)); foreach (var buildProject in buildProjects) { var dirPath = buildProject.DirectoryPath; var environment = new ChutzpahSettingsFileEnvironment(dirPath); foreach (var prop in ChutzpahMsBuildProps.GetProps()) { var value = buildProject.GetPropertyValue(prop); if (!string.IsNullOrEmpty(value)) { environment.Properties.Add(new ChutzpahSettingsFileEnvironmentProperty(prop, value)); } } if (environment.Properties.Any()) { newEnvironments.AddEnvironment(environment); } } settingsEnvironments = newEnvironments; }