@@ -59,14 +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
- var allFiles = GetFiles ( "*.*" ) . ToList ( ) ;
63
- var smallFiles = GetSmallFiles ( allFiles ) ;
64
- this . fileContent = new FileContent ( progressMonitor , GetFileNames ( smallFiles ) ) ;
65
- this . allSources = GetFileNames ( allFiles , ".cs" ) . ToList ( ) ;
66
- var allProjects = GetFileNames ( allFiles , ".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" ) ;
67
67
var solutions = options . SolutionFile is not null
68
68
? new [ ] { options . SolutionFile }
69
- : GetFileNames ( allFiles , ".sln" ) ;
69
+ : allFiles . SelectFileNamesByExtension ( ".sln" ) ;
70
70
71
71
var dllDirNames = options . DllDirs . Select ( Path . GetFullPath ) . ToList ( ) ;
72
72
@@ -156,7 +156,7 @@ private void GenerateSourceFilesFromWebViews(List<FileInfo> allFiles)
156
156
{
157
157
progressMonitor . LogInfo ( $ "Generating source files from cshtml and razor files.") ;
158
158
159
- var views = GetFileNames ( allFiles , ".cshtml" , ".razor" ) . ToArray ( ) ;
159
+ var views = allFiles . SelectFileNamesByExtension ( ".cshtml" , ".razor" ) . ToArray ( ) ;
160
160
161
161
if ( views . Length > 0 )
162
162
{
@@ -184,31 +184,10 @@ private void GenerateSourceFilesFromWebViews(List<FileInfo> allFiles)
184
184
185
185
public DependencyManager ( string srcDir ) : this ( srcDir , DependencyOptions . Default , new ConsoleLogger ( Verbosity . Info ) ) { }
186
186
187
- private IEnumerable < FileInfo > GetFiles ( string pattern , bool recurseSubdirectories = true ) =>
188
- sourceDir . GetFiles ( pattern , new EnumerationOptions
189
- {
190
- RecurseSubdirectories = recurseSubdirectories ,
191
- MatchCasing = MatchCasing . CaseInsensitive
192
- } )
187
+ private IEnumerable < FileInfo > GetAllFiles ( ) =>
188
+ sourceDir . GetFiles ( "*.*" , new EnumerationOptions { RecurseSubdirectories = true } )
193
189
. Where ( d => d . Extension != ".dll" && ! options . ExcludesFile ( d . FullName ) ) ;
194
190
195
- private static IEnumerable < string > GetFileNames ( IEnumerable < FileInfo > files , params string [ ] extensions ) =>
196
- files . Where ( fi => ! extensions . Any ( ) || extensions . Contains ( fi . Extension ) ) . Select ( fi => fi . FullName ) ;
197
-
198
- private IEnumerable < FileInfo > GetSmallFiles ( IEnumerable < FileInfo > files )
199
- {
200
- const int oneMb = 1_048_576 ;
201
- return files . Where ( file =>
202
- {
203
- if ( file . Length > oneMb )
204
- {
205
- progressMonitor . LogDebug ( $ "Skipping { file . FullName } because it is bigger than 1MB.") ;
206
- return false ;
207
- }
208
- return true ;
209
- } ) ;
210
- }
211
-
212
191
/// <summary>
213
192
/// Computes a unique temp directory for the packages associated
214
193
/// with this source tree. Use a SHA1 of the directory name.
@@ -390,16 +369,14 @@ private void Restore(IEnumerable<string> targets, string? pathToNugetConfig = nu
390
369
391
370
private void DownloadMissingPackages ( List < FileInfo > allFiles )
392
371
{
393
- var nugetConfigs = allFiles
394
- . Where ( fi => fi . Name == "nuget.config" )
395
- . Select ( fi => fi . FullName )
396
- . ToArray ( ) ;
372
+ var nugetConfigs = allFiles . SelectFileNamesByName ( "nuget.config" ) . ToArray ( ) ;
397
373
string ? nugetConfig = null ;
398
374
if ( nugetConfigs . Length > 1 )
399
375
{
400
376
progressMonitor . MultipleNugetConfig ( nugetConfigs ) ;
401
- nugetConfig = GetFiles ( "nuget.config" , recurseSubdirectories : false )
402
- . Select ( fi => fi . FullName )
377
+ nugetConfig = allFiles
378
+ . SelectRootFiles ( sourceDir )
379
+ . SelectFileNamesByName ( "nuget.config" )
403
380
. FirstOrDefault ( ) ;
404
381
if ( nugetConfig == null )
405
382
{
@@ -412,8 +389,7 @@ private void DownloadMissingPackages(List<FileInfo> allFiles)
412
389
}
413
390
414
391
var alreadyDownloadedPackages = Directory . GetDirectories ( packageDirectory . DirInfo . FullName )
415
- . Select ( d => Path . GetFileName ( d )
416
- . ToLowerInvariant ( ) ) ;
392
+ . Select ( d => Path . GetFileName ( d ) . ToLowerInvariant ( ) ) ;
417
393
var notYetDownloadedPackages = fileContent . AllPackages . Except ( alreadyDownloadedPackages ) ;
418
394
foreach ( var package in notYetDownloadedPackages )
419
395
{
0 commit comments