async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            var buildIntegratedProject = project as IBuildIntegratedNuGetProject;

            actions = CreateUninstallActions();

            var buildAction = await packageManager.PreviewBuildIntegratedProjectActionsAsync(
                buildIntegratedProject,
                actions,
                context,
                cancellationToken);

            project.OnBeforeUninstall(actions);

            await packageManager.ExecuteNuGetProjectActionsAsync(
                project,
                new [] { buildAction },
                context,
                NullSourceCacheContext.Instance,
                cancellationToken);

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);
        }
示例#2
0
        async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            if (!IsErrorWhenPackageNotInstalled)
            {
                bool installed = await IsPackageInstalled(cancellationToken);

                if (!installed)
                {
                    ReportPackageNotInstalled();
                    return;
                }
            }

            actions = await packageManager.PreviewUninstallPackageAsync(
                project,
                PackageId,
                CreateUninstallationContext(),
                context,
                cancellationToken);

            project.OnBeforeUninstall(actions);

            await packageManager.ExecuteNuGetProjectActionsAsync(
                project,
                actions,
                context,
                NullSourceCacheContext.Instance,
                cancellationToken);

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);
        }
        async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            if (Version == null)
            {
                ResolvedPackage resolvedPackage = await GetLatestPackageVersion(PackageId, cancellationToken);

                Version = resolvedPackage?.LatestVersion;
            }

            var identity = new PackageIdentity(PackageId, Version);

            var resolutionContext = CreateResolutionContext();

            actions = await packageManager.PreviewInstallPackageAsync(
                project,
                identity,
                resolutionContext,
                context,
                primarySources,
                secondarySources,
                cancellationToken);

            if (LicensesMustBeAccepted)
            {
                await CheckLicenses(cancellationToken);
            }

            if (ShouldOpenReadmeFile(identity))
            {
                packageManager.SetDirectInstall(identity, context);
            }

            using (IDisposable fileMonitor = CreateFileMonitor()) {
                using (var referenceMaintainer = CreateProjectReferenceMaintainer()) {
                    await packageManager.ExecuteNuGetProjectActionsAsync(
                        project,
                        actions,
                        context,
                        resolutionContext.SourceCacheContext,
                        cancellationToken);

                    if (referenceMaintainer != null)
                    {
                        await referenceMaintainer.ApplyChanges();
                    }
                }
            }

            packageManager.ClearDirectInstall(context);

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);
        }
        async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            using (var sourceCacheContext = new SourceCacheContext()) {
                await RestoreAnyMissingPackagesAsync(sourceCacheContext, cancellationToken);

                var resolutionContext = CreateResolutionContext(sourceCacheContext);

                actions = await packageManager.PreviewUpdatePackagesAsync(
                    packagesToUpdate,
                    projects,
                    resolutionContext,
                    context,
                    primarySources,
                    secondarySources,
                    cancellationToken);

                if (!actions.Any())
                {
                    foreach (IDotNetProject project in dotNetProjects)
                    {
                        packageManagementEvents.OnNoUpdateFound(project);
                    }
                    return;
                }

                if (LicensesMustBeAccepted)
                {
                    await CheckLicensesAsync(cancellationToken);
                }

                using (IDisposable fileMonitor = CreateFileMonitor()) {
                    using (var referenceMaintainer = new ProjectReferenceMaintainerCollection(projects)) {
                        await packageManager.ExecuteNuGetProjectActionsAsync(
                            projects,
                            actions,
                            context,
                            sourceCacheContext,
                            cancellationToken);

                        await referenceMaintainer.ApplyChangesAsync();
                    }
                }

                OnAfterExecutionActions();

                await RunPostProcessAsync(cancellationToken);

                await OpenReadmeFilesAsync(cancellationToken);
            }
        }
        async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            if (Version == null)
            {
                Version = await GetLatestPackageVersion(PackageId, cancellationToken);
            }

            var identity = new PackageIdentity(PackageId, Version);

            actions = await packageManager.PreviewInstallPackageAsync(
                project,
                identity,
                CreateResolutionContext(),
                context,
                primarySources,
                secondarySources,
                cancellationToken);

            if (LicensesMustBeAccepted)
            {
                await CheckLicenses(cancellationToken);
            }

            if (OpenReadmeFile)
            {
                packageManager.SetDirectInstall(identity, context);
            }

            using (IDisposable fileMonitor = CreateFileMonitor()) {
                using (IDisposable referenceMaintainer = CreateLocalCopyReferenceMaintainer()) {
                    await packageManager.ExecuteNuGetProjectActionsAsync(
                        project,
                        actions,
                        context,
                        cancellationToken);
                }
            }

            packageManager.ClearDirectInstall(context);

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);
        }
        async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            var resolutionContext = CreateResolutionContext();

            actions = await packageManager.PreviewUpdatePackagesAsync(
                PackageId,
                project,
                resolutionContext,
                context,
                primarySources,
                new SourceRepository[0],
                cancellationToken);

            if (!actions.Any())
            {
                packageManagementEvents.OnNoUpdateFound(dotNetProject);
                return;
            }

            await CheckLicenses(cancellationToken);

            SetDirectInstall();

            using (IDisposable fileMonitor = CreateFileMonitor()) {
                using (var referenceMaintainer = new ProjectReferenceMaintainer(project)) {
                    await packageManager.ExecuteNuGetProjectActionsAsync(
                        project,
                        actions,
                        context,
                        resolutionContext.SourceCacheContext,
                        cancellationToken);

                    await referenceMaintainer.ApplyChanges();
                }
            }

            packageManager.ClearDirectInstall(context);

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);
        }
示例#7
0
        async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            actions = await packageManager.PreviewUninstallPackageAsync(
                project,
                PackageId,
                CreateUninstallationContext(),
                context,
                cancellationToken);

            project.OnBeforeUninstall(actions);

            await packageManager.ExecuteNuGetProjectActionsAsync(
                project,
                actions,
                context,
                cancellationToken);

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);
        }
        async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            await RestoreAnyMissingPackages(cancellationToken);

            var resolutionContext = CreateResolutionContext();

            actions = await packageManager.PreviewUpdatePackagesAsync(
                project,
                resolutionContext,
                context,
                primarySources,
                new SourceRepository[0],
                cancellationToken);

            if (!actions.Any())
            {
                packageManagementEvents.OnNoUpdateFound(dotNetProject);
                return;
            }

            await CheckLicenses(cancellationToken);

            using (IDisposable fileMonitor = CreateFileMonitor()) {
                using (IDisposable referenceMaintainer = CreateLocalCopyReferenceMaintainer()) {
                    await packageManager.ExecuteNuGetProjectActionsAsync(
                        project,
                        actions,
                        context,
                        resolutionContext.SourceCacheContext,
                        cancellationToken);
                }
            }

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);

            await OpenReadmeFiles(cancellationToken);
        }