/// <summary> /// Attempt to find a package id and version in the local cache /// </summary> /// <param name="packageId">The desired package id</param> /// <param name="version">The desired version</param> /// <param name="cacheDirectory">The location of cached files</param> /// <returns>The path to a cached version of the file, or null if none are found</returns> 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, JarPackageExtractor.SupportedExtensions)); 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); }
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); }
IEnumerable <string> PackageFiles(string packageId, IVersion?version = null) { return(fileSystem.EnumerateFilesRecursively(GetPackagesDirectory(), PackageName.ToSearchPatterns(packageId, version, supportedExtensions))); }
private IEnumerable <string> PackageFiles(string packageId, IVersion version = null) { return(fileSystem.EnumerateFilesRecursively(RootDirectory, PackageName.ToSearchPatterns(packageId, version, packageExtractorFactory.Extensions))); }