Exemplo n.º 1
0
        /// <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;
        }
Exemplo n.º 2
0
        /// <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;
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        /// <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;
        }