public RestoreAndCheckForUpdatesAction (Solution solution)
		{
			this.solution = solution;
			packageManagementEvents = PackageManagementServices.PackageManagementEvents;

			solutionManager = PackageManagementServices.Workspace.GetSolutionManager (solution);
			nugetProjects = solutionManager.GetNuGetProjects ().ToList ();

			if (AnyProjectsUsingPackagesConfig ()) {
				restoreManager = new PackageRestoreManager (
					solutionManager.CreateSourceRepositoryProvider (),
					solutionManager.Settings,
					solutionManager
				);
			}

			if (AnyProjectsUsingProjectJson ()) {
				buildIntegratedRestorer = new MonoDevelopBuildIntegratedRestorer (
					solutionManager.CreateSourceRepositoryProvider (),
					solutionManager.Settings);
			}

			if (AnyNuGetAwareProjects ()) {
				nugetAwareRestorer = new NuGetAwareProjectPackageRestoreManager (solutionManager);
			}
		}
示例#2
0
        public RestoreAndCheckForUpdatesAction(Solution solution)
        {
            this.solution           = solution;
            packageManagementEvents = PackageManagementServices.PackageManagementEvents;

            solutionManager = PackageManagementServices.Workspace.GetSolutionManager(solution);
            nugetProjects   = solutionManager.GetNuGetProjects().ToList();

            if (AnyProjectsUsingPackagesConfig())
            {
                restoreManager = new PackageRestoreManager(
                    solutionManager.CreateSourceRepositoryProvider(),
                    solutionManager.Settings,
                    solutionManager
                    );
            }

            if (AnyProjectsUsingProjectJson())
            {
                buildIntegratedRestorer = new MonoDevelopBuildIntegratedRestorer(
                    solutionManager.CreateSourceRepositoryProvider(),
                    solutionManager.Settings,
                    solution.BaseDirectory);
            }
        }
示例#3
0
        public RestoreNuGetPackagesAction(Solution solution)
        {
            this.solution                 = solution;
            packageManagementEvents       = PackageManagementServices.PackageManagementEvents;
            RestorePackagesConfigProjects = true;

            solutionManager = PackageManagementServices.Workspace.GetSolutionManager(solution);
            solutionManager.ClearProjectCache();

            nugetProjects = solutionManager.GetNuGetProjects().ToList();

            if (AnyProjectsUsingPackagesConfig())
            {
                restoreManager = new PackageRestoreManager(
                    solutionManager.CreateSourceRepositoryProvider(),
                    solutionManager.Settings,
                    solutionManager
                    );
            }

            if (AnyDotNetCoreProjectsOrProjectsUsingProjectJson())
            {
                buildIntegratedRestorer = new MonoDevelopBuildIntegratedRestorer(solutionManager);
            }

            if (AnyNuGetAwareProjects())
            {
                nugetAwareRestorer = new NuGetAwareProjectPackageRestoreManager(solutionManager);
            }
        }
示例#4
0
 public MonoDevelopBuildIntegratedRestorer(IMonoDevelopSolutionManager solutionManager)
     : this(
         solutionManager,
         solutionManager.CreateSourceRepositoryProvider(),
         solutionManager.Settings)
 {
 }
示例#5
0
 public MonoDevelopPackageRestoreManager(IMonoDevelopSolutionManager solutionManager)
 {
     restoreManager = new PackageRestoreManager(
         solutionManager.CreateSourceRepositoryProvider(),
         solutionManager.Settings,
         solutionManager);
 }
		public MonoDevelopPackageRestoreManager (IMonoDevelopSolutionManager solutionManager)
		{
			restoreManager = new PackageRestoreManager (
				solutionManager.CreateSourceRepositoryProvider (),
				solutionManager.Settings,
				solutionManager);
		}
