private async Task RestorePackagesForSolutionAsync(ISolutionProjectModel projectViewModel, IServiceSettings settings, CancellationToken cancellationToken) { if (!IsCancelled(projectViewModel, cancellationToken)) { NugetServiceSettings nugetServiceSettings = settings.GetSettingsFromProvider <NugetServiceSettings>(projectViewModel); using (new PauseCheckedActionScope(() => projectViewModel.CurrentOperation = Operations.NugetRestore, () => projectViewModel.CurrentOperation = Operations.None, cancellationToken)) { var externalActionService = serviceProvider.Get <ExternalActionService>(); await externalActionService.RunExternalPreActions(projectViewModel, this, cancellationToken : cancellationToken); if (nugetServiceSettings.NugetAction == NugetAction.Restore || nugetServiceSettings.NugetAction == NugetAction.InstallAndRestore) { await NugetRestoreAsync(projectViewModel, settings, cancellationToken); } if (nugetServiceSettings.NugetAction == NugetAction.Install || nugetServiceSettings.NugetAction == NugetAction.InstallAndRestore) { await NugetInstallAsync(projectViewModel, settings, cancellationToken); } if (nugetServiceSettings.NugetAction == NugetAction.Reinstall) { await NugetReinstallAsync(projectViewModel, settings, cancellationToken); } await externalActionService.RunExternalPostActions(projectViewModel, this, true, cancellationToken : cancellationToken); statusService.IncrementStep(); } } }
private string GetBatchScript(ISolutionProjectModel model, IServiceSettings settings) { NugetServiceSettings nugetServiceSettings = settings.GetSettingsFromProvider <NugetServiceSettings>(model); return(new StringBuilder() .AppendLineWhen($"\"{NugetExe(model, settings)}\" restore \"{model.ItemPath}\"", s => nugetServiceSettings.NugetAction == NugetAction.Restore || nugetServiceSettings.NugetAction == NugetAction.InstallAndRestore) .AppendLinesWhen(Directory.EnumerateFiles(model.SolutionFolder, "packages.config", SearchOption.AllDirectories) .Select(s => new FileInfo(s)) .Select(file => $"\"{NugetExe(model, settings)}\" install \"{file.FullName}\" -OutputDirectory \"{file.Directory.Parent.FullName}\\packages\""), s => nugetServiceSettings.NugetAction == NugetAction.Install || nugetServiceSettings.NugetAction == NugetAction.InstallAndRestore).ToString()); }