internal IProfile LoadProfile(PomElement element) { var profile = _dataFactory.CreateProfile(); profile.Id = element.ReadElementValueOrNull("id"); LoadBuildContainer(element, profile); return(profile); }
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); }
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); }
// REVIEW: element is not PomDocument, it is wrapper XElement (dependency, parent) internal void LoadProjectReference(PomElement element, IProjectReference projectReference) { projectReference.ArtifactId = element.ReadElementValueOrNull("artifactId"); projectReference.GroupId = element.ReadElementValueOrNull("groupId"); projectReference.Version = element.ReadElementValueOrNull("version").ToVersion(); }