@@ -59,13 +59,14 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
59
59
this . progressMonitor . FindingFiles ( srcDir ) ;
60
60
61
61
packageDirectory = new TemporaryDirectory ( ComputeTempDirectory ( sourceDir . FullName ) ) ;
62
-
63
- this . fileContent = new FileContent ( progressMonitor , ( ) => GetFiles ( "*.*" ) ) ;
64
- this . allSources = GetFiles ( "*.cs" ) . ToList ( ) ;
65
- var allProjects = GetFiles ( "*.csproj" ) ;
62
+ var allFiles = GetAllFiles ( ) . ToList ( ) ;
63
+ var smallFiles = allFiles . SelectSmallFiles ( progressMonitor ) . SelectFileNames ( ) ;
64
+ this . fileContent = new FileContent ( progressMonitor , smallFiles ) ;
65
+ this . allSources = allFiles . SelectFileNamesByExtension ( ".cs" ) . ToList ( ) ;
66
+ var allProjects = allFiles . SelectFileNamesByExtension ( ".csproj" ) ;
66
67
var solutions = options . SolutionFile is not null
67
68
? new [ ] { options . SolutionFile }
68
- : GetFiles ( "* .sln") ;
69
+ : allFiles . SelectFileNamesByExtension ( " .sln") ;
69
70
70
71
var dllDirNames = options . DllDirs . Select ( Path . GetFullPath ) . ToList ( ) ;
71
72
@@ -107,7 +108,7 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
107
108
{
108
109
Restore ( solutions ) ;
109
110
Restore ( allProjects ) ;
110
- DownloadMissingPackages ( ) ;
111
+ DownloadMissingPackages ( allFiles ) ;
111
112
}
112
113
}
113
114
@@ -136,7 +137,7 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
136
137
if ( bool . TryParse ( webViewExtractionOption , out var shouldExtractWebViews ) &&
137
138
shouldExtractWebViews )
138
139
{
139
- GenerateSourceFilesFromWebViews ( ) ;
140
+ GenerateSourceFilesFromWebViews ( allFiles ) ;
140
141
}
141
142
142
143
progressMonitor . Summary (
@@ -151,13 +152,11 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
151
152
DateTime . Now - startTime ) ;
152
153
}
153
154
154
- private void GenerateSourceFilesFromWebViews ( )
155
+ private void GenerateSourceFilesFromWebViews ( List < FileInfo > allFiles )
155
156
{
156
157
progressMonitor . LogInfo ( $ "Generating source files from cshtml and razor files.") ;
157
158
158
- var views = GetFiles ( "*.cshtml" )
159
- . Concat ( GetFiles ( "*.razor" ) )
160
- . ToArray ( ) ;
159
+ var views = allFiles . SelectFileNamesByExtension ( ".cshtml" , ".razor" ) . ToArray ( ) ;
161
160
162
161
if ( views . Length > 0 )
163
162
{
@@ -185,15 +184,9 @@ private void GenerateSourceFilesFromWebViews()
185
184
186
185
public DependencyManager ( string srcDir ) : this ( srcDir , DependencyOptions . Default , new ConsoleLogger ( Verbosity . Info ) ) { }
187
186
188
- private IEnumerable < string > GetFiles ( string pattern , bool recurseSubdirectories = true ) =>
189
- sourceDir . GetFiles ( pattern , new EnumerationOptions
190
- {
191
- RecurseSubdirectories = recurseSubdirectories ,
192
- MatchCasing = MatchCasing . CaseInsensitive
193
- } )
194
- . Where ( d => d . Extension != ".dll" )
195
- . Select ( d => d . FullName )
196
- . Where ( d => ! options . ExcludesFile ( d ) ) ;
187
+ private IEnumerable < FileInfo > GetAllFiles ( ) =>
188
+ sourceDir . GetFiles ( "*.*" , new EnumerationOptions { RecurseSubdirectories = true } )
189
+ . Where ( d => d . Extension != ".dll" && ! options . ExcludesFile ( d . FullName ) ) ;
197
190
198
191
/// <summary>
199
192
/// Computes a unique temp directory for the packages associated
@@ -374,14 +367,17 @@ private void Restore(IEnumerable<string> targets, string? pathToNugetConfig = nu
374
367
}
375
368
}
376
369
377
- private void DownloadMissingPackages ( )
370
+ private void DownloadMissingPackages ( List < FileInfo > allFiles )
378
371
{
379
- var nugetConfigs = GetFiles ( "nuget.config" , recurseSubdirectories : true ) . ToArray ( ) ;
372
+ var nugetConfigs = allFiles . SelectFileNamesByName ( "nuget.config" ) . ToArray ( ) ;
380
373
string ? nugetConfig = null ;
381
374
if ( nugetConfigs . Length > 1 )
382
375
{
383
376
progressMonitor . MultipleNugetConfig ( nugetConfigs ) ;
384
- nugetConfig = GetFiles ( "nuget.config" , recurseSubdirectories : false ) . FirstOrDefault ( ) ;
377
+ nugetConfig = allFiles
378
+ . SelectRootFiles ( sourceDir )
379
+ . SelectFileNamesByName ( "nuget.config" )
380
+ . FirstOrDefault ( ) ;
385
381
if ( nugetConfig == null )
386
382
{
387
383
progressMonitor . NoTopLevelNugetConfig ( ) ;
@@ -393,8 +389,7 @@ private void DownloadMissingPackages()
393
389
}
394
390
395
391
var alreadyDownloadedPackages = Directory . GetDirectories ( packageDirectory . DirInfo . FullName )
396
- . Select ( d => Path . GetFileName ( d )
397
- . ToLowerInvariant ( ) ) ;
392
+ . Select ( d => Path . GetFileName ( d ) . ToLowerInvariant ( ) ) ;
398
393
var notYetDownloadedPackages = fileContent . AllPackages . Except ( alreadyDownloadedPackages ) ;
399
394
foreach ( var package in notYetDownloadedPackages )
400
395
{
0 commit comments