protected bool ShowLicenseAgreementForAllPackages(IVsPackageManager activePackageManager, out List <PackageOperation> allOperations) { allOperations = new List <PackageOperation>(); var installWalker = new InstallWalker( LocalRepository, activePackageManager.SourceRepository, _project.GetTargetFrameworkName(), logger: this, ignoreDependencies: false, allowPrereleaseVersions: IncludePrerelease); var allPackages = SelectedNode.GetPackages(String.Empty, IncludePrerelease); foreach (var package in allPackages) { if (allOperations.FindIndex( operation => operation.Action == PackageAction.Install && operation.Package.Id == package.Id && operation.Package.Version == package.Version) == -1) { var operations = installWalker.ResolveOperations(package); allOperations.AddRange(operations); } } allOperations = (List <PackageOperation>)allOperations.Reduce(); return(ShowLicenseAgreement(activePackageManager, allOperations)); }
// Resolve actions to update all packages in all projects. private IEnumerable <Resolver.PackageAction> ResolveActionsForUpdateAll(IVsPackageManager activePackageManager) { var resolver = new ActionResolver() { Logger = this, AllowPrereleaseVersions = IncludePrerelease, DependencyVersion = activePackageManager.DependencyVersion }; var allPackages = SelectedNode.GetPackages(String.Empty, IncludePrerelease); foreach (Project project in _solutionManager.GetProjects()) { IProjectManager projectManager = activePackageManager.GetProjectManager(project); foreach (var package in allPackages) { // Update if an older version package is installed in the project var localPackge = projectManager.LocalRepository.FindPackage(package.Id); if (localPackge != null && localPackge.Version < package.Version) { resolver.AddOperation(PackageAction.Install, package, projectManager); } } } var actions = resolver.ResolveActions(); return(actions); }
protected bool ShowLicenseAgreementForAllPackages(IVsPackageManager activePackageManager, out IList <PackageOperation> allOperations, out IList <IPackage> packagesByDependencyOrder) { allOperations = new List <PackageOperation>(); var allPackages = SelectedNode.GetPackages(String.Empty, IncludePrerelease); if (_project.SupportsINuGetProjectSystem()) { packagesByDependencyOrder = allPackages.ToList(); foreach (var package in allPackages) { allOperations.Add(new PackageOperation(package, PackageAction.Install)); } } else { var installWalker = new InstallWalker( LocalRepository, activePackageManager.SourceRepository, _project.GetTargetFrameworkName(), logger: this, ignoreDependencies: false, allowPrereleaseVersions: IncludePrerelease, dependencyVersion: activePackageManager.DependencyVersion); allOperations = installWalker.ResolveOperations(allPackages, out packagesByDependencyOrder); } return(ShowLicenseAgreement(activePackageManager, allOperations)); }
protected override bool ExecuteAllCore() { if (SelectedNode == null || SelectedNode.Extensions == null || SelectedNode.Extensions.Count == 0) { return(false); } ShowProgressWindow(); IVsPackageManager activePackageManager = GetActivePackageManager(); Debug.Assert(activePackageManager != null); IDisposable action = activePackageManager.SourceRepository.StartOperation(OperationName); IProjectManager projectManager = activePackageManager.GetProjectManager(_project); List <PackageOperation> allOperations; bool accepted = ShowLicenseAgreementForAllPackages(activePackageManager, out allOperations); if (!accepted) { return(false); } try { RegisterPackageOperationEvents(activePackageManager, projectManager); var allUpdatePackages = SelectedNode.GetPackages(String.Empty, IncludePrerelease); activePackageManager.UpdatePackages( projectManager, allUpdatePackages, allOperations, updateDependencies: true, allowPrereleaseVersions: IncludePrerelease, logger: this); return(true); } finally { UnregisterPackageOperationEvents(activePackageManager, projectManager); action.Dispose(); } }
protected bool ShowLicenseAgreementForAllPackages(IVsPackageManager activePackageManager, out IList <PackageOperation> allOperations, out IList <IPackage> packagesByDependencyOrder) { allOperations = new List <PackageOperation>(); var installWalker = new InstallWalker( LocalRepository, activePackageManager.SourceRepository, _project.GetTargetFrameworkName(), logger: this, ignoreDependencies: false, allowPrereleaseVersions: IncludePrerelease); var allPackages = SelectedNode.GetPackages(String.Empty, IncludePrerelease); allOperations = installWalker.ResolveOperations(allPackages, out packagesByDependencyOrder); return(ShowLicenseAgreement(activePackageManager, allOperations)); }
/* * protected override void ExecuteCommand(IProjectManager projectManager, PackageItem item, IVsPackageManager activePackageManager, IList<PackageOperation> operations) * { * activePackageManager.UpdatePackages( * projectManager, * new[] { item.PackageIdentity }, * operations, * updateDependencies: true, * allowPrereleaseVersions: IncludePrerelease, * logger: this); * } */ private IEnumerable <Resolver.PackageAction> ResolveActionsForUpdateAll(IVsPackageManager activePackageManager, IProjectManager projectManager) { var resolver = new ActionResolver() { Logger = this, AllowPrereleaseVersions = IncludePrerelease, DependencyVersion = activePackageManager.DependencyVersion }; var allPackages = SelectedNode.GetPackages(String.Empty, IncludePrerelease); foreach (var package in allPackages) { resolver.AddOperation(PackageAction.Install, package, projectManager); } var actions = resolver.ResolveActions(); return(actions); }
protected bool ShowLicenseAgreementForAllPackages(IVsPackageManager activePackageManager) { var allOperations = new List <PackageOperation>(); var allPackages = SelectedNode.GetPackages(String.Empty, IncludePrerelease).ToList(); foreach (var package in allPackages) { var installWalker = new InstallWalker( LocalRepository, activePackageManager.SourceRepository, _project.GetTargetFrameworkName(), logger: this, ignoreDependencies: false, allowPrereleaseVersions: IncludePrerelease); var operations = installWalker.ResolveOperations(package); allOperations.AddRange(operations); } return(ShowLicenseAgreement(activePackageManager, allOperations.Reduce())); }