Example #1
0
        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;
		}