public Target Parse(XElement element, BuildProject buildProject) { var target = new Target(); target.Name = GetNameOfTarget(element.Attribute("name").Value); target.Body = element.ToString(); if (element.Attribute("depends") != null) { foreach (var name in Regex.Split(element.Attribute("depends").Value, "[ ,]")) { if (name.Trim().Length > 0 && name != ",") target.DependsOn.Add(_targetRepository.Resolve(name)); } } foreach (var childNode in element.Elements()) { var parser = _resolver.Resolve(childNode.Name.ToString()); parser.Parse(childNode, buildProject); target.Tasks.Add(parser); } _targetRepository.Register(target); return target; }
public void Parse(XElement data, BuildProject buildProject) { OutputTo = data.Attribute("output").Value; foreach (XElement element in data.Element("attributes").Elements()) { switch (element.Attribute("type").Value) { case "ComVisibleAttribute": ComVisible = Convert.ToBoolean(element.Attribute("value").Value); break; case "CLSCompliantAttribute": ClsCompliant = Convert.ToBoolean(element.Attribute("value").Value); break; case "AssemblyVersionAttribute": Version = element.Attribute("value").Value; break; case "AssemblyTitleAttribute": Title = element.Attribute("value").Value; break; case "AssemblyDescriptionAttribute": Description = element.Attribute("value").Value; break; case "AssemblyCopyrightAttribute": Copyright = element.Attribute("value").Value; break; } } }
public void Setup() { _project = new BuildProject(); _dirBaseProperty = new Property("dirBase", "c:\\temp"); _project.AddProperty(_dirBaseProperty); _subject = new OutputGenerator(_project); }
public void Parse(XElement data, BuildProject buildProject) { foreach (var element in data.Elements()) { var fileSetStatement = new FileSetStatement(); fileSetStatement.Type = element.Name.ToString(); fileSetStatement.Name = element.Attribute("name").Value; Statements.Add(fileSetStatement); } }
public void Parse(XElement data, BuildProject buildProject) { _originalData = data; var references = data.Element("references"); if (references != null) { foreach (var element in references.Elements("include")) { References.Add(element.Attribute("name").Value); } } Target = data.Attribute("target").Value; Output = data.Attribute("output").Value; }
public void Setup() { var data = new StringBuilder(); data.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?>"); data.AppendLine("<project name=\"IglooCoder Commons\" default=\"basic\">"); data.AppendLine(" <property name=\"nant.settings.currentframework\" value=\"net-3.5\" />"); data.AppendLine(" <property name=\"variable1\" value=\"hahaha\" />"); data.AppendLine(" <echo value=\"something that is not a property or target\"/>"); data.AppendLine(" <target name=\"test.run\">"); data.AppendLine(" <exec basedir=\"${dir.base}\" workingdir=\"${dir.base}\" program=\"${tools.nunit.console}\" commandline=\"${dir.compile}\\${name.commons.tests} /xml:${dir.results.unittests}\\${output.results.unittests.name}\"/>"); data.AppendLine(" </target>"); data.AppendLine(" <target name=\"compile\">"); data.AppendLine(" <exec basedir=\"${dir.base}\" workingdir=\"${dir.base}\" program=\"${tools.nunit.console}\" commandline=\"${dir.compile}\\${name.commons.tests} /xml:${dir.results.unittests}\\${output.results.unittests.name}\"/>"); data.AppendLine(" </target>"); data.AppendLine("</project>"); XDocument doc = XDocument.Parse(data.ToString()); _subject = new NantBuildFileParser(); _buildProject = _subject.ParseDocument(doc); }
public BuildProject ParseDocument(XDocument document) { var buildProject = new BuildProject(); var parser = new TargetParser(); var projectNode = document.Root; //get the project node if (projectNode == null) throw new ApplicationException("Could not open root node"); if (projectNode.Attribute("default") != null) buildProject.DefaultTarget = projectNode.Attribute("default").Value; foreach (var childNode in projectNode.Elements("property")) { var property = new Property(childNode.Attribute("name").Value, childNode.Attribute("value").Value); buildProject.AddProperty(property); } foreach (var childNode in projectNode.Elements("target")) { buildProject.Targets.Add(parser.Parse(childNode, buildProject)); //childNode.Attribute("name").Value.Replace(".", "_"), childNode.ToString()); } IEnumerable<XElement> unkownElements = from XElement unkownElement in projectNode.Elements() where unkownElement.Name != "target" && unkownElement.Name != "property" select unkownElement; foreach (XElement unkownElement in unkownElements) { buildProject.Unkown.Add(unkownElement.Name.ToString(), unkownElement.ToString()); } return buildProject; }
public void Parse(XElement data, BuildProject buildProject) { _data = data.ToString(); }
public void Parse(XElement data, BuildProject buildProject) { Target = data.Attribute("target").Value; }
public OutputGenerator(BuildProject project) { _project = project; ExistingVariables = new List<string>(); }