/// <summary> /// Returns single package identity for resolver when Id is specified /// </summary> /// <returns></returns> private List <PackageIdentity> GetPackageIdentityForResolver() { PackageIdentity identity = null; // If Version is specified by commandline parameter if (!string.IsNullOrEmpty(Version)) { NuGetVersion nVersion = PowerShellPackage.GetNuGetVersionFromString(Version); PackageIdentity pIdentity = new PackageIdentity(Id, nVersion); identity = Client.PackageRepositoryHelper.ResolvePackage(ActiveSourceRepository, V2LocalRepository, pIdentity, IncludePrerelease.IsPresent); } else { // Get the latest Version from package repository. IEnumerable <FrameworkName> frameworks = this.Projects.FirstOrDefault().GetSupportedFrameworks(); Version = PowerShellPackage.GetLastestVersionForPackage(ActiveSourceRepository, Id, frameworks, IncludePrerelease.IsPresent); identity = new PackageIdentity(Id, NuGetVersion.Parse(Version)); } return(new List <PackageIdentity>() { identity }); }
protected override void ProcessRecordCore() { Preprocess(); JObject package = null; try { if (Version == null || string.IsNullOrEmpty(Version.ToString())) { string latestVersion = PowerShellPackage.GetLastestVersionForPackage(ActiveSourceRepository, Id, Enumerable.Empty <FrameworkName>(), true); Version = new SemanticVersion(latestVersion); } package = PowerShellPackage.GetPackageByIdAndVersion(ActiveSourceRepository, Id, Version.ToString(), true); } catch (InvalidOperationException) { } if (package != null) { Uri targetUrl; if (License.IsPresent) { targetUrl = GetUri(package, Properties.LicenseUrl); } else if (ReportAbuse.IsPresent) { // TODO: ReportAbuseUrl is not exposed in the package registration. //targetUrl = GetUri(package, Properties.ReportAbuseUrl); targetUrl = null; } else { targetUrl = GetUri(package, Properties.ProjectUrl); } if (targetUrl != null) { OpenUrl(targetUrl); if (PassThru.IsPresent) { WriteObject(targetUrl); } } else { WriteError(String.Format(CultureInfo.CurrentCulture, Resources.Cmdlet_UrlMissing, Id + " " + Version)); } } else { // show appropriate error message depending on whether Version parameter is set. if (Version == null) { WriteError(String.Format(CultureInfo.CurrentCulture, Resources.Cmdlet_PackageIdNotFound, Id)); } else { WriteError(String.Format(CultureInfo.CurrentCulture, Resources.Cmdlet_PackageIdAndVersionNotFound, Id, Version)); } } }