SerializeSettings( System.Xml.XmlDocument document, System.Xml.XmlElement parentEl) { var itemDefnGroup = document.CreateVSItemDefinitionGroup(condition: this.ConditionText, parentEl: parentEl); foreach (var group in this.SettingGroups) { if (group.Include != null) { continue; } group.Serialize(document, itemDefnGroup); } if (this.PreBuildCommands.Count > 0) { var preBuildGroup = new VSSettingsGroup(this.Project, this.Module, VSSettingsGroup.ESettingsGroup.PreBuild); preBuildGroup.AddSetting("Command", this.PreBuildCommands.ToString(System.Environment.NewLine)); preBuildGroup.Serialize(document, itemDefnGroup); } if (this.PostBuildCommands.Count > 0) { var preBuildGroup = new VSSettingsGroup(this.Project, this.Module, VSSettingsGroup.ESettingsGroup.PostBuild); preBuildGroup.AddSetting("Command", this.PostBuildCommands.ToString(System.Environment.NewLine)); preBuildGroup.Serialize(document, itemDefnGroup); } }
SerializeSettings( System.Xml.XmlDocument document, System.Xml.XmlElement parentEl) { var itemDefnGroup = document.CreateVSItemDefinitionGroup(condition: this.ConditionText, parentEl: parentEl); foreach (var group in this.SettingGroups) { if (group.Include != null) { continue; } group.Serialize(document, itemDefnGroup); } if (this.PreBuildCommands.Count > 0) { var preBuildGroup = new VSSettingsGroup(this.Module, VSSettingsGroup.ESettingsGroup.PreBuild); preBuildGroup.AddSetting("Command", this.PreBuildCommands.ToString(System.Environment.NewLine)); preBuildGroup.Serialize(document, itemDefnGroup); } if (this.PostBuildCommands.Count > 0) { var preBuildGroup = new VSSettingsGroup(this.Module, VSSettingsGroup.ESettingsGroup.PostBuild); preBuildGroup.AddSetting("Command", this.PostBuildCommands.ToString(System.Environment.NewLine)); preBuildGroup.Serialize(document, itemDefnGroup); } }
ContainsSource( VSSettingsGroup sourceGroup) { return this.Sources.Contains(sourceGroup); }
GetSettingsGroup( VSSettingsGroup.ESettingsGroup group, Bam.Core.TokenizedString include = null, bool uniqueToProject = false) { lock (this.SettingGroups) { foreach (var settings in this.SettingGroups) { if (null == include) { if ((null == settings.Include) && (settings.Group == group)) { return settings; } } else { // ignore group, as files can mutate between them during the buildprocess (e.g. headers into custom builds) if ((null != include) && (settings.Include.Parse() == include.Parse())) { return settings; } } } var newGroup = uniqueToProject ? this.Project.GetUniqueSettingsGroup(this.Module, group, include) : new VSSettingsGroup(this.Module, group, include); this.SettingGroups.Add(newGroup); return newGroup; } }
ContainsAssemblyFile( VSSettingsGroup assemblyFileGroup) { return(this.AssemblyFiles.Contains(assemblyFileGroup)); }
ContainsResourceFile( VSSettingsGroup resourceFileGroup) { return(this.ResourceFiles.Contains(resourceFileGroup)); }
ContainsHeader( VSSettingsGroup headerGroup) { return(this.Headers.Contains(headerGroup)); }
ContainsSource( VSSettingsGroup sourceGroup) { return(this.Sources.Contains(sourceGroup)); }