示例#7
0
        public AllPackagesViewModel(
            IMonoDevelopSolutionManager solutionManager,
            IDotNetProject dotNetProject,
            RecentNuGetPackagesRepository recentPackagesRepository)
        {
            this.solutionManager          = solutionManager;
            this.dotNetProject            = dotNetProject;
            this.recentPackagesRepository = recentPackagesRepository;
            PackageViewModels             = new ObservableCollection <PackageSearchResultViewModel> ();
            CheckedPackageViewModels      = new ObservableCollection <PackageSearchResultViewModel> ();
            ErrorMessage = String.Empty;

            packageManager = new NuGetPackageManager(
                solutionManager.CreateSourceRepositoryProvider(),
                solutionManager.Settings,
                solutionManager,
                new DeleteOnRestartManager()
                );

            if (dotNetProject.DotNetProject != null)
            {
                nugetProject = solutionManager.GetNuGetProject(dotNetProject);
                GetPackagesInstalledInProject();
            }
        }
        public RestoreAndCheckForUpdatesAction(Solution solution)
        {
            this.solution           = solution;
            packageManagementEvents = PackageManagementServices.PackageManagementEvents;

            solutionManager = PackageManagementServices.Workspace.GetSolutionManager(solution);
            solutionManager.ClearProjectCache();
            nugetProjects = solutionManager.GetNuGetProjects().ToList();

            // Use the same source repository provider for all restores and updates to prevent
            // the credential dialog from being displayed for each restore and updates.
            sourceRepositoryProvider = solutionManager.CreateSourceRepositoryProvider();

            if (AnyProjectsUsingPackagesConfig())
            {
                restoreManager = new PackageRestoreManager(
                    sourceRepositoryProvider,
                    solutionManager.Settings,
                    solutionManager
                    );
            }

            if (AnyDotNetCoreProjectsOrProjectsUsingProjectJson())
            {
                buildIntegratedRestorer = new MonoDevelopBuildIntegratedRestorer(
                    solutionManager,
                    sourceRepositoryProvider,
                    solutionManager.Settings);
            }

            if (AnyNuGetAwareProjects())
            {
                nugetAwareRestorer = new NuGetAwareProjectPackageRestoreManager(solutionManager);
            }
        }
        public RestoreAndCheckForUpdatesAction(Solution solution)
        {
            this.solution           = solution;
            packageManagementEvents = PackageManagementServices.PackageManagementEvents;

            solutionManager = new MonoDevelopSolutionManager(solution);

            // Use the same source repository provider for all restores and updates to prevent
            // the credential dialog from being displayed for each restore and updates.
            sourceRepositoryProvider = solutionManager.CreateSourceRepositoryProvider();
        }
		public MonoDevelopNuGetPackageManager (IMonoDevelopSolutionManager solutionManager)
		{
			var restartManager = new DeleteOnRestartManager ();

			settings = solutionManager.Settings;

			packageManager = new NuGetPackageManager (
				solutionManager.CreateSourceRepositoryProvider (),
				settings,
				solutionManager,
				restartManager
			);
		}
        public RestoreNuGetPackagesInNuGetIntegratedProject(
            DotNetProject project,
            BuildIntegratedNuGetProject nugetProject,
            IMonoDevelopSolutionManager solutionManager)
        {
            this.project            = project;
            this.nugetProject       = nugetProject;
            packageManagementEvents = PackageManagementServices.PackageManagementEvents;

            packageRestorer = new MonoDevelopBuildIntegratedRestorer(
                solutionManager.CreateSourceRepositoryProvider(),
                solutionManager.Settings);
        }
