private void AttemptToGetPackageFromCache(string packageId, SemanticVersion version, string feedId, string cacheDirectory, out IPackage downloaded, out string downloadedTo) { downloaded = null; downloadedTo = null; Log.VerboseFormat("Checking package cache for package {0} {1}", packageId, version.ToString()); var name = GetNameOfPackage(packageId, version.ToString()); fileSystem.EnsureDirectoryExists(cacheDirectory); var files = fileSystem.EnumerateFilesRecursively(cacheDirectory, name + "*.nupkg"); foreach (var file in files) { var package = ReadPackageFile(file); if (package == null) { continue; } if (!string.Equals(package.Id, packageId, StringComparison.OrdinalIgnoreCase) || !string.Equals(package.Version.ToString(), version.ToString(), StringComparison.OrdinalIgnoreCase)) { continue; } downloaded = package; downloadedTo = file; } }
private PackagePhysicalFileMetadata AttemptToGetPackageFromCache(string packageId, IVersion version, string cacheDirectory) { Log.VerboseFormat("Checking package cache for package {0} v{1}", packageId, version.ToString()); var files = fileSystem.EnumerateFilesRecursively(cacheDirectory, PackageName.ToSearchPatterns(packageId, version, new [] { ".nupkg" })); foreach (var file in files) { var package = PackageName.FromFile(file); if (package == null) { continue; } var idMatches = string.Equals(package.PackageId, packageId, StringComparison.OrdinalIgnoreCase); var versionExactMatch = string.Equals(package.Version.ToString(), version.ToString(), StringComparison.OrdinalIgnoreCase); var nugetVerMatches = package.Version.Equals(version); if (idMatches && (nugetVerMatches || versionExactMatch)) { return(PackagePhysicalFileMetadata.Build(file, package)); } } return(null); }
private void AttemptToGetPackageFromCache(string packageId, NuGetVersion version, string cacheDirectory, out LocalNuGetPackage downloaded, out string downloadedTo) { downloaded = null; downloadedTo = null; Log.VerboseFormat("Checking package cache for package {0} {1}", packageId, version.ToString()); var name = GetNameOfPackage(packageId, version.ToString()); fileSystem.EnsureDirectoryExists(cacheDirectory); var files = fileSystem.EnumerateFilesRecursively(cacheDirectory, name + "*.nupkg"); foreach (var file in files) { var package = ReadPackageFile(file); if (package == null) continue; var idMatches = string.Equals(package.Metadata.Id, packageId, StringComparison.OrdinalIgnoreCase); var versionExactMatch = string.Equals(package.Metadata.Version.ToString(), version.ToString(), StringComparison.OrdinalIgnoreCase); #if USE_NUGET_V2_LIBS var nugetVerMatches = NuGetVersion.TryParse(package.Metadata.Version, out NuGetVersion packageVersion) && VersionComparer.Default.Equals(version, packageVersion); #else var nugetVerMatches = package.Metadata.Version.Equals(version); #endif if (idMatches && (nugetVerMatches || versionExactMatch)) { downloaded = package; downloadedTo = file; return; } } }
private void AttemptToGetPackageFromCache(string packageId, IVersion version, string cacheDirectory, out LocalNuGetPackage downloaded, out string downloadedTo) { downloaded = null; downloadedTo = null; Log.VerboseFormat("Checking package cache for package {0} {1}", packageId, version.ToString()); var name = GetNameOfPackage(packageId, version.ToString()); fileSystem.EnsureDirectoryExists(cacheDirectory); var files = fileSystem.EnumerateFilesRecursively(cacheDirectory, name + "*.nupkg"); foreach (var file in files) { var package = ReadPackageFile(file); if (package == null) { continue; } var idMatches = string.Equals(package.Metadata.Id, packageId, StringComparison.OrdinalIgnoreCase); var versionExactMatch = string.Equals(package.Metadata.Version.ToString(), version.ToString(), StringComparison.OrdinalIgnoreCase); var packageMetadata = new MetadataFactory().GetMetadataFromPackageID(packageId); var nugetVerMatches = VersionFactory.TryCreateVersion(package.Metadata.Version.ToString(), out IVersion packageVersion, packageMetadata.VersionFormat) && version.Equals(packageVersion); if (idMatches && (nugetVerMatches || versionExactMatch)) { downloaded = package; downloadedTo = file; return; } } }
PackagePhysicalFileMetadata SourceFromCache(string packageId, IVersion version, string cacheDirectory) { Log.VerboseFormat("Checking package cache for package {0} v{1}", packageId, version.ToString()); var files = fileSystem.EnumerateFilesRecursively(cacheDirectory, PackageName.ToSearchPatterns(packageId, version, new [] { Extension })); foreach (var file in files) { var package = PackageName.FromFile(file); if (package == null) { continue; } if (string.Equals(package.PackageId, packageId, StringComparison.OrdinalIgnoreCase) && package.Version.Equals(version)) { return(PackagePhysicalFileMetadata.Build(file, package)); } } return(null); }