IEnumerable <INuGetPackageAction> CreateInstallActions( IEnumerable <SourceRepository> repositories, Project project, IEnumerable <PackageManagementPackageReference> packages, bool licensesAccepted) { List <INuGetPackageAction> actions = null; Runtime.RunInMainThread(() => { var solutionManager = PackageManagementServices.Workspace.GetSolutionManager(project.ParentSolution); var dotNetProject = new DotNetProjectProxy((DotNetProject)project); var context = new NuGetProjectContext(); actions = packages.Select(packageReference => { var action = new InstallNuGetPackageAction( repositories, solutionManager, dotNetProject, context); action.PackageId = packageReference.Id; action.Version = packageReference.GetNuGetVersion(); action.LicensesMustBeAccepted = !licensesAccepted; return((INuGetPackageAction)action); }).ToList(); }).Wait(); return(actions); }
public ReinstallNuGetPackageAction( IDotNetProject project, IMonoDevelopSolutionManager solutionManager, INuGetProjectContext projectContext, IPackageManagementEvents packageManagementEvents) { this.context = projectContext; this.packageManagementEvents = packageManagementEvents; var repositories = solutionManager.CreateSourceRepositoryProvider().GetRepositories(); installAction = CreateInstallAction(solutionManager, project, repositories); uninstallAction = CreateUninstallAction(solutionManager, project); }
public ReinstallNuGetPackageAction ( IDotNetProject project, IMonoDevelopSolutionManager solutionManager, INuGetProjectContext projectContext, IPackageManagementEvents packageManagementEvents) { this.context = projectContext; this.packageManagementEvents = packageManagementEvents; var repositories = solutionManager.CreateSourceRepositoryProvider ().GetRepositories (); installAction = CreateInstallAction (solutionManager, project, repositories); uninstallAction = CreateUninstallAction (solutionManager, project); }
async Task <List <InstallNuGetPackageAction> > CreatePackageActions(DotNetProject project, IEnumerable <TemplatePackageReference> packageReferences) { var repositoryProvider = SourceRepositoryProviderFactory.CreateSourceRepositoryProvider(); var repositories = repositoryProvider.GetRepositories().ToList(); var solutionManager = PackageManagementServices.Workspace.GetSolutionManager(project.ParentSolution); var installPackageActions = new List <InstallNuGetPackageAction> (); var context = new NuGetProjectContext(solutionManager.Settings) { FileConflictResolution = FileConflictAction.IgnoreAll }; var dotNetProject = new DotNetProjectProxy(project); var nugetProject = solutionManager.GetNuGetProject(dotNetProject); var installedPackages = (await nugetProject.GetInstalledPackagesAsync(CancellationToken.None)).ToList(); foreach (var packageReference in packageReferences) { var version = new NuGetVersion(packageReference.Version); if (!ShouldInstallPackage(packageReference.Id, version, installedPackages)) { continue; } var action = new InstallNuGetPackageAction( repositories, solutionManager, dotNetProject, context) { LicensesMustBeAccepted = false, OpenReadmeFile = false, PackageId = packageReference.Id, Version = version }; installPackageActions.Add(action); } return(installPackageActions); }
IEnumerable<INuGetPackageAction> CreateInstallActions ( IEnumerable<SourceRepository> repositories, Project project, IEnumerable<PackageManagementPackageReference> packages, bool licensesAccepted) { List<INuGetPackageAction> actions = null; Runtime.RunInMainThread (() => { var solutionManager = PackageManagementServices.Workspace.GetSolutionManager (project.ParentSolution); var dotNetProject = new DotNetProjectProxy ((DotNetProject)project); var context = new NuGetProjectContext (); actions = packages.Select (packageReference => { var action = new InstallNuGetPackageAction ( repositories, solutionManager, dotNetProject, context); action.PackageId = packageReference.Id; action.Version = packageReference.GetNuGetVersion (); action.LicensesMustBeAccepted = !licensesAccepted; return (INuGetPackageAction)action; }).ToList (); }).Wait (); return actions; }