protected override IRemoteNuget findLatest(Dependency query) { RippleLog.Debug("Searching for {0} from {1}".ToFormat(query, _url)); var candidates = repository.Search(query.Name, query.DetermineStability(Stability) == NugetStability.Anything) .Where(x => query.Name == x.Id).OrderBy(x => x.Id).ToList(); return(candidates.LatestNuget(query.VersionSpec)); }
protected override IRemoteNuget findLatest(Dependency query) { RippleLog.Debug("Searching for {0} from {1}".ToFormat(query, _url)); var candidates = _repository.Search(query.Name, query.DetermineStability(_stability) == NugetStability.Anything) .Where(x => query.Name == x.Id).OrderBy(x => x.Id).ToList(); var candidate = candidates.FirstOrDefault(x => x.IsAbsoluteLatestVersion) ?? candidates.FirstOrDefault(x => x.IsLatestVersion); if (candidate == null) { return(null); } return(new RemoteNuget(candidate)); }
protected override IRemoteNuget find(Dependency query) { throwIfNeeded(query); if (query.IsFloat() || query.Version.IsEmpty()) { return(_nugets.FirstOrDefault(x => query.MatchesName(x.Name))); } var version = SemanticVersion.Parse(query.Version); var matching = _nugets.Where(x => query.MatchesName(x.Name)); if (query.DetermineStability(_feed.Stability) == NugetStability.ReleasedOnly) { return(matching.FirstOrDefault(x => x.Version.SpecialVersion.IsEmpty() && x.Version.Equals(version))); } return(matching.FirstOrDefault(x => x.Version.Version.Equals(version.Version))); }
protected override IRemoteNuget find(Dependency query) { SemanticVersion version; if (!SemanticVersion.TryParse(query.Version, out version)) { RippleLog.Debug("Could not find exact for " + query); return(null); } var versionSpec = new VersionSpec(version); var package = _repository.FindPackages(query.Name, versionSpec, query.DetermineStability(_stability) == NugetStability.Anything, true).SingleOrDefault(); if (package == null) { return(null); } return(new RemoteNuget(package)); }
protected override IRemoteNuget findLatest(Dependency query) { RippleLog.Debug("Searching for latest of {0} in {1}".ToFormat(query, _directory)); var nugets = files .Where(x => query.MatchesName(x.Name) && (!x.IsPreRelease || (x.IsPreRelease && query.DetermineStability(_stability) == NugetStability.Anything))) .ToList(); var nuget = nugets .OrderByDescending(x => x.Version) .FirstOrDefault(); if (nuget == null) { return(null); } return(new FileSystemNuget(nuget)); }