private static PackageDependencySet CreatePackageDependencySet(ManifestDependencySet manifestDependencySet) { FrameworkName targetFramework = manifestDependencySet.TargetFramework == null ? null : VersionUtility.ParseFrameworkName(manifestDependencySet.TargetFramework); var dependencies = from d in manifestDependencySet.Dependencies select new PackageDependency( d.Id, String.IsNullOrEmpty(d.Version) ? null : VersionUtility.ParseVersionSpec(d.Version), d.Exclude); return(new PackageDependencySet(targetFramework, dependencies)); }
private static List <ManifestDependencySet> ReadDependencySet(XElement dependenciesElement) { if (!dependenciesElement.HasElements) { return(new List <ManifestDependencySet>()); } // Disallow the <dependencies> element to contain both <dependency> and // <group> child elements. Unfortunately, this cannot be enforced by XSD. if (dependenciesElement.ElementsNoNamespace("dependency").Any() && dependenciesElement.ElementsNoNamespace("group").Any()) { throw new InvalidDataException(NuGetResources.Manifest_DependenciesHasMixedElements); } var dependencies = ReadDependencies(dependenciesElement); if (dependencies.Count > 0) { // old format, <dependency> is direct child of <dependencies> var dependencySet = new ManifestDependencySet { Dependencies = dependencies }; return(new List <ManifestDependencySet> { dependencySet }); } else { var groups = dependenciesElement.ElementsNoNamespace("group"); return((from element in groups select new ManifestDependencySet { TargetFramework = element.GetOptionalAttributeValue("targetFramework").SafeTrim(), Dependencies = ReadDependencies(element) }).ToList()); } }
private static List<ManifestDependencySet> ReadDependencySet(XElement dependenciesElement) { if (!dependenciesElement.HasElements) { return new List<ManifestDependencySet>(); } // Disallow the <dependencies> element to contain both <dependency> and // <group> child elements. Unfortunately, this cannot be enforced by XSD. if (dependenciesElement.ElementsNoNamespace("dependency").Any() && dependenciesElement.ElementsNoNamespace("group").Any()) { throw new InvalidDataException(NuGetResources.Manifest_DependenciesHasMixedElements); } var dependencies = ReadDependencies(dependenciesElement); if (dependencies.Count > 0) { // old format, <dependency> is direct child of <dependencies> var dependencySet = new ManifestDependencySet { Dependencies = dependencies }; return new List<ManifestDependencySet> { dependencySet }; } else { var groups = dependenciesElement.ElementsNoNamespace("group"); return (from element in groups select new ManifestDependencySet { TargetFramework = element.GetOptionalAttributeValue("targetFramework").SafeTrim(), Dependencies = ReadDependencies(element) }).ToList(); } }