Search for package cache hash file in right directory

This commit is contained in:
Pavel Krymets 2016-03-02 20:04:26 -08:00
parent 771f4ed163
commit 30992babaf
2 changed files with 11 additions and 12 deletions

View file

@ -49,17 +49,16 @@ namespace Microsoft.Extensions.DependencyModel.Resolution
throw new InvalidOperationException($"Invalid hash entry '{library.Hash}' for package '{library.PackageName}'"); throw new InvalidOperationException($"Invalid hash entry '{library.Hash}' for package '{library.PackageName}'");
} }
var hashAlgorithm = library.Hash.Substring(0, hashSplitterPos); string packagePath;
if (ResolverUtils.TryResolvePackagePath(_fileSystem, library, _packageCacheDirectory, out packagePath))
var cacheHashPath = Path.Combine(_packageCacheDirectory, $"{library.PackageName}.{library.Version}.nupkg.{hashAlgorithm}");
if (_fileSystem.File.Exists(cacheHashPath) &&
_fileSystem.File.ReadAllText(cacheHashPath) == library.Hash.Substring(hashSplitterPos + 1))
{ {
string packagePath; var hashAlgorithm = library.Hash.Substring(0, hashSplitterPos);
if (ResolverUtils.TryResolvePackagePath(_fileSystem, library, _packageCacheDirectory, out packagePath)) var cacheHashPath = Path.Combine(packagePath, $"{library.PackageName}.{library.Version}.nupkg.{hashAlgorithm}");
if (_fileSystem.File.Exists(cacheHashPath) &&
_fileSystem.File.ReadAllText(cacheHashPath) == library.Hash.Substring(hashSplitterPos + 1))
{ {
assemblies.AddRange( ResolverUtils.ResolveFromPackagePath(_fileSystem, library, packagePath)); assemblies.AddRange(ResolverUtils.ResolveFromPackagePath(_fileSystem, library, packagePath));
return true; return true;
} }
} }

View file

@ -58,7 +58,7 @@ namespace Microsoft.Extensions.DependencyModel.Tests
var packagePath = Path.Combine(CachePath, F.DefaultPackageName, F.DefaultVersion); var packagePath = Path.Combine(CachePath, F.DefaultPackageName, F.DefaultVersion);
var fileSystem = FileSystemMockBuilder.Create() var fileSystem = FileSystemMockBuilder.Create()
.AddFile( .AddFile(
Path.Combine(CachePath, $"{F.DefaultPackageName}.{F.DefaultVersion}.nupkg.{F.DefaultHashAlgoritm}"), Path.Combine(packagePath, $"{F.DefaultPackageName}.{F.DefaultVersion}.nupkg.{F.DefaultHashAlgoritm}"),
"WRONGHASH" "WRONGHASH"
) )
.AddFiles(packagePath, F.DefaultAssemblies) .AddFiles(packagePath, F.DefaultAssemblies)
@ -77,7 +77,7 @@ namespace Microsoft.Extensions.DependencyModel.Tests
var packagePath = Path.Combine(CachePath, F.DefaultPackageName, F.DefaultVersion); var packagePath = Path.Combine(CachePath, F.DefaultPackageName, F.DefaultVersion);
var fileSystem = FileSystemMockBuilder.Create() var fileSystem = FileSystemMockBuilder.Create()
.AddFile( .AddFile(
Path.Combine(CachePath, $"{F.DefaultPackageName}.{F.DefaultVersion}.nupkg.{F.DefaultHashAlgoritm}"), Path.Combine(packagePath, $"{F.DefaultPackageName}.{F.DefaultVersion}.nupkg.{F.DefaultHashAlgoritm}"),
F.DefaultHashValue F.DefaultHashValue
) )
.AddFiles(packagePath, F.TwoAssemblies) .AddFiles(packagePath, F.TwoAssemblies)
@ -101,7 +101,7 @@ namespace Microsoft.Extensions.DependencyModel.Tests
var packagePath = Path.Combine(CachePath, F.DefaultPackageName, F.DefaultVersion); var packagePath = Path.Combine(CachePath, F.DefaultPackageName, F.DefaultVersion);
var fileSystem = FileSystemMockBuilder.Create() var fileSystem = FileSystemMockBuilder.Create()
.AddFile( .AddFile(
Path.Combine(CachePath, $"{F.DefaultPackageName}.{F.DefaultVersion}.nupkg.{F.DefaultHashAlgoritm}"), Path.Combine(packagePath, $"{F.DefaultPackageName}.{F.DefaultVersion}.nupkg.{F.DefaultHashAlgoritm}"),
F.DefaultHashValue F.DefaultHashValue
) )
.AddFiles(packagePath, F.DefaultAssemblyPath) .AddFiles(packagePath, F.DefaultAssemblyPath)