Use an exact match from the first repository that finds a package.

This commit is contained in:
Pranav K 2017-03-08 10:15:11 -08:00
parent bca4474dd2
commit 84b038498a
2 changed files with 4 additions and 2 deletions

View File

@ -5,7 +5,7 @@
<_BuildGraphFile>$(BuildDir)BuildGraph.proj</_BuildGraphFile>
<_CloneRepositoryRoot>$(RepositoryRoot).r\</_CloneRepositoryRoot>
<_DependencyBuildDirectory>$(RepositoryRoot).deps\build\</_DependencyBuildDirectory>
<_DependencyPackagesDirectory>$(_DependencyBuildDirectory)></_DependencyPackagesDirectory>
<_DependencyPackagesDirectory>$(_DependencyBuildDirectory)</_DependencyPackagesDirectory>
<_RepositoryListFileName>Repositories.props</_RepositoryListFileName>
<_DependencyRepositoryList>$(_DependencyBuildDirectory)$(_RepositoryListFileName)</_DependencyRepositoryList>
<_RestoreGraphSpecsDirectory>$(RepositoryRoot)obj\package-specs\</_RestoreGraphSpecsDirectory>

View File

@ -64,6 +64,7 @@ namespace PinVersions
.Concat(specProject.TargetFrameworks.SelectMany(tfm => tfm.Dependencies.Select(dependency => new { Dependency = dependency, tfm.FrameworkName })))
.Where(d => d.Dependency.LibraryRange.TypeConstraintAllows(LibraryDependencyTarget.Package));
Console.WriteLine($"Pinning package versions for {specProject.FilePath}.");
var packageReferencesItemGroup = new XElement("ItemGroup");
foreach (var dependency in allDependencies)
{
@ -80,6 +81,7 @@ namespace PinVersions
continue;
}
Console.WriteLine($"Pinning reference {reference.Name}({reference.LibraryRange.VersionRange} to {exactVersion}.");
var metadata = new List<XAttribute>
{
new XAttribute("Update", reference.Name),
@ -125,7 +127,7 @@ namespace PinVersions
switch (matchingVersions.Count)
{
case 0:
return null;
continue;
case 1:
return matchingVersions[0];
default: