@@ -280,20 +280,6 @@ where project.IsSelected
280280 }
281281 }
282282
283- void SolutionPackageGetInstallOperations (
284- ISolutionPackageRepository solutionRepository ,
285- InstallPackageAction installAction ,
286- IPackageFromRepository installPackage ) {
287-
288- var resolverFactory = new PackageOperationsResolverFactory ( ) ;
289- var resolver = resolverFactory . CreateInstallPackageOperationResolver (
290- solutionRepository . Repository ,
291- installPackage . Repository ,
292- logger ,
293- installAction ) ;
294- packageOperations = resolver . ResolveOperations ( installPackage ) ;
295- }
296-
297283 IPackageManagementProject GetSingleProjectSelected ( )
298284 {
299285 return selectedProjects . GetSingleProjectSelected ( package . Repository ) ;
@@ -350,6 +336,20 @@ protected virtual void TrySolutionPackageInstall()
350336 }
351337 }
352338
339+ void SolutionPackageGetInstallOperations (
340+ ISolutionPackageRepository solutionRepository ,
341+ InstallPackageAction installAction ,
342+ IPackageFromRepository installPackage ) {
343+
344+ var resolverFactory = new PackageOperationsResolverFactory ( ) ;
345+ var resolver = resolverFactory . CreateInstallPackageOperationResolver (
346+ solutionRepository . Repository ,
347+ installPackage . Repository ,
348+ logger ,
349+ installAction ) ;
350+ packageOperations = resolver . ResolveOperations ( installPackage ) ;
351+ }
352+
353353 void SolutionPackageInstall (
354354 ISolutionPackageRepository solutionRepository ,
355355 InstallPackageAction installAction ,
@@ -366,6 +366,56 @@ void SolutionPackageInstall(
366366 installAction . AllowPrereleaseVersions ) ;
367367 }
368368
369+ protected virtual void TrySolutionPackageUpdate ( )
370+ {
371+ try {
372+ var solutionRepository = selectedProjects . Solution . CreateSolutionPackageRepository ( ) ;
373+ var updateAction = new UpdatePackageAction ( null , packageManagementEvents ) ;
374+ updateAction . Package = package ;
375+ updateAction . AllowPrereleaseVersions = parent . IncludePrerelease ;
376+ SolutionPackageGetUpdateOperations ( solutionRepository , updateAction , package ) ;
377+ if ( LicensesAccepted ( ) ) {
378+ SolutionPackageUpdate ( solutionRepository , updateAction , package ) ;
379+ IEnumerable < IPackage > updatedPackages = (
380+ from packageOperation in packageOperations
381+ where packageOperation . Package != null
382+ select packageOperation . Package ) . Distinct ( ) ;
383+ packageManagementEvents . OnParentPackagesUpdated ( updatedPackages ) ;
384+ }
385+ } catch ( Exception ex ) {
386+ ReportError ( ex ) ;
387+ logger . LogError ( ex ) ;
388+ }
389+ }
390+
391+ void SolutionPackageGetUpdateOperations (
392+ ISolutionPackageRepository solutionRepository ,
393+ UpdatePackageAction updateAction ,
394+ IPackageFromRepository updatePackage ) {
395+
396+ var resolverFactory = new PackageOperationsResolverFactory ( ) ;
397+ var resolver = resolverFactory . CreateUpdatePackageOperationResolver (
398+ solutionRepository . Repository ,
399+ updatePackage . Repository ,
400+ logger ,
401+ updateAction ) ;
402+ packageOperations = resolver . ResolveOperations ( updatePackage ) ;
403+ }
404+
405+ void SolutionPackageUpdate (
406+ ISolutionPackageRepository solutionRepository ,
407+ UpdatePackageAction installAction ,
408+ IPackageFromRepository updatePackage ) {
409+ var packageManager = new PackageManager (
410+ updatePackage . Repository ,
411+ solutionRepository . PackagePathResolver ,
412+ solutionRepository . FileSystem ,
413+ solutionRepository . Repository ) ;
414+ packageManager . UpdatePackage (
415+ updatePackage . Id , true ,
416+ installAction . AllowPrereleaseVersions ) ;
417+ }
418+
369419 void TryProjectPackageInstall ( )
370420 {
371421 try {
0 commit comments