Account for .Sources packages when computing the repo graph
This commit is contained in:
parent
e19c552cd3
commit
ee5178160e
|
|
@ -179,7 +179,7 @@
|
|||
SourceName="Artifacts"
|
||||
Condition="%(Repository.Build)"
|
||||
SourceUri="$(BuildDir)" />
|
||||
|
||||
|
||||
<UpdatePackageSource
|
||||
NuGetConfigPath="%(Repository.RootPath)NuGet.config"
|
||||
SourceName="MirroredArtifacts"
|
||||
|
|
|
|||
|
|
@ -193,13 +193,25 @@ namespace RepoTasks
|
|||
RootDir = Path.GetDirectoryName(s.FullPath)
|
||||
};
|
||||
|
||||
var packages = artifacts.Where(a => a.RepoName.Equals(repoName, StringComparison.OrdinalIgnoreCase)).ToList();
|
||||
var packages = artifacts
|
||||
.Where(a => a.RepoName.Equals(repoName, StringComparison.OrdinalIgnoreCase))
|
||||
.ToDictionary(p => p.PackageInfo.Id, p => p, StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
foreach (var proj in s.Projects)
|
||||
{
|
||||
var projectGroup = packages.Any(p => p.PackageInfo.Id == proj.PackageId)
|
||||
? repo.Projects
|
||||
: repo.SupportProjects;
|
||||
IList<Project> projectGroup;
|
||||
if (packages.ContainsKey(proj.PackageId))
|
||||
{
|
||||
// this project is a package producer and consumer
|
||||
packages.Remove(proj.PackageId);
|
||||
projectGroup = repo.Projects;
|
||||
}
|
||||
else
|
||||
{
|
||||
// this project is a package consumer
|
||||
projectGroup = repo.SupportProjects;
|
||||
}
|
||||
|
||||
|
||||
projectGroup.Add(new Project(proj.PackageId)
|
||||
{
|
||||
|
|
@ -211,6 +223,12 @@ namespace RepoTasks
|
|||
});
|
||||
}
|
||||
|
||||
foreach (var packageId in packages.Keys)
|
||||
{
|
||||
// these packages are produced from something besides a csproj. e.g. .Sources packages
|
||||
repo.Projects.Add(new Project(packageId) { Repository = repo });
|
||||
}
|
||||
|
||||
return repo;
|
||||
}).ToList();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue