示例#1
0
        public virtual void FreezeParameters(IEnumerable <Property> sourceParameters)
        {
            Log.Trace($"XML FreezeParameters for {BuildConfigId}, to: {string.Join(", ", sourceParameters.Select(p => $"{p.Name}:{p.Value}"))}");

            var paramElements = ParametersElement.SelectNodes("param");

            foreach (var sourceP in sourceParameters)
            {
                SetParameterValue(
                    sourceP.Name,
                    sourceP.Value
                    );
            }
        }
示例#2
0
        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}");
        }