internal static void InstallNuGetPackage(PackageJson package, string fastPath, PackageSourceListRequest request) { request.Debug(Resources.Messages.DebugInfoCallMethod, Constants.ProviderName, string.Format(CultureInfo.InvariantCulture, "InstallNuGetPackage' - name='{0}', fastPath='{1}'", package.Name, fastPath)); var canonicalId = PackageSourceListRequest.CreateCanonicalId(package, Constants.ProviderNames.NuGet); // "nuget:jquery/2.1.0#http://nuget.org/api/v2"; var pkgs = request.PackageManagementService.FindPackageByCanonicalId(canonicalId, request.As<IHostApi>()) .Where(each => string.IsNullOrWhiteSpace(package.Version) || (new SemanticVersion(each.Version) == new SemanticVersion(package.Version))).ToArray(); switch (pkgs.Length) { case 0: request.Warning(Resources.Messages.CannotFindPackage, Constants.ProviderName, canonicalId); return; case 1: InstallPackageReference(package, request, pkgs); return; default: request.Warning(Resources.Messages.FoundMorePackages, Constants.ProviderName, pkgs.Length, canonicalId); return; } }
internal static void InstallNuGetPackage(PackageJson package, string fastPath, PackageSourceListRequest request) { request.Debug(Resources.Messages.DebugInfoCallMethod, Constants.ProviderName, string.Format(CultureInfo.InvariantCulture, "InstallNuGetPackage' - name='{0}', fastPath='{1}'", package.Name, fastPath)); var canonicalId = PackageSourceListRequest.CreateCanonicalId(package, Constants.ProviderNames.NuGet); // "nuget:jquery/2.1.0#http://nuget.org/api/v2"; var pkgs = request.PackageManagementService.FindPackageByCanonicalId(canonicalId, request.As <IHostApi>()) .Where(each => string.IsNullOrWhiteSpace(package.Version) || (new SemanticVersion(each.Version) == new SemanticVersion(package.Version))).ToArray(); switch (pkgs.Length) { case 0: request.Warning(Resources.Messages.CannotFindPackage, Constants.ProviderName, canonicalId); return; case 1: InstallPackageReference(package, request, pkgs); return; default: request.Warning(Resources.Messages.FoundMorePackages, Constants.ProviderName, pkgs.Length, canonicalId); return; } }
internal static void DownloadNuGetPackage(string fastPath, string location, PackageSourceListRequest request) { if (request == null) { throw new ArgumentNullException("request"); } request.Debug(Resources.Messages.DebugInfoCallMethod, Constants.ProviderName, string.Format(CultureInfo.InvariantCulture, "DownloadNuGetPackage' - fastReference='{0}', location='{1}'", fastPath, location)); var package = request.GetPackageByFastPath(fastPath); if (package == null) { request.WriteError(ErrorCategory.InvalidData, fastPath, Resources.Messages.FailedToGetPackageObject, Constants.ProviderName, fastPath); return; } // let the core figure out how to save this package var canonicalId = PackageSourceListRequest.CreateCanonicalId(package, Constants.ProviderNames.NuGet); // "nuget:jquery/2.1.0#http://nuget.org/api/v2"; var pkgs = request.PackageManagementService.FindPackageByCanonicalId(canonicalId, request.As<IHostApi>()) .Where(each => string.IsNullOrWhiteSpace(package.Version) || (new SemanticVersion(each.Version) == new SemanticVersion(package.Version))).ToArray(); switch (pkgs.Length) { case 0: request.Warning(Resources.Messages.CannotFindPackage, Constants.ProviderName, canonicalId); return; case 1: var provider = request.PackageManagementService.GetAvailableProviders(request, new[] {"NuGet"}).FirstOrDefault(); if (provider != null) { var downloadrequest = PackageSourceListRequest.ExtendRequest( new Dictionary<string, string[]> { {"Destination", new[] {package.Destination ?? ""}} }, new[] {package.Source ?? ""}, package.IsTrustedSource, request); var downloading = provider.DownloadPackage(pkgs[0], location, downloadrequest); foreach (var i in downloading) { request.YieldSoftwareIdentity(i.FastPackageReference, i.Name, i.Version, i.VersionScheme, i.Summary, i.Source, i.SearchKey, i.FullPath, i.PackageFilename); if (request.IsCanceled) { downloading.Cancel(); } } } break; default: request.Warning(Resources.Messages.FoundMorePackages, Constants.ProviderName, pkgs.Length, canonicalId); return; } }
internal static void DownloadNuGetPackage(string fastPath, string location, PackageSourceListRequest request) { if (request == null) { throw new ArgumentNullException("request"); } request.Debug(Resources.Messages.DebugInfoCallMethod, Constants.ProviderName, string.Format(CultureInfo.InvariantCulture, "DownloadNuGetPackage' - fastReference='{0}', location='{1}'", fastPath, location)); var package = request.GetPackageByFastPath(fastPath); if (package == null) { request.WriteError(ErrorCategory.InvalidData, fastPath, Resources.Messages.FailedToGetPackageObject, Constants.ProviderName, fastPath); return; } // let the core figure out how to save this package var canonicalId = PackageSourceListRequest.CreateCanonicalId(package, Constants.ProviderNames.NuGet); // "nuget:jquery/2.1.0#http://nuget.org/api/v2"; var pkgs = request.PackageManagementService.FindPackageByCanonicalId(canonicalId, request.As <IHostApi>()) .Where(each => string.IsNullOrWhiteSpace(package.Version) || (new SemanticVersion(each.Version) == new SemanticVersion(package.Version))).ToArray(); switch (pkgs.Length) { case 0: request.Warning(Resources.Messages.CannotFindPackage, Constants.ProviderName, canonicalId); return; case 1: var provider = request.PackageManagementService.GetAvailableProviders(request, new[] { "NuGet" }).FirstOrDefault(); if (provider != null) { var donwloadrequest = PackageSourceListRequest.ExtendRequest( new Dictionary <string, string[]> { { "Destination", new[] { package.Destination ?? "" } } }, new[] { package.Source ?? "" }, package.IsTrustedSource, request); var downloading = provider.DownloadPackage(pkgs[0], location, donwloadrequest); foreach (var i in downloading) { request.YieldSoftwareIdentity(i.FastPackageReference, i.Name, i.Version, i.VersionScheme, i.Summary, i.Source, i.SearchKey, i.FullPath, i.PackageFilename); if (request.IsCanceled) { downloading.Cancel(); } } } break; default: request.Warning(Resources.Messages.FoundMorePackages, Constants.ProviderName, pkgs.Length, canonicalId); return; } }