protected virtual void Preprocess() { CheckSolutionIsOpen(); UpdateActiveSourceRepository(Source); DetermineFileConflictAction(); ParseUserInputForVersion(); if (!projectSpecified) { projects = ConsoleHost.GetNuGetProjects().ToList(); } else { NuGetProject project = ConsoleHost.GetNuGetProject(ProjectName); if (project == null) { ThrowProjectNotOpenTerminatingError(); } projects = new List <NuGetProject> { project }; } if (Reinstall) { ActionType = NuGetActionType.Reinstall; } else { ActionType = NuGetActionType.Update; } }
List <NuGetProject> GetNuGetProjects() { if (HasSelectedProjectName()) { return new List <NuGetProject> { ConsoleHost.GetNuGetProject(ProjectName) } } ; return(ConsoleHost.GetNuGetProjects().ToList()); } bool HasSelectedProjectName() { return(ProjectName != null); } void WriteInstalledPackages() { CheckSolutionIsOpen(); var packagesToDisplay = GetInstalledPackagesAsync(projects, Filter, Skip, First, ConsoleHost.Token); WriteInstalledPackages(packagesToDisplay.Result); } void WriteInstalledPackages(Dictionary <NuGetProject, IEnumerable <NuGet.Packaging.PackageReference> > packages) { List <PowerShellInstalledPackage> view = PowerShellInstalledPackage.GetPowerShellPackageView(packages, ConsoleHost.SolutionManager, ConsoleHost.Settings); if (view.Any()) { WritePackagesToOutputPipeline(view); } else { Log(MessageLevel.Info, GettextCatalog.GetString("No packages installed.")); } }
async Task ExecuteInitScriptsAsync() { var projects = ConsoleHost.GetNuGetProjects().ToList(); var packageManager = ConsoleHost.CreatePackageManager(); var packagesByFramework = new Dictionary <NuGetFramework, HashSet <PackageIdentity> > (); var sortedGlobalPackages = new List <PackageIdentity>(); foreach (var project in projects) { var buildIntegratedProject = project as BuildIntegratedNuGetProject; if (buildIntegratedProject != null) { var packages = await BuildIntegratedProjectUtility .GetOrderedProjectPackageDependencies(buildIntegratedProject); sortedGlobalPackages.AddRange(packages); } else { // Read packages.config var installedRefs = await project.GetInstalledPackagesAsync(CancellationToken.None); if (installedRefs?.Any() == true) { // Index packages.config references by target framework since this affects dependencies NuGetFramework targetFramework; if (!project.TryGetMetadata(NuGetProjectMetadataKeys.TargetFramework, out targetFramework)) { targetFramework = NuGetFramework.AnyFramework; } HashSet <PackageIdentity> fwPackages; if (!packagesByFramework.TryGetValue(targetFramework, out fwPackages)) { fwPackages = new HashSet <PackageIdentity> (); packagesByFramework.Add(targetFramework, fwPackages); } fwPackages.UnionWith(installedRefs.Select(reference => reference.PackageIdentity)); } } } // Each id/version should only be executed once var finishedPackages = new HashSet <PackageIdentity>(); // Packages.config projects if (packagesByFramework.Count > 0) { await ExecuteInitPs1ForPackagesConfig( packageManager, packagesByFramework, finishedPackages); } // build integrated projects if (sortedGlobalPackages.Count > 0) { ExecuteInitPs1ForBuildIntegrated( sortedGlobalPackages, finishedPackages); } }