public BuildConfigXmlGenerator(IBuildConfigXmlClient buildConfigXmlClient = null, bool buildNonStubVersion = false) { _buildConfigXmlClient = buildConfigXmlClient; if (buildNonStubVersion) { BuildConfigXml = new BuildConfigXml(_buildConfigXmlClient, Guid.NewGuid().ToString(), Guid.NewGuid().ToString()); } else { BuildConfigXml = Substitute.For <BuildConfigXml>(_buildConfigXmlClient, Guid.NewGuid().ToString(), Guid.NewGuid().ToString()); } Xml.AppendChild(Xml.CreateXmlDeclaration("1.0", "UTF-8", null)); BuildTypeElement = (XmlElement)Xml.AppendChild(Xml.CreateElement("build-type")); BuildTypeElement.SetAttribute("uuid", Guid.NewGuid().ToString()); NameElement = (XmlElement)BuildTypeElement.AppendChild(Xml.CreateElement("name")); SettingsElement = (XmlElement)BuildTypeElement.AppendChild(Xml.CreateElement("settings")); SettingsElement.SetAttribute("ref", "CPlusPlusTemplate_v1"); ParametersElement = (XmlElement)SettingsElement.AppendChild(Xml.CreateElement("parameters")); }
public virtual void SetParameterValue(string name, string value) { Log.Trace($"XML SetParameterValue for: {BuildConfigId}, {name}: {value}"); var paramElement = (XmlElement)Xml.SelectSingleNode("/build-type/settings/parameters/param[@name='" + name + "']"); if (paramElement == null) { if (ParametersElement == null) { SettingsElement.AppendChild(Xml.CreateElement("parameters")); } var newParamElement = (XmlElement)ParametersElement.AppendChild(Xml.CreateElement("param")); newParamElement.SetAttribute("name", name); newParamElement.SetAttribute("value", value); } else { paramElement.SetAttribute("value", value); } _buildConfigXmlClient.Commit(this, $"TCC {BuildConfigId} Set Parameter {name} = {value}"); }