private List <PackageIdentity> GetPackages() { var packages = new List <PackageIdentity>(); // Include all package references that aren't ourselves. foreach (var packageReference in PackageReferences) { var include = packageReference.GetMetadata("PackageName"); if (ExclusionPackageReferenceSet.Contains(include)) { continue; } if (!VersionRange.TryParse(packageReference.GetMetadata("Version"), out var nuGetVersion)) { this.Log().Error($"Package {include} does not have a valid Version."); continue; } var libraryRange = new LibraryRange(include, nuGetVersion, LibraryDependencyTarget.Package); var packageIdentity = NuGetPackageHelper.GetBestMatch(libraryRange).GetAwaiter().GetResult(); packages.Add(packageIdentity); } return(packages); }
public static async Task CheckResultsAgainstTemplate(LibraryRange[] package, IReadOnlyList <NuGetFramework> frameworks, [CallerFilePath] string filePath = null, [CallerMemberName] string memberName = null) { var sourceRepository = new SourceRepository(new PackageSource(NuGetPackageHelper.DefaultNuGetSource), NuGetPackageHelper.Providers); var findResource = await sourceRepository.GetResourceAsync <FindPackageByIdResource>().ConfigureAwait(false); var bestPackageIdentity = await NuGetPackageHelper.GetBestMatch(package[0], findResource, CancellationToken.None).ConfigureAwait(false); using (var memoryStream = new MemoryStream()) { using (var streamWriter = new StreamWriter(memoryStream, Encoding.UTF8, 1024, true)) { await ObservablesForEventGenerator.ExtractEventsFromNuGetPackages(streamWriter, package, frameworks, TestUtilities.GetPackageDirectory(memberName, filePath)).ConfigureAwait(false); } CheckPackageIdentityContents(memoryStream, bestPackageIdentity, frameworks[0], filePath); } }