@@ -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