Example #1
0
 public static string GetSearchFileName(this UnresolvedPackage package)
 {
     return(string.Format(PackageFileNamePattern,
                          package.PackageId,
                          ToPunditFileSearchVersion(package.AllowedVersions),
                          package.Framework ?? "*"));
 }
Example #2
0
        public ICollection <NuGet.Versioning.NuGetVersion> GetVersions(UnresolvedPackage package)
        {
            var filePattern = package.GetSearchFileName();

            return(new DirectoryInfo(RootPath).GetFiles(filePattern)
                   .Select(i => PackageExtensions.GetPackageKeyFromFileName(i.Name).Version).ToArray());
        }
Example #3
0
        public ICollection <NuGet.Versioning.NuGetVersion> GetVersions(UnresolvedPackage package)
        {
            var packagesResource = _sourceRepository.GetResource <FindPackageByIdResource>();
            var packageVersions  = packagesResource.GetAllVersionsAsync(package.PackageId, NullSourceCacheContext.Instance, NullLogger.Instance, CancellationToken.None);

            return(packageVersions.Result.ToArray());
        }
Example #4
0
        public SatisfyingInfo GetActiveSatisfyingInfo(UnresolvedPackage package)
        {
            if (_resolution.ContainsKey(package) && _resolution[package] != null && _resolution[package].Count > 0)
            {
                return(_resolution[package].OrderByDescending(p => p.Version, package.AllowedVersions.Comparer).FirstOrDefault());
            }

            return(null);
        }
Example #5
0
        private static void FindNodes(DependencyNode rootNode, UnresolvedPackage package, ICollection <DependencyNode> collector)
        {
            if (rootNode.UnresolvedPackage.Equals(package))
            {
                collector.Add(rootNode);
            }

            foreach (DependencyNode child in rootNode.Children)
            {
                FindNodes(child, package, collector);
            }
        }
Example #6
0
        public Version[] GetVersions(UnresolvedPackage package, VersionPattern pattern)
        {
            Version[]      all      = _versions[package.PackageId];
            List <Version> matching = new List <Version>();

            foreach (Version v in all)
            {
                if (pattern.Matches(v))
                {
                    matching.Add(v);
                }
            }

            return(matching.ToArray());
        }
Example #7
0
        public void EqualityTest()
        {
            var pkg1 = new UnresolvedPackage("p1", null);
            var pkg2 = new UnresolvedPackage("p2", null);

            Assert.IsFalse(pkg1.Equals(pkg2));
            Assert.IsTrue(pkg1.Equals(pkg1));

            var dic = new Dictionary <UnresolvedPackage, bool>();

            dic[pkg1] = true;

            var pkg11 = new UnresolvedPackage("p1", null);

            Assert.IsTrue(dic.ContainsKey(pkg11));
        }
Example #8
0
        public string DescribeConflict(DependencyNode rootNode, UnresolvedPackage package, ICollection <DependencyNode> collector)
        {
            var sb    = new StringBuilder();
            var found = new List <DependencyNode>();

            FindNodes(rootNode, package, found);

            if (found.Count <= 0)
            {
                return(null);
            }

            foreach (var node in found)
            {
                collector.Add(node);
            }

            AppendDependencyNodes(found, sb);

            return(sb.ToString());
        }
Example #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="package"></param>
        /// <param name="satisfayingInfos"></param>
        /// <returns>Indicates if this intersection caused a conflict</returns>
        public bool Intersect(UnresolvedPackage package, IEnumerable <SatisfyingInfo> satisfayingInfos)
        {
            if (!_resolution.ContainsKey(package))
            {
                var set = new HashSet <SatisfyingInfo>();

                foreach (var s in satisfayingInfos)
                {
                    set.Add(s);
                }

                _resolution[package] = set;

                return(set.Count == 0);
            }
            else
            {
                var set = _resolution[package];

                set.IntersectWith(satisfayingInfos);

                return(set.Count == 0);
            }
        }