示例#12
0
        public ConsoleHostNuGetPackageManager(IMonoDevelopSolutionManager solutionManager)
        {
            var restartManager = new DeleteOnRestartManager();

            settings = solutionManager.Settings;

            packageManager = new NuGetPackageManager(
                solutionManager.CreateSourceRepositoryProvider(),
                settings,
                new MonoDevelopSolutionManagerWrapper(solutionManager),
                restartManager
                );
        }
		public RestoreNuGetPackagesInNuGetIntegratedProject (
			DotNetProject project,
			BuildIntegratedNuGetProject nugetProject,
			IMonoDevelopSolutionManager solutionManager)
		{
			this.project = project;
			this.nugetProject = nugetProject;
			packageManagementEvents = PackageManagementServices.PackageManagementEvents;

			packageRestorer = new MonoDevelopBuildIntegratedRestorer (
				solutionManager.CreateSourceRepositoryProvider (),
				solutionManager.Settings);
		}
		public UpdatedNuGetPackagesProvider (
			IDotNetProject dotNetProject,
			IMonoDevelopSolutionManager solutionManager,
			NuGetProject project,
			CancellationToken cancellationToken = default(CancellationToken))
		{
			this.dotNetProject = dotNetProject;
			this.project = project;

			var sourceRepositoryProvider = solutionManager.CreateSourceRepositoryProvider ();
			this.sourceRepositories = sourceRepositoryProvider.GetRepositories ().ToList ();

			this.cancellationToken = cancellationToken;
		}
        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);
		}
        public MonoDevelopNuGetPackageManager(IMonoDevelopSolutionManager solutionManager)
        {
            this.solutionManager = solutionManager;

            var restartManager = new DeleteOnRestartManager();

            settings = solutionManager.Settings;

            packageManager = new NuGetPackageManager(
                solutionManager.CreateSourceRepositoryProvider(),
                settings,
                solutionManager,
                restartManager
                );
        }
示例#18
0
        public UpdatedNuGetPackagesProvider(
            IDotNetProject dotNetProject,
            IMonoDevelopSolutionManager solutionManager,
            NuGetProject project,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            this.dotNetProject = dotNetProject;
            this.project       = project;

            var sourceRepositoryProvider = solutionManager.CreateSourceRepositoryProvider();

            this.sourceRepositories = sourceRepositoryProvider.GetRepositories().ToList();

            this.cancellationToken = cancellationToken;
        }
        public RestoreNuGetPackagesInProjectAction(
            DotNetProject project,
            NuGetProject nugetProject,
            IMonoDevelopSolutionManager solutionManager)
        {
            this.project         = project;
            this.nugetProject    = nugetProject;
            this.solutionManager = solutionManager;

            packageManagementEvents = PackageManagementServices.PackageManagementEvents;

            restoreManager = new PackageRestoreManager(
                solutionManager.CreateSourceRepositoryProvider(),
                solutionManager.Settings,
                solutionManager
                );
        }
示例#20
0
        public UpdateNuGetPackageAction(
            IMonoDevelopSolutionManager solutionManager,
            IDotNetProject dotNetProject,
            INuGetProjectContext projectContext,
            INuGetPackageManager packageManager,
            IPackageManagementEvents packageManagementEvents)
        {
            this.dotNetProject           = dotNetProject;
            this.context                 = projectContext;
            this.packageManager          = packageManager;
            this.packageManagementEvents = packageManagementEvents;

            project = solutionManager.GetNuGetProject(dotNetProject);

            sourceRepositoryProvider = solutionManager.CreateSourceRepositoryProvider();
            primarySources           = sourceRepositoryProvider.GetRepositories().ToList();
        }
        public UpdateMultipleNuGetPackagesAction(
            IEnumerable <SourceRepository> primarySources,
            IMonoDevelopSolutionManager solutionManager,
            INuGetProjectContext context,
            INuGetPackageManager packageManager,
            IPackageRestoreManager restoreManager,
            IPackageManagementEvents packageManagementEvents)
        {
            this.solutionManager         = solutionManager;
            this.context                 = context;
            this.packageManager          = packageManager;
            this.restoreManager          = restoreManager;
            this.packageManagementEvents = packageManagementEvents;

            this.primarySources = primarySources.ToList();
            secondarySources    = solutionManager.CreateSourceRepositoryProvider().GetRepositories().ToList();
        }
		public RestoreNuGetPackagesInProjectAction (
			DotNetProject project,
			NuGetProject nugetProject,
			IMonoDevelopSolutionManager solutionManager)
		{
			this.project = project;
			this.nugetProject = nugetProject;
			this.solutionManager = solutionManager;

			packageManagementEvents = PackageManagementServices.PackageManagementEvents;

			restoreManager = new PackageRestoreManager (
				solutionManager.CreateSourceRepositoryProvider (),
				solutionManager.Settings,
				solutionManager
			);
		}
