File tree Expand file tree Collapse file tree 1 file changed +15
-11
lines changed Expand file tree Collapse file tree 1 file changed +15
-11
lines changed Original file line number Diff line number Diff line change @@ -240,21 +240,25 @@ private void RestoreProjects(IEnumerable<string> projects, out IEnumerable<strin
240
240
var nugetSourceFailures = 0 ;
241
241
var assetFiles = new List < string > ( ) ;
242
242
var sync = new object ( ) ;
243
- Parallel . ForEach ( projects , new ParallelOptions { MaxDegreeOfParallelism = DependencyManager . Threads } , project =>
243
+ var projectGroups = projects . GroupBy ( Path . GetDirectoryName ) ;
244
+ Parallel . ForEach ( projectGroups , new ParallelOptions { MaxDegreeOfParallelism = DependencyManager . Threads } , projectGroup =>
244
245
{
245
- logger . LogInfo ( $ "Restoring project { project } ...") ;
246
- var res = dotnet . Restore ( new ( project , PackageDirectory . DirInfo . FullName , ForceDotnetRefAssemblyFetching : true ) ) ;
247
- lock ( sync )
246
+ foreach ( var project in projectGroup )
248
247
{
249
- if ( res . Success )
250
- {
251
- successCount ++ ;
252
- }
253
- if ( res . HasNugetPackageSourceError )
248
+ logger . LogInfo ( $ "Restoring project { project } ...") ;
249
+ var res = dotnet . Restore ( new ( project , PackageDirectory . DirInfo . FullName , ForceDotnetRefAssemblyFetching : true ) ) ;
250
+ lock ( sync )
254
251
{
255
- nugetSourceFailures ++ ;
252
+ if ( res . Success )
253
+ {
254
+ successCount ++ ;
255
+ }
256
+ if ( res . HasNugetPackageSourceError )
257
+ {
258
+ nugetSourceFailures ++ ;
259
+ }
260
+ assetFiles . AddRange ( res . AssetsFilePaths ) ;
256
261
}
257
- assetFiles . AddRange ( res . AssetsFilePaths ) ;
258
262
}
259
263
} ) ;
260
264
assets = assetFiles ;
You can’t perform that action at this time.
0 commit comments