/// <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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 IEnumerable <string> PackageFiles(string packageId, IVersion?version = null)
 {
     return(fileSystem.EnumerateFilesRecursively(GetPackagesDirectory(),
                                                 PackageName.ToSearchPatterns(packageId, version, supportedExtensions)));
 }
Exemplo n.º 4
0
 private IEnumerable <string> PackageFiles(string packageId, IVersion version = null)
 {
     return(fileSystem.EnumerateFilesRecursively(RootDirectory,
                                                 PackageName.ToSearchPatterns(packageId, version, packageExtractorFactory.Extensions)));
 }