Skip to content

Commit 138c994

Browse files
committed
Add links to nuget.org only for packages actually available on nuget.org
1 parent 4dc02ca commit 138c994

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

src/nugraph/GraphCommand.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ protected override async Task<int> ExecuteAsync(CommandContext commandContext, G
4343
var source = settings.Source ?? environment.CurrentWorkingDirectory;
4444
var graphUrl = await console.Status().StartAsync($"Generating dependency graph for {source}".EscapeMarkup(), async context =>
4545
{
46+
var logger = new SpectreLogger(console, settings.LogLevel);
4647
var graph = await source.Match(
47-
file => ComputeDependencyGraphAsync(file, settings, cancellationToken),
48-
package => ComputeDependencyGraphAsync(package, settings, Settings.LoadDefaultSettings(settings.NuGetRoot), new SpectreLogger(console, settings.LogLevel), context, cancellationToken)
48+
file => ComputeDependencyGraphAsync(file, settings, logger, cancellationToken),
49+
package => ComputeDependencyGraphAsync(package, settings, Settings.LoadDefaultSettings(settings.NuGetRoot), logger, context, cancellationToken)
4950
);
5051
return await WriteGraphAsync(graph, settings);
5152
});
@@ -103,7 +104,7 @@ private static async Task<int> DiagnoseAsync(TextWriter stdOut, DirectoryInfo? s
103104
return result.ExitCode;
104105
}
105106

106-
private static async Task<DependencyGraph> ComputeDependencyGraphAsync(FileSystemInfo source, GraphCommandSettings settings, CancellationToken cancellationToken)
107+
private static async Task<DependencyGraph> ComputeDependencyGraphAsync(FileSystemInfo source, GraphCommandSettings settings, ILogger logger, CancellationToken cancellationToken)
107108
{
108109
var name = Path.GetFileNameWithoutExtension(source.Name);
109110
if (settings.Title == GraphCommandSettings.DefaultTitle)
@@ -115,7 +116,12 @@ private static async Task<DependencyGraph> ComputeDependencyGraphAsync(FileSyste
115116
var lockFile = new LockFileFormat().Read(projectInfo.ProjectAssetsFile.FullName);
116117
Predicate<Package> filter = projectInfo.CopyLocalPackages.Count > 0 ? package => projectInfo.CopyLocalPackages.Contains(package.Name) : _ => true;
117118
var (packages, roots) = lockFile.ReadPackages(targetFramework.GetShortFolderName(), settings.RuntimeIdentifier, filter);
118-
return new DependencyGraph(packages, roots, ignores: settings.GraphIgnore);
119+
var dependencyGraph = new DependencyGraph(packages, roots, ignores: settings.GraphIgnore);
120+
if (!settings.NoLinks)
121+
{
122+
await dependencyGraph.AddLinksAsync(logger, cancellationToken);
123+
}
124+
return dependencyGraph;
119125
}
120126

121127
private static async Task<DependencyGraph> ComputeDependencyGraphAsync(PackageIdentity package, GraphCommandSettings settings, ISettings nugetSettings, ILogger logger, StatusContext context, CancellationToken cancellationToken)
@@ -126,7 +132,7 @@ private static async Task<DependencyGraph> ComputeDependencyGraphAsync(PackageId
126132
settings.Title = $"Dependency graph of {project.Package.Id} {project.Package.Version} ({project.TargetFramework.GetShortFolderName()})";
127133
}
128134
context.Status = $"Generating dependency graph for {project.Package.Id} {project.Package.Version} ({project.TargetFramework.GetShortFolderName()})".EscapeMarkup();
129-
return await ComputeDependencyGraphAsync(project.File, settings, cancellationToken);
135+
return await ComputeDependencyGraphAsync(project.File, settings, logger, cancellationToken);
130136
}
131137

132138
private static async Task<Uri?> WriteGraphAsync(DependencyGraph graph, GraphCommandSettings settings)
@@ -143,7 +149,6 @@ private static async Task<DependencyGraph> ComputeDependencyGraphAsync(PackageId
143149
{
144150
Direction = settings.GraphDirection,
145151
Title = settings.Title,
146-
IncludeLinks = !settings.NoLinks,
147152
IncludeVersions = settings.GraphIncludeVersions,
148153
WriteIgnoredPackages = settings.GraphWriteIgnoredPackages,
149154
};

0 commit comments

Comments
 (0)