@@ -59,13 +59,13 @@ 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 = GetFiles ( "*.*" ) . ToList ( ) ;
63
+ this . fileContent = new FileContent ( progressMonitor , GetFileNames ( allFiles ) ) ;
64
+ this . allSources = GetFileNames ( allFiles , " .cs") . ToList ( ) ;
65
+ var allProjects = GetFileNames ( allFiles , " .csproj") ;
66
66
var solutions = options . SolutionFile is not null
67
67
? new [ ] { options . SolutionFile }
68
- : GetFiles ( "* .sln") ;
68
+ : GetFileNames ( allFiles , " .sln") ;
69
69
70
70
var dllDirNames = options . DllDirs . Select ( Path . GetFullPath ) . ToList ( ) ;
71
71
@@ -107,7 +107,7 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
107
107
{
108
108
Restore ( solutions ) ;
109
109
Restore ( allProjects ) ;
110
- DownloadMissingPackages ( ) ;
110
+ DownloadMissingPackages ( allFiles ) ;
111
111
}
112
112
}
113
113
@@ -136,7 +136,7 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
136
136
if ( bool . TryParse ( webViewExtractionOption , out var shouldExtractWebViews ) &&
137
137
shouldExtractWebViews )
138
138
{
139
- GenerateSourceFilesFromWebViews ( ) ;
139
+ GenerateSourceFilesFromWebViews ( allFiles ) ;
140
140
}
141
141
142
142
progressMonitor . Summary (
@@ -151,13 +151,11 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
151
151
DateTime . Now - startTime ) ;
152
152
}
153
153
154
- private void GenerateSourceFilesFromWebViews ( )
154
+ private void GenerateSourceFilesFromWebViews ( List < FileInfo > allFiles )
155
155
{
156
156
progressMonitor . LogInfo ( $ "Generating source files from cshtml and razor files.") ;
157
157
158
- var views = GetFiles ( "*.cshtml" )
159
- . Concat ( GetFiles ( "*.razor" ) )
160
- . ToArray ( ) ;
158
+ var views = GetFileNames ( allFiles , ".cshtml" , ".razor" ) . ToArray ( ) ;
161
159
162
160
if ( views . Length > 0 )
163
161
{
@@ -185,15 +183,16 @@ private void GenerateSourceFilesFromWebViews()
185
183
186
184
public DependencyManager ( string srcDir ) : this ( srcDir , DependencyOptions . Default , new ConsoleLogger ( Verbosity . Info ) ) { }
187
185
188
- private IEnumerable < string > GetFiles ( string pattern , bool recurseSubdirectories = true ) =>
186
+ private IEnumerable < FileInfo > GetFiles ( string pattern , bool recurseSubdirectories = true ) =>
189
187
sourceDir . GetFiles ( pattern , new EnumerationOptions
190
188
{
191
189
RecurseSubdirectories = recurseSubdirectories ,
192
190
MatchCasing = MatchCasing . CaseInsensitive
193
191
} )
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 ) ;
197
196
198
197
/// <summary>
199
198
/// Computes a unique temp directory for the packages associated
@@ -374,14 +373,19 @@ private void Restore(IEnumerable<string> targets, string? pathToNugetConfig = nu
374
373
}
375
374
}
376
375
377
- private void DownloadMissingPackages ( )
376
+ private void DownloadMissingPackages ( List < FileInfo > allFiles )
378
377
{
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 ( ) ;
380
382
string ? nugetConfig = null ;
381
383
if ( nugetConfigs . Length > 1 )
382
384
{
383
385
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 ( ) ;
385
389
if ( nugetConfig == null )
386
390
{
387
391
progressMonitor . NoTopLevelNugetConfig ( ) ;
0 commit comments