示例#23
0
        IEnumerable <SourceRepositoryViewModel> GetPackageSources()
        {
            ISourceRepositoryProvider provider = solutionManager.CreateSourceRepositoryProvider();

            packageSourceProvider = provider.PackageSourceProvider;
            var repositories = provider.GetRepositories().ToList();

            if (repositories.Count > 1)
            {
                yield return(new AggregateSourceRepositoryViewModel(repositories));
            }

            foreach (SourceRepository repository in repositories)
            {
                yield return(new SourceRepositoryViewModel(repository));
            }
        }
		public UpdateNuGetPackageAction (
			IMonoDevelopSolutionManager solutionManager,
			IDotNetProject dotNetProject,
			INuGetProjectContext projectContext,
			INuGetPackageManager packageManager,
			IPackageManagementEvents packageManagementEvents)
		{
			this.dotNetProject = dotNetProject;
			this.context = projectContext;
			this.packageManager = packageManager;
			this.packageManagementEvents = packageManagementEvents;

			project = solutionManager.GetNuGetProject (dotNetProject);

			sourceRepositoryProvider = solutionManager.CreateSourceRepositoryProvider ();
			primarySources = sourceRepositoryProvider.GetRepositories ().ToList ();
		}
示例#25
0
        public static async Task Download(
            IMonoDevelopSolutionManager solutionManager,
            PackageIdentity packageIdentity,
            INuGetProjectContext context,
            CancellationToken token)
        {
            if (!IsMissing(solutionManager, packageIdentity))
            {
                return;
            }

            await PackageDownloader.GetDownloadResourceResultAsync(
                solutionManager.CreateSourceRepositoryProvider().GetRepositories(),
                packageIdentity,
                solutionManager.Settings,
                new LoggerAdapter (context),
                token);
        }
示例#26
0
        async Task <IEnumerable <NuGetProjectAction> > PreviewUpdateAllPackagesAsync(
            SourceCacheContext sourceCacheContext,
            CancellationToken token)
        {
            solutionManager = projects.FirstOrDefault().GetSolutionManager();
            nugetProjects   = projects
                              .Select(project => project.CreateNuGetProject(solutionManager))
                              .ToList();

            var repositoryProvider = solutionManager.CreateSourceRepositoryProvider();

            packageManager = new NuGetPackageManager(
                repositoryProvider,
                solutionManager.Settings,
                solutionManager,
                new DeleteOnRestartManager());

            var repositories = repositoryProvider.GetRepositories(message.PackageSources);

            projectContext = new ConsoleHostNuGetProjectContext(
                solutionManager.Settings,
                message.FileConflictAction.ToFileConflictActionEnum());

            var resolutionContext = new ResolutionContext(
                message.DependencyBehavior.ToDependencyBehaviorEnum(),
                message.AllowPrerelease,
                false,
                message.VersionConstraints.ToVersionContrainsEnum(),
                new GatherCache(),
                sourceCacheContext
                );

            return(await packageManager.PreviewUpdatePackagesAsync(
                       nugetProjects,
                       resolutionContext,
                       projectContext,
                       repositories,
                       repositories,          // Update-Package does not use all enabled package sources.
                       token
                       ).ConfigureAwait(false));
        }
