/// <summary> /// Computes the list of PackageReference objects, based on the type of IPackageReferenceEqualityComparer passed in. /// </summary> /// <param name="logCount">How to log.</param> /// <param name="comparer">Provides the comparer used to get the distinct list of package references.</param> /// <param name="resolver">A resolver used to resolve the set of possible packages.</param> public void Compute(Action <string, string> logCount, PackageReferenceEqualityComparer comparer, IPackageReferenceSetResolver resolver) { _packages = _packageEnumerator.GetPackageReferences(_repositoryManager.PackageReferenceFiles, logCount, comparer); //TODO not sure this is correct... var returnLists = resolver.Resolve(_packages); _packages = returnLists.Item1; _packagesResolveFailures = returnLists.Item2; }
/// <summary> /// Gets the package references. /// </summary> /// <param name="packageReferenceFiles">The package reference files.</param> /// <param name="logCount">The log count.</param> /// <param name="comparer"> </param> /// <returns></returns> public IEnumerable<PackageReference> GetPackageReferences(IEnumerable<PackageReferenceFile> packageReferenceFiles, Action<string, string> logCount, PackageReferenceEqualityComparer comparer = null) { //Get the full list of all packages, minus version numbers var packages = new List<PackageReference>(); foreach (PackageReferenceFile packageReferenceFile in packageReferenceFiles) packages.AddRange(packageReferenceFile.GetPackageReferences()); int total = packages.Count; //Use the distinct list based on the comparer if (comparer == null) comparer = PackageReferenceEqualityComparer.IdVersionAndAllowedVersions; packages = packages.Distinct(comparer).ToList(); logCount(packages.Count.ToString(), total.ToString()); //Now, get a list of the reduced set... return packages; }
/// <summary> /// Gets the package references. /// </summary> /// <param name="packageReferenceFiles">The package reference files.</param> /// <param name="logCount">The log count.</param> /// <param name="comparer"> </param> /// <returns></returns> public IEnumerable <PackageReference> GetPackageReferences(IEnumerable <PackageReferenceFile> packageReferenceFiles, Action <string, string> logCount, PackageReferenceEqualityComparer comparer = null) { //Get the full list of all packages, minus version numbers var packages = new List <PackageReference>(); foreach (PackageReferenceFile packageReferenceFile in packageReferenceFiles) { packages.AddRange(packageReferenceFile.GetPackageReferences()); } int total = packages.Count; //Use the distinct list based on the comparer if (comparer == null) { comparer = PackageReferenceEqualityComparer.IdVersionAndAllowedVersions; } packages = packages.Distinct(comparer).ToList(); logCount(packages.Count.ToString(), total.ToString()); //Now, get a list of the reduced set... return(packages); }
/// <summary> /// Computes the list of PackageReference objects, based on the type of IPackageReferenceEqualityComparer passed in. /// </summary> /// <param name="logCount">How to log.</param> /// <param name="comparer">Provides the comparer used to get the distinct list of package references.</param> /// <param name="resolver">A resolver used to resolve the set of possible packages.</param> public void Compute(Action<string, string> logCount, PackageReferenceEqualityComparer comparer, IPackageReferenceSetResolver resolver) { _packages = _packageEnumerator.GetPackageReferences(_repositoryManager.PackageReferenceFiles, logCount, comparer); //TODO not sure this is correct... var returnLists = resolver.Resolve(_packages); _packages = returnLists.Item1; _packagesResolveFailures = returnLists.Item2; }