1- using Semmle . Util ;
2- using System ;
1+ using System ;
2+ using System . Collections . Concurrent ;
33using System . Collections . Generic ;
44using System . IO ;
55using System . Linq ;
6- using Semmle . Extraction . CSharp . Standalone ;
7- using System . Threading . Tasks ;
8- using System . Collections . Concurrent ;
9- using System . Text ;
106using System . Security . Cryptography ;
7+ using System . Text ;
8+ using System . Threading . Tasks ;
9+ using Semmle . Util ;
10+ using Semmle . Util . Logging ;
1111
12- namespace Semmle . BuildAnalyser
12+ namespace Semmle . Extraction . CSharp . DependencyFetching
1313{
1414 /// <summary>
1515 /// Main implementation of the build analysis.
1616 /// </summary>
17- internal sealed class BuildAnalysis : IDisposable
17+ public sealed class DependencyManager : IDisposable
1818 {
1919 private readonly AssemblyCache assemblyCache ;
2020 private readonly ProgressMonitor progressMonitor ;
@@ -25,25 +25,25 @@ internal sealed class BuildAnalysis : IDisposable
2525 private int succeededProjects ;
2626 private readonly string [ ] allSources ;
2727 private int conflictedReferences = 0 ;
28- private readonly Options options ;
28+ private readonly IDependencyOptions options ;
2929 private readonly DirectoryInfo sourceDir ;
3030 private readonly DotNet dotnet ;
3131 private readonly FileContent fileContent ;
3232 private readonly TemporaryDirectory packageDirectory ;
3333
3434
3535 /// <summary>
36- /// Performs a C# build analysis .
36+ /// Performs a C# dependency fetching .
3737 /// </summary>
38- /// <param name="options">Analysis options from the command line. </param>
39- /// <param name="progressMonitor">Display of analysis progress.</param>
40- public BuildAnalysis ( Options options , ProgressMonitor progressMonitor )
38+ /// <param name="options">Dependency fetching options </param>
39+ /// <param name="logger">Logger for dependency fetching progress.</param>
40+ public DependencyManager ( string srcDir , IDependencyOptions options , ILogger logger )
4141 {
4242 var startTime = DateTime . Now ;
4343
4444 this . options = options ;
45- this . progressMonitor = progressMonitor ;
46- this . sourceDir = new DirectoryInfo ( options . SrcDir ) ;
45+ this . progressMonitor = new ProgressMonitor ( logger ) ;
46+ this . sourceDir = new DirectoryInfo ( srcDir ) ;
4747
4848 try
4949 {
@@ -55,7 +55,7 @@ public BuildAnalysis(Options options, ProgressMonitor progressMonitor)
5555 throw ;
5656 }
5757
58- this . progressMonitor . FindingFiles ( options . SrcDir ) ;
58+ this . progressMonitor . FindingFiles ( srcDir ) ;
5959
6060 packageDirectory = new TemporaryDirectory ( ComputeTempDirectory ( sourceDir . FullName ) ) ;
6161
@@ -285,7 +285,7 @@ private void AnalyseProject(FileInfo project)
285285
286286 try
287287 {
288- var csProj = new Extraction . CSharp . CsProjFile ( project ) ;
288+ var csProj = new CsProjFile ( project ) ;
289289
290290 foreach ( var @ref in csProj . References )
291291 {
@@ -329,7 +329,6 @@ private void Restore(IEnumerable<string> targets, string? pathToNugetConfig = nu
329329 }
330330 }
331331
332-
333332 private void DownloadMissingPackages ( )
334333 {
335334 var nugetConfigs = GetFiles ( "nuget.config" , recurseSubdirectories : true ) . ToArray ( ) ;
0 commit comments