示例#27
0
        public ManagePackagesViewModel(
            IMonoDevelopSolutionManager solutionManager,
            ISolution solution,
            INuGetProjectContext projectContext,
            RecentManagedNuGetPackagesRepository recentPackagesRepository,
            IDotNetProject project)
        {
            this.solutionManager          = solutionManager;
            this.projectContext           = projectContext;
            this.recentPackagesRepository = recentPackagesRepository;
            IsManagingSolution            = project == null;
            PackageViewModels             = new ObservableCollection <ManagePackagesSearchResultViewModel> ();
            CheckedPackageViewModels      = new ObservableCollection <ManagePackagesSearchResultViewModel> ();
            ProjectViewModels             = new ObservableCollection <ManageProjectViewModel> ();
            ErrorMessage = String.Empty;
            PageSelected = ManagePackagesPage.Browse;

            if (project != null)
            {
                dotNetProjects = new List <IDotNetProject> ();
                dotNetProjects.Add(project);
            }
            else
            {
                dotNetProjects = solution.GetAllProjects().ToList();
            }

            packageManager = new NuGetPackageManager(
                solutionManager.CreateSourceRepositoryProvider(),
                solutionManager.Settings,
                solutionManager,
                new DeleteOnRestartManager()
                );

            nugetProjects = dotNetProjects
                            .Select(dotNetProject => solutionManager.GetNuGetProject(dotNetProject))
                            .ToList();

            GetPackagesInstalledInProjects().Ignore();
        }
        public static async Task Download(
            IMonoDevelopSolutionManager solutionManager,
            PackageIdentity packageIdentity,
            INuGetProjectContext context,
            CancellationToken token)
        {
            if (!IsMissing(solutionManager, packageIdentity))
            {
                return;
            }

            using (var sourceCacheContext = new SourceCacheContext()) {
                var downloadContext = new PackageDownloadContext(sourceCacheContext);

                await PackageDownloader.GetDownloadResourceResultAsync(
                    solutionManager.CreateSourceRepositoryProvider().GetRepositories(),
                    packageIdentity,
                    downloadContext,
                    SettingsUtility.GetGlobalPackagesFolder(solutionManager.Settings),
                    new LoggerAdapter (context),
                    token);
            }
        }
示例#29
0
        async Task PrepareForExecute()
        {
            nugetProjects = (await solutionManager.GetNuGetProjectsAsync()).ToList();

            if (AnyProjectsUsingPackagesConfig())
            {
                restoreManager = new PackageRestoreManager(
                    solutionManager.CreateSourceRepositoryProvider(),
                    solutionManager.Settings,
                    solutionManager
                    );
            }

            if (AnyDotNetCoreProjectsOrProjectsUsingProjectJson())
            {
                buildIntegratedRestorer = new MonoDevelopBuildIntegratedRestorer(solutionManager);
            }

            if (AnyNuGetAwareProjects())
            {
                nugetAwareRestorer = new NuGetAwareProjectPackageRestoreManager(solutionManager);
            }
        }
示例#30
0
                #pragma warning restore 67

        public ISourceRepositoryProvider CreateSourceRepositoryProvider()
        {
            return(solutionManager.CreateSourceRepositoryProvider());
        }
示例#31
0
        async Task <IEnumerable <NuGetProjectAction> > PreviewUpdatePackagesAsync(
            SourceCacheContext sourceCacheContext,
            CancellationToken token)
        {
            solutionManager = projects.FirstOrDefault().GetSolutionManager();
            nugetProjects   = projects
                              .Select(project => project.CreateNuGetProject(solutionManager))
                              .ToList();

            IsPackageInstalled = await CheckPackageInstalled(token);

            if (!IsPackageInstalled)
            {
                return(Enumerable.Empty <NuGetProjectAction> ());
            }

            var repositoryProvider = solutionManager.CreateSourceRepositoryProvider();

            packageManager = new NuGetPackageManager(
                repositoryProvider,
                solutionManager.Settings,
                solutionManager,
                new DeleteOnRestartManager());

            var enabledRepositories = repositoryProvider.GetEnabledRepositories();

            var repositories = repositoryProvider.GetRepositories(message.PackageSources);

            projectContext = new ConsoleHostNuGetProjectContext(
                solutionManager.Settings,
                message.FileConflictAction.ToFileConflictActionEnum());

            var resolutionContext = new ResolutionContext(
                message.DependencyBehavior.ToDependencyBehaviorEnum(),
                message.AllowPrerelease,
                false,
                message.VersionConstraints.ToVersionContrainsEnum(),
                new GatherCache(),
                sourceCacheContext
                );

            if (!string.IsNullOrEmpty(message.PackageVersion))
            {
                var packageVersion = NuGetVersion.Parse(message.PackageVersion);

                return(await packageManager.PreviewUpdatePackagesAsync(
                           new PackageIdentity (message.PackageId, packageVersion),
                           nugetProjects,
                           resolutionContext,
                           projectContext,
                           repositories,
                           enabledRepositories,
                           token
                           ).ConfigureAwait(false));
            }
            else
            {
                return(await packageManager.PreviewUpdatePackagesAsync(
                           message.PackageId,
                           nugetProjects,
                           resolutionContext,
                           projectContext,
                           repositories,
                           enabledRepositories,
                           token
                           ).ConfigureAwait(false));
            }
        }
		public static async Task Download (
			IMonoDevelopSolutionManager solutionManager,
			PackageIdentity packageIdentity,
			INuGetProjectContext context,
			CancellationToken token)
		{
			if (!IsMissing (solutionManager, packageIdentity))
				return;

			await PackageDownloader.GetDownloadResourceResultAsync (
				solutionManager.CreateSourceRepositoryProvider ().GetRepositories (),
				packageIdentity,
				solutionManager.Settings,
				new LoggerAdapter (context),
				token);
		}
示例#33
0
 public IEnumerable <PackageSource> LoadPackageSources()
 {
     sourceRepositoryProvider = solutionManager.CreateSourceRepositoryProvider();
     return(sourceRepositoryProvider.PackageSourceProvider?.LoadPackageSources());
 }
        public async Task <IEnumerable <NuGetProjectAction> > PreviewInstallPackage(
            SourceCacheContext sourceCacheContext,
            CancellationToken token)
        {
            solutionManager = project.GetSolutionManager();
            nugetProject    = project.CreateNuGetProject(solutionManager);

            packageManager = new MonoDevelopNuGetPackageManager(solutionManager);

            var repositoryProvider = solutionManager.CreateSourceRepositoryProvider();
            var repositories       = repositoryProvider.GetRepositories(message.PackageSources);

            projectContext = new ConsoleHostNuGetProjectContext(
                solutionManager.Settings,
                message.FileConflictAction.ToFileConflictActionEnum());

            var dependencyBehavior = message.DependencyBehavior.ToDependencyBehaviorEnum();

            NuGetVersion version = null;

            if (string.IsNullOrEmpty(message.PackageVersion))
            {
                version = await GetLatestPackageVersion(repositories, dependencyBehavior, sourceCacheContext, token);
            }
            else
            {
                version = NuGetVersion.Parse(message.PackageVersion);
            }

            identity = new PackageIdentity(message.PackageId, version);

            var resolutionContext = new ResolutionContext(
                dependencyBehavior,
                message.AllowPrerelease,
                true,
                VersionConstraints.None,
                new GatherCache(),
                sourceCacheContext
                );

            try {
                return(await packageManager.PreviewInstallPackageAsync(
                           nugetProject,
                           identity,
                           resolutionContext,
                           projectContext,
                           repositories,
                           null,
                           token
                           ).ConfigureAwait(false));
            } catch (InvalidOperationException ex) {
                if (ex.InnerException is PackageAlreadyInstalledException)
                {
                    IsPackageAlreadyInstalled = true;
                    return(Enumerable.Empty <NuGetProjectAction> ());
                }
                else
                {
                    throw;
                }
            }
        }