@@ -59,13 +59,13 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
5959 this . progressMonitor . FindingFiles ( srcDir ) ;
6060
6161 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 = GetFiles ( "*.*" ) . ToList ( ) ;
63+ this . fileContent = new FileContent ( progressMonitor , GetFileNames ( allFiles ) ) ;
64+ this . allSources = GetFileNames ( allFiles , " .cs") . ToList ( ) ;
65+ var allProjects = GetFileNames ( allFiles , " .csproj") ;
6666 var solutions = options . SolutionFile is not null
6767 ? new [ ] { options . SolutionFile }
68- : GetFiles ( "* .sln") ;
68+ : GetFileNames ( allFiles , " .sln") ;
6969
7070 var dllDirNames = options . DllDirs . Select ( Path . GetFullPath ) . ToList ( ) ;
7171
@@ -107,7 +107,7 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
107107 {
108108 Restore ( solutions ) ;
109109 Restore ( allProjects ) ;
110- DownloadMissingPackages ( ) ;
110+ DownloadMissingPackages ( allFiles ) ;
111111 }
112112 }
113113
@@ -136,7 +136,7 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
136136 if ( bool . TryParse ( webViewExtractionOption , out var shouldExtractWebViews ) &&
137137 shouldExtractWebViews )
138138 {
139- GenerateSourceFilesFromWebViews ( ) ;
139+ GenerateSourceFilesFromWebViews ( allFiles ) ;
140140 }
141141
142142 progressMonitor . Summary (
@@ -151,13 +151,11 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
151151 DateTime . Now - startTime ) ;
152152 }
153153
154- private void GenerateSourceFilesFromWebViews ( )
154+ private void GenerateSourceFilesFromWebViews ( List < FileInfo > allFiles )
155155 {
156156 progressMonitor . LogInfo ( $ "Generating source files from cshtml and razor files.") ;
157157
158- var views = GetFiles ( "*.cshtml" )
159- . Concat ( GetFiles ( "*.razor" ) )
160- . ToArray ( ) ;
158+ var views = GetFileNames ( allFiles , ".cshtml" , ".razor" ) . ToArray ( ) ;
161159
162160 if ( views . Length > 0 )
163161 {
@@ -185,15 +183,16 @@ private void GenerateSourceFilesFromWebViews()
185183
186184 public DependencyManager ( string srcDir ) : this ( srcDir , DependencyOptions . Default , new ConsoleLogger ( Verbosity . Info ) ) { }
187185
188- private IEnumerable < string > GetFiles ( string pattern , bool recurseSubdirectories = true ) =>
186+ private IEnumerable < FileInfo > GetFiles ( string pattern , bool recurseSubdirectories = true ) =>
189187 sourceDir . GetFiles ( pattern , new EnumerationOptions
190188 {
191189 RecurseSubdirectories = recurseSubdirectories ,
192190 MatchCasing = MatchCasing . CaseInsensitive
193191 } )
194- . Where ( d => d . Extension != ".dll" )
195- . Select ( d => d . FullName )
196- . Where ( d => ! options . ExcludesFile ( d ) ) ;
192+ . Where ( d => d . Extension != ".dll" && ! options . ExcludesFile ( d . FullName ) ) ;
193+
194+ private static IEnumerable < string > GetFileNames ( IEnumerable < FileInfo > files , params string [ ] extensions ) =>
195+ files . Where ( fi => ! extensions . Any ( ) || extensions . Contains ( fi . Extension ) ) . Select ( fi => fi . FullName ) ;
197196
198197 /// <summary>
199198 /// Computes a unique temp directory for the packages associated
@@ -374,14 +373,19 @@ private void Restore(IEnumerable<string> targets, string? pathToNugetConfig = nu
374373 }
375374 }
376375
377- private void DownloadMissingPackages ( )
376+ private void DownloadMissingPackages ( List < FileInfo > allFiles )
378377 {
379- var nugetConfigs = GetFiles ( "nuget.config" , recurseSubdirectories : true ) . ToArray ( ) ;
378+ var nugetConfigs = allFiles
379+ . Where ( fi => fi . Name == "nuget.config" )
380+ . Select ( fi => fi . FullName )
381+ . ToArray ( ) ;
380382 string ? nugetConfig = null ;
381383 if ( nugetConfigs . Length > 1 )
382384 {
383385 progressMonitor . MultipleNugetConfig ( nugetConfigs ) ;
384- nugetConfig = GetFiles ( "nuget.config" , recurseSubdirectories : false ) . FirstOrDefault ( ) ;
386+ nugetConfig = GetFiles ( "nuget.config" , recurseSubdirectories : false )
387+ . Select ( fi => fi . FullName )
388+ . FirstOrDefault ( ) ;
385389 if ( nugetConfig == null )
386390 {
387391 progressMonitor . NoTopLevelNugetConfig ( ) ;
0 commit comments