internal void LoadBuildContainer(PomElement element, IBuildContainer container) { var propertiesElement = element.SingleOrNull("properties"); if (propertiesElement != null) { container.Properties = propertiesElement.Elements().Select(LoadProperty).ToList(); } container.Modules = element .ReadElements("modules", "module") .Select(LoadModule) .ToList(); container.Dependencies = element .ReadElements("dependencies", "dependency") .Select(LoadDependency) .ToList(); container.DependencyManagement = element .ReadElements("dependencyManagement", "dependencies", "dependency") .Select(LoadDependency) .ToList(); container.Plugins = element.ReadElements("build", "plugins", "plugin") .Select(LoadPlugin).ToList(); container.PluginManagement = element.ReadElements("build", "pluginManagement", "plugins", "plugin") .Select(LoadPlugin).ToList(); container.TestResources = new BlackBox(element.SingleOrNull("build", "testResources")); }
internal IPlugin LoadPlugin(PomElement element) { var plugin = _dataFactory.CreatePlugin(); LoadProjectReference(element, plugin); bool extensions; plugin.Extensions = bool.TryParse(element.ReadElementValueOrNull("extensions"), out extensions) && extensions; plugin.Executions = new BlackBox(element.SingleOrNull("executions")); plugin.Configuration = new BlackBox(element.SingleOrNull("configuration")); plugin.Dependencies = element .ReadElements("dependencies", "dependency") .Select(LoadDependency) .ToList(); return(plugin); }
internal void LoadParentReference(PomElement rootElement, IProject project) { var parentElement = rootElement.SingleOrNull("parent"); if (parentElement == null) { project.Parent = null; } else { var parentReference = _dataFactory.CreateParentReference(); LoadProjectReference(parentElement, parentReference); parentReference.RelativePath = parentElement.ReadElementValueOrNull("relativePath"); project.Parent = parentReference; } }
internal IDependency LoadDependency(PomElement element) { IDependency dependency = _dataFactory.CreateDependency(); LoadProjectReference(element, dependency); dependency.Scope = element.ReadElementValueOrNull("scope"); dependency.Type = element.ReadElementValueOrNull("type"); dependency.Classifier = element.ReadElementValueOrNull("classifier"); bool optional; dependency.Optional = bool.TryParse(element.ReadElementValueOrNull("optional"), out optional) && optional; dependency.Exclusions = new BlackBox(element.SingleOrNull("exclusions")); return(dependency); }