Ejemplo n.º 1
0
            public static async Task <RestoreOperationProgressUI> StartAsync(
                IServiceProvider serviceProvider,
                JoinableTaskFactory jtf,
                CancellationToken token)
            {
                return(await jtf.RunAsync(async() =>
                {
                    await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();

                    var statusBar = serviceProvider.GetService <SVsStatusbar, IVsStatusbar>();

                    // Make sure the status bar is not frozen
                    int frozen;
                    statusBar.IsFrozen(out frozen);

                    if (frozen != 0)
                    {
                        statusBar.FreezeOutput(0);
                    }

                    statusBar.Animation(1, ref icon);

                    RestoreOperationProgressUI progress = new StatusBarProgress(statusBar, jtf);
                    progress.ReportProgress(Resources.RestoringPackages);

                    return progress;
                }));
            }
            public static async Task <RestoreOperationProgressUI> StartAsync(
                IAsyncServiceProvider asyncServiceProvider,
                JoinableTaskFactory jtf,
                CancellationToken token)
            {
                await jtf.SwitchToMainThreadAsync();

                var statusBar = await asyncServiceProvider.GetServiceAsync <SVsStatusbar, IVsStatusbar>();

                // Make sure the status bar is not frozen
                int frozen;

                statusBar.IsFrozen(out frozen);

                if (frozen != 0)
                {
                    statusBar.FreezeOutput(0);
                }

                statusBar.Animation(1, ref Icon);

                RestoreOperationProgressUI progress = new StatusBarProgress(statusBar, jtf);
                await progress.ReportProgressAsync(Resources.RestoringPackages);

                return(progress);
            }
Ejemplo n.º 3
0
        public async Task StartAsync(
            RestoreOperationSource operationSource,
            Lazy <ErrorListTableDataSource> errorListDataSource,
            JoinableTaskFactory jtf,
            CancellationTokenSource cts)
        {
            Assumes.Present(errorListDataSource);
            Assumes.Present(jtf);
            Assumes.Present(cts);

            _operationSource     = operationSource;
            _errorListDataSource = errorListDataSource;

            _jtc         = jtf.Context.CreateCollection();
            _taskFactory = jtf.Context.CreateFactory(_jtc);

            _externalCts = cts;
            _externalCts.Token.Register(() => _cancelled = true);

#if VS14
            _progressFactory = t => WaitDialogProgress.StartAsync(_serviceProvider, _taskFactory, t);
#else
            _progressFactory = t => StatusBarProgress.StartAsync(_serviceProvider, _taskFactory, t);
#endif

            await _taskFactory.RunAsync(async() =>
            {
                await _taskFactory.SwitchToMainThreadAsync();

                OutputVerbosity = GetMSBuildOutputVerbositySetting();

                switch (_operationSource)
                {
                case RestoreOperationSource.Implicit:     // background auto-restore
                    _outputConsole = _outputConsoleProvider.CreatePackageManagerConsole();
                    break;

                case RestoreOperationSource.OnBuild:
                    _outputConsole = _outputConsoleProvider.CreateBuildOutputConsole();
                    _outputConsole.Activate();
                    break;

                case RestoreOperationSource.Explicit:
                    _outputConsole = _outputConsoleProvider.CreatePackageManagerConsole();
                    _outputConsole.Activate();
                    _outputConsole.Clear();
                    break;
                }
            });

            if (_errorListDataSource.IsValueCreated)
            {
                // Clear old entries
                _errorListDataSource.Value.ClearNuGetEntries();
            }
        }
Ejemplo n.º 4
0
        public async Task StartAsync(
            RestoreOperationSource operationSource,
            Lazy <INuGetErrorList> errorList,
            JoinableTaskFactory jtf,
            CancellationTokenSource cts)
        {
            Assumes.Present(errorList);
            Assumes.Present(jtf);
            Assumes.Present(cts);

            _operationSource = operationSource;
            _errorList       = errorList;

            _jtc         = jtf.Context.CreateCollection();
            _taskFactory = jtf.Context.CreateFactory(_jtc);

            _externalCts = cts;
            _externalCts.Token.Register(() => _cancelled = true);

            _progressFactory = t => StatusBarProgress.StartAsync(_asyncServiceProvider, _taskFactory, t);

            await _taskFactory.RunAsync(async() =>
            {
                OutputVerbosity = await GetMSBuildOutputVerbositySettingAsync();

                switch (_operationSource)
                {
                case RestoreOperationSource.Implicit:     // background auto-restore
                    _outputConsole = await _outputConsoleProvider.Value.CreatePackageManagerConsoleAsync();
                    break;

                case RestoreOperationSource.OnBuild:
                    _outputConsole = await _outputConsoleProvider.Value.CreateBuildOutputConsoleAsync();
                    await _outputConsole.ActivateAsync();
                    break;

                case RestoreOperationSource.Explicit:
                    _outputConsole = await _outputConsoleProvider.Value.CreatePackageManagerConsoleAsync();
                    await _outputConsole.ActivateAsync();
                    await _outputConsole.ClearAsync();
                    break;
                }
            });

            if (_errorList.IsValueCreated)
            {
                // Clear old entries
                _errorList.Value.ClearNuGetEntries();
            }
        }