Exemple #1
0
        /// <summary>
        /// Helper that combines the results into the hashsets, which are passed by reference.
        /// ***NOTE: Parameters combinedResults and foundIds may get updated before the return of this call
        /// </summary>
        private static void ProcessResults(HashSet <SourceDependencyInfo> combinedResults, SourceRepository source, HashSet <string> foundIds,
                                           IEnumerable <PackageDependencyInfo> packages, bool includePrerelease)
        {
            if (packages != null)
            {
                foreach (var package in packages)
                {
                    // Set the includePrerelease on the version range on every single package dependency to context.IncludePreerelease
                    var packageDependencies         = package.Dependencies;
                    var modifiedPackageDependencies = new List <PackageDependency>();
                    foreach (var packageDependency in packageDependencies)
                    {
                        var versionRange         = packageDependency.VersionRange;
                        var modifiedVersionRange = new Versioning.VersionRange(versionRange.MinVersion, versionRange.IsMinInclusive, versionRange.MaxVersion,
                                                                               versionRange.IsMaxInclusive, includePrerelease, versionRange.Float);

                        var modifiedPackageDependency = new PackageDependency(packageDependency.Id, modifiedVersionRange);
                        modifiedPackageDependencies.Add(modifiedPackageDependency);
                    }

                    var modifiedPackageDependencyInfo = new PackageDependencyInfo(new PackageIdentity(package.Id, package.Version), modifiedPackageDependencies);
                    SourceDependencyInfo depInfo      = new SourceDependencyInfo(modifiedPackageDependencyInfo, source);

                    // add this to the final results
                    combinedResults.Add(depInfo);

                    // mark that we found this id
                    foundIds.Add(depInfo.Id);

                    // mark that all dependant ids were also checked by the metadata client
                    foundIds.UnionWith(depInfo.Dependencies.Select(p => p.Id));
                }
            }
        }
        /// <summary>
        /// Helper that combines the results into the hashsets, which are passed by reference.
        /// ***NOTE: Parameters combinedResults and foundIds may get updated before the return of this call
        /// </summary>
        private static void ProcessResults(HashSet<SourceDependencyInfo> combinedResults, SourceRepository source, HashSet<string> foundIds,
            IEnumerable<PackageDependencyInfo> packages, bool includePrerelease)
        {
            if (packages != null)
            {
                foreach (var package in packages)
                {
                    // Set the includePrerelease on the version range on every single package dependency to context.IncludePreerelease
                    var packageDependencies = package.Dependencies;
                    var modifiedPackageDependencies = new List<PackageDependency>();
                    foreach (var packageDependency in packageDependencies)
                    {
                        var versionRange = packageDependency.VersionRange;
                        var modifiedVersionRange = new Versioning.VersionRange(versionRange.MinVersion, versionRange.IsMinInclusive, versionRange.MaxVersion,
                            versionRange.IsMaxInclusive, includePrerelease, versionRange.Float);

                        var modifiedPackageDependency = new PackageDependency(packageDependency.Id, modifiedVersionRange);
                        modifiedPackageDependencies.Add(modifiedPackageDependency);
                    }

                    var modifiedPackageDependencyInfo = new PackageDependencyInfo(new PackageIdentity(package.Id, package.Version), modifiedPackageDependencies);
                    SourceDependencyInfo depInfo = new SourceDependencyInfo(modifiedPackageDependencyInfo, source);

                    // add this to the final results
                    combinedResults.Add(depInfo);

                    // mark that we found this id
                    foundIds.Add(depInfo.Id);

                    // mark that all dependant ids were also checked by the metadata client
                    foundIds.UnionWith(depInfo.Dependencies.Select(p => p.Id));
                }
            }
        }