@@ -59,14 +59,14 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
5959 this . progressMonitor . FindingFiles ( srcDir ) ;
6060
6161 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" ) ;
6767 var solutions = options . SolutionFile is not null
6868 ? new [ ] { options . SolutionFile }
69- : GetFileNames ( allFiles , ".sln" ) ;
69+ : allFiles . SelectFileNamesByExtension ( ".sln" ) ;
7070
7171 var dllDirNames = options . DllDirs . Select ( Path . GetFullPath ) . ToList ( ) ;
7272
@@ -156,7 +156,7 @@ private void GenerateSourceFilesFromWebViews(List<FileInfo> allFiles)
156156 {
157157 progressMonitor . LogInfo ( $ "Generating source files from cshtml and razor files.") ;
158158
159- var views = GetFileNames ( allFiles , ".cshtml" , ".razor" ) . ToArray ( ) ;
159+ var views = allFiles . SelectFileNamesByExtension ( ".cshtml" , ".razor" ) . ToArray ( ) ;
160160
161161 if ( views . Length > 0 )
162162 {
@@ -184,31 +184,10 @@ private void GenerateSourceFilesFromWebViews(List<FileInfo> allFiles)
184184
185185 public DependencyManager ( string srcDir ) : this ( srcDir , DependencyOptions . Default , new ConsoleLogger ( Verbosity . Info ) ) { }
186186
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 } )
193189 . Where ( d => d . Extension != ".dll" && ! options . ExcludesFile ( d . FullName ) ) ;
194190
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-
212191 /// <summary>
213192 /// Computes a unique temp directory for the packages associated
214193 /// with this source tree. Use a SHA1 of the directory name.
@@ -390,16 +369,14 @@ private void Restore(IEnumerable<string> targets, string? pathToNugetConfig = nu
390369
391370 private void DownloadMissingPackages ( List < FileInfo > allFiles )
392371 {
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 ( ) ;
397373 string ? nugetConfig = null ;
398374 if ( nugetConfigs . Length > 1 )
399375 {
400376 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" )
403380 . FirstOrDefault ( ) ;
404381 if ( nugetConfig == null )
405382 {
@@ -412,8 +389,7 @@ private void DownloadMissingPackages(List<FileInfo> allFiles)
412389 }
413390
414391 var alreadyDownloadedPackages = Directory . GetDirectories ( packageDirectory . DirInfo . FullName )
415- . Select ( d => Path . GetFileName ( d )
416- . ToLowerInvariant ( ) ) ;
392+ . Select ( d => Path . GetFileName ( d ) . ToLowerInvariant ( ) ) ;
417393 var notYetDownloadedPackages = fileContent . AllPackages . Except ( alreadyDownloadedPackages ) ;
418394 foreach ( var package in notYetDownloadedPackages )
419395 {
0 commit comments