55using System . Linq ;
66using Newtonsoft . Json . Linq ;
77using Semmle . Util ;
8+ using Semmle . Util . Logging ;
89
910namespace Semmle . Extraction . CSharp . DependencyFetching
1011{
@@ -13,11 +14,11 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
1314 /// </summary>
1415 internal class Assets
1516 {
16- private readonly ProgressMonitor progressMonitor ;
17+ private readonly ILogger logger ;
1718
18- internal Assets ( ProgressMonitor progressMonitor )
19+ internal Assets ( ILogger logger )
1920 {
20- this . progressMonitor = progressMonitor ;
21+ this . logger = logger ;
2122 }
2223
2324 /// <summary>
@@ -35,7 +36,7 @@ private record class ReferenceInfo(string? Type, Dictionary<string, object>? Com
3536
3637 /// <summary>
3738 /// Add the package dependencies from the assets file to dependencies.
38- ///
39+ ///
3940 /// Parse a part of the JSon assets file and add the paths
4041 /// to the dependencies required for compilation (and collect
4142 /// information about used packages).
@@ -60,7 +61,7 @@ private record class ReferenceInfo(string? Type, Dictionary<string, object>? Com
6061 /// }
6162 /// }
6263 /// }
63- ///
64+ ///
6465 /// Adds the following dependencies
6566 /// Paths: {
6667 /// "castle.core/4.4.1/lib/netstandard1.5/Castle.Core.dll",
@@ -85,7 +86,7 @@ private void AddPackageDependencies(JObject json, DependencyContainer dependenci
8586
8687 if ( references is null )
8788 {
88- progressMonitor . LogDebug ( "No references found in the targets section in the assets file." ) ;
89+ logger . LogDebug ( "No references found in the targets section in the assets file." ) ;
8990 return ;
9091 }
9192
@@ -157,7 +158,7 @@ private void AddFrameworkDependencies(JObject json, DependencyContainer dependen
157158
158159 if ( frameworks is null )
159160 {
160- progressMonitor . LogDebug ( "No framework section in assets.json." ) ;
161+ logger . LogDebug ( "No framework section in assets.json." ) ;
161162 return ;
162163 }
163164
@@ -171,7 +172,7 @@ private void AddFrameworkDependencies(JObject json, DependencyContainer dependen
171172
172173 if ( references is null )
173174 {
174- progressMonitor . LogDebug ( "No framework references in assets.json." ) ;
175+ logger . LogDebug ( "No framework references in assets.json." ) ;
175176 return ;
176177 }
177178
@@ -196,12 +197,12 @@ public bool TryParse(string json, DependencyContainer dependencies)
196197 }
197198 catch ( Exception e )
198199 {
199- progressMonitor . LogDebug ( $ "Failed to parse assets file (unexpected error): { e . Message } ") ;
200+ logger . LogDebug ( $ "Failed to parse assets file (unexpected error): { e . Message } ") ;
200201 return false ;
201202 }
202203 }
203204
204- private static bool TryReadAllText ( string path , ProgressMonitor progressMonitor , [ NotNullWhen ( returnValue : true ) ] out string ? content )
205+ private static bool TryReadAllText ( string path , ILogger logger , [ NotNullWhen ( returnValue : true ) ] out string ? content )
205206 {
206207 try
207208 {
@@ -210,19 +211,19 @@ private static bool TryReadAllText(string path, ProgressMonitor progressMonitor,
210211 }
211212 catch ( Exception e )
212213 {
213- progressMonitor . LogInfo ( $ "Failed to read assets file '{ path } ': { e . Message } ") ;
214+ logger . LogInfo ( $ "Failed to read assets file '{ path } ': { e . Message } ") ;
214215 content = null ;
215216 return false ;
216217 }
217218 }
218219
219- public static DependencyContainer GetCompilationDependencies ( ProgressMonitor progressMonitor , IEnumerable < string > assets )
220+ public static DependencyContainer GetCompilationDependencies ( ILogger logger , IEnumerable < string > assets )
220221 {
221- var parser = new Assets ( progressMonitor ) ;
222+ var parser = new Assets ( logger ) ;
222223 var dependencies = new DependencyContainer ( ) ;
223224 assets . ForEach ( asset =>
224225 {
225- if ( TryReadAllText ( asset , progressMonitor , out var json ) )
226+ if ( TryReadAllText ( asset , logger , out var json ) )
226227 {
227228 parser . TryParse ( json , dependencies ) ;
228229 }
0 commit comments