private void addVersion(AutoVarData avd, string app, string version) { string file = avd.getFile(app, "ver"); var x = Xml.Open(Xml.FromFile(file), "versions"); bool added = false; List <string> foundVersions = new List <string>(); readVariables(x, avd); foreach (var e in x.ElementsNamed("for")) { string ver = e.GetAttributeString("version").ToLower(); foundVersions.Add(ver); if (ver == version) { readVariables(e, avd); added = true; } } if (added == false) { throw new Exception("Didnt find version " + version + " in " + file + " found " + new StringListCombiner(", ", " and ", "none").combine(foundVersions)); } }
private void add(AutoVarData avd, string type, System.Xml.XmlElement x) { if (type == "projectfolder") { add(x.GetAttributeString("target"), avd.ProjectFolder); } else if (type == "installfolder") { add(x.GetAttributeString("target"), avd.InstallFolder); } else if (type == "enviroment") { add(x.GetAttributeString("target"), Environment.GetEnvironmentVariable(x.GetFirstText())); } else if (type == "version") { addVersion(avd, x.GetAttributeString("for"), x.GetAttributeString("version").ToLower()); } else if (type == "external") { add(avd.externals.get(x.GetAttributeString("ui"), x.GetAttributeString("target"), x.GetAttributeString("description"))); } else { throw new Exception("unknwon autovar " + type); } }
internal static IEnumerable <BuildAction> Read(XmlElement root, AutoVarData avd, BuildEnviroment parent) { foreach (var e in Xml.ElementsNamed(root, "action")) { BuildAction action = new BuildAction(BuildEnviroment.Read(e, avd, parent), Xml.GetAttributeString(e, "type"), Xml.GetAttributeString(e, "context"), Xml.GetAttributeString(e, "description"), Xml.GetAttributeString(e, "base")); yield return(action); } }
private static IEnumerable <Group> Read(XmlElement root, AutoVarData avd, BuildEnviroment parent) { foreach (var x in root.ElementsNamed("group")) { Group g = new Group(""); Group.Read(x, g, avd, parent); yield return(g); } }
internal static BuildEnviroment Read(System.Xml.XmlElement root, AutoVarData avd, BuildEnviroment parent) { BuildEnviroment env = new BuildEnviroment(); env.Parent = parent; env.readVariables(root, avd); return(env); }
private void readVariables(System.Xml.XmlElement root, AutoVarData avd) { foreach (var x in root.ElementsNamed("var")) { add(x.GetAttributeString("name"), x.GetFirstText()); } foreach (var x in root.ElementsNamed("autovar")) { add(avd, x.GetAttributeString("type").Trim().ToLower(), x); } }
public static Group Load(string file, ExternalVariableList ev) { XmlElement root = Xml.Open(Xml.FromFile(file), "project"); Group p = new Group(Xml.GetAttributeString(root, "name")); AutoVarData avd = new AutoVarData(); avd.externals = ev; avd.ProjectFolder = new FileInfo(file).Directory.FullName; Read(root, p, avd, null); return(p); }
public static BaseAction Load(string name, BuildEnviroment env) { string file = Path.Combine(AutoVarData.GetInstallFolder(), Path.ChangeExtension(name, "act")); var root = Xml.Open(Xml.FromFile(file), "action"); BaseAction act = new BaseAction(); act.add(CreateMatchingActions(root, env)); if (act.commands.Count == 0) { throw new Exception("Missing commands for " + name); } return(act); }
private static void Read(XmlElement root, Group p, AutoVarData avd, BuildEnviroment parent) { p.enviroment = BuildEnviroment.Read(root, avd, parent); p.actions = new List <BuildAction>(BuildAction.Read(root, avd, p.enviroment)); p.groups = new List <Group>(Group.Read(root, avd, p.enviroment)); }