Skip to content

Rename PSResourceInfo's PrereleaseLabel property to match Prerelease column displayed #591

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion help/Get-PSResource.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ PSResourceInfo : {
Name
PackageManagementProvider
PowerShellGetFormatVersion
PrereleaseLabel
Prerelease
ProjectUri
PublishedDate
ReleaseNotes
Expand Down
4 changes: 2 additions & 2 deletions src/PSGet.Format.ps1xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<TableColumnItems>
<TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>Version</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>PrereleaseLabel</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>Prerelease</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>Repository</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>Description</PropertyName></TableColumnItem>
</TableColumnItems>
Expand Down Expand Up @@ -53,7 +53,7 @@
<TableColumnItems>
<TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>
<TableColumnItem><ScriptBlock>$_.ParentResource.Version</ScriptBlock></TableColumnItem>
<TableColumnItem><ScriptBlock>$_.ParentResource.PrereleaseLabel</ScriptBlock></TableColumnItem>
<TableColumnItem><ScriptBlock>$_.ParentResource.Prerelease</ScriptBlock></TableColumnItem>
<TableColumnItem><ScriptBlock>$_.ParentResource.Name</ScriptBlock></TableColumnItem>
<TableColumnItem><ScriptBlock>$_.ParentResource.Repository</ScriptBlock></TableColumnItem>
</TableColumnItems>
Expand Down
6 changes: 3 additions & 3 deletions src/code/InstallHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ private List<PSResourceInfo> InstallPackage(
string createFullVersion = pkg.Version.ToString();
if (pkg.IsPrerelease)
{
createFullVersion = pkg.Version.ToString() + "-" + pkg.PrereleaseLabel;
createFullVersion = pkg.Version.ToString() + "-" + pkg.Prerelease;
}

if (!NuGetVersion.TryParse(createFullVersion, out NuGetVersion pkgVersion))
Expand Down Expand Up @@ -449,11 +449,11 @@ private List<PSResourceInfo> InstallPackage(

// pkgIdentity.Version.Version gets the version without metadata or release labels.
string newVersion = pkgIdentity.Version.ToNormalizedString();
string normalizedVersionNoPrereleaseLabel = newVersion;
string normalizedVersionNoPrerelease = newVersion;
if (pkgIdentity.Version.IsPrerelease)
{
// eg: 2.0.2
normalizedVersionNoPrereleaseLabel = pkgIdentity.Version.ToNormalizedString().Substring(0, pkgIdentity.Version.ToNormalizedString().IndexOf('-'));
normalizedVersionNoPrerelease = pkgIdentity.Version.ToNormalizedString().Substring(0, pkgIdentity.Version.ToNormalizedString().IndexOf('-'));
}

string tempDirNameVersion = isLocalRepo ? tempInstallPath : Path.Combine(tempInstallPath, pkgIdentity.Id.ToLower(), newVersion);
Expand Down
4 changes: 2 additions & 2 deletions src/code/InstallPSResource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class InstallPSResource : PSCmdlet
/// <summary>
/// Prevents installing a package that contains cmdlets that already exist on the machine.
/// </summary>
[Parameter]
[Parameter]
public SwitchParameter NoClobber { get; set; }

/// <summary>
Expand Down Expand Up @@ -166,7 +166,7 @@ protected override void ProcessRecord()
break;

case InputObjectParameterSet:
string normalizedVersionString = Utils.GetNormalizedVersionString(InputObject.Version.ToString(), InputObject.PrereleaseLabel);
string normalizedVersionString = Utils.GetNormalizedVersionString(InputObject.Version.ToString(), InputObject.Prerelease);
if (!Utils.TryParseVersionOrVersionRange(normalizedVersionString, out _versionRange))
{
var exMessage = String.Format("Version '{0}' for resource '{1}' cannot be parsed.", normalizedVersionString, InputObject.Name);
Expand Down
24 changes: 12 additions & 12 deletions src/code/PSResourceInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ public sealed class PSResourceInfo
public string Name { get; }
public string PackageManagementProvider { get; }
public string PowerShellGetFormatVersion { get; }
public string PrereleaseLabel { get; }
public string Prerelease { get; }
public Uri ProjectUri { get; }
public DateTime? PublishedDate { get; }
public string ReleaseNotes { get; }
Expand Down Expand Up @@ -280,7 +280,7 @@ private PSResourceInfo(
string name,
string packageManagementProvider,
string powershellGetFormatVersion,
string prereleaseLabel,
string prerelease,
Uri projectUri,
DateTime? publishedDate,
string releaseNotes,
Expand All @@ -306,7 +306,7 @@ private PSResourceInfo(
Name = name ?? string.Empty;
PackageManagementProvider = packageManagementProvider ?? string.Empty;
PowerShellGetFormatVersion = powershellGetFormatVersion ?? string.Empty;
PrereleaseLabel = prereleaseLabel ?? string.Empty;
Prerelease = prerelease ?? string.Empty;
ProjectUri = projectUri;
PublishedDate = publishedDate;
ReleaseNotes = releaseNotes ?? string.Empty;
Expand Down Expand Up @@ -394,7 +394,7 @@ public static bool TryRead(
filePath));

var additionalMetadata = GetProperty<Dictionary<string,string>>(nameof(PSResourceInfo.AdditionalMetadata), psObjectInfo);
Version version = GetVersionInfo(psObjectInfo, additionalMetadata, out string prereleaseLabel);
Version version = GetVersionInfo(psObjectInfo, additionalMetadata, out string prerelease);

psGetInfo = new PSResourceInfo(
additionalMetadata: additionalMetadata,
Expand All @@ -412,7 +412,7 @@ public static bool TryRead(
name: GetStringProperty(nameof(PSResourceInfo.Name), psObjectInfo),
packageManagementProvider: GetStringProperty(nameof(PSResourceInfo.PackageManagementProvider), psObjectInfo),
powershellGetFormatVersion: GetStringProperty(nameof(PSResourceInfo.PowerShellGetFormatVersion), psObjectInfo),
prereleaseLabel: prereleaseLabel,
prerelease: prerelease,
projectUri: GetProperty<Uri>(nameof(PSResourceInfo.ProjectUri), psObjectInfo),
publishedDate: GetProperty<DateTime>(nameof(PSResourceInfo.PublishedDate), psObjectInfo),
releaseNotes: GetStringProperty(nameof(PSResourceInfo.ReleaseNotes), psObjectInfo),
Expand Down Expand Up @@ -449,10 +449,10 @@ private static string GetStringProperty(
private static Version GetVersionInfo(
PSObject psObjectInfo,
Dictionary<string, string> additionalMetadata,
out string prereleaseLabel)
out string prerelease)
{
string versionString = GetProperty<string>(nameof(PSResourceInfo.Version), psObjectInfo);
prereleaseLabel = String.Empty;
prerelease = String.Empty;

if (!String.IsNullOrEmpty(versionString) ||
additionalMetadata.TryGetValue("NormalizedVersion", out versionString))
Expand All @@ -472,15 +472,15 @@ private static Version GetVersionInfo(
// versionStringParsed.Length > 1 (because string contained '-' so couldn't be 0)
// versionString: "1.2.0-alpha1"
pkgVersion = versionStringParsed[0];
prereleaseLabel = versionStringParsed[1];
prerelease = versionStringParsed[1];
}
}

// at this point, version is normalized (i.e either "1.2.0" (if part of prerelease) or "1.2.0.0" otherwise)
// parse the pkgVersion parsed out above into a System.Version object
if (!Version.TryParse(pkgVersion, out Version parsedVersion))
{
prereleaseLabel = String.Empty;
prerelease = String.Empty;
return null;
}
else
Expand All @@ -491,7 +491,7 @@ private static Version GetVersionInfo(

// version could not be parsed as string, it was written to XML file as a System.Version object
// V3 code briefly did so, I believe so we provide support for it
prereleaseLabel = String.Empty;
prerelease = String.Empty;
return GetProperty<Version>(nameof(PSResourceInfo.Version), psObjectInfo);
}

Expand Down Expand Up @@ -536,7 +536,7 @@ public static bool TryConvert(
name: ParseMetadataName(metadataToParse),
packageManagementProvider: null,
powershellGetFormatVersion: null,
prereleaseLabel: ParsePrerelease(metadataToParse),
prerelease: ParsePrerelease(metadataToParse),
projectUri: ParseMetadataProjectUri(metadataToParse),
publishedDate: ParseMetadataPublishedDate(metadataToParse),
releaseNotes: null,
Expand Down Expand Up @@ -887,7 +887,7 @@ private PSObject ConvertToCustomObject()
{
// 1.0.0-alpha1
// 1.0.0.0
string NormalizedVersion = IsPrerelease ? ConcatenateVersionWithPrerelease(Version.ToString(), PrereleaseLabel) : Version.ToString();
string NormalizedVersion = IsPrerelease ? ConcatenateVersionWithPrerelease(Version.ToString(), Prerelease) : Version.ToString();

var additionalMetadata = new PSObject();

Expand Down
12 changes: 6 additions & 6 deletions src/code/SavePSResource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,11 @@ public string Path
[Parameter]
public SwitchParameter SkipDependencyCheck { get; set; }

/// <summary>
/// Suppresses progress information.
/// </summary>
[Parameter(ParameterSetName = NameParameterSet)]
[Parameter(ParameterSetName = InputObjectParameterSet)]
/// <summary>
/// Suppresses progress information.
/// </summary>
[Parameter(ParameterSetName = NameParameterSet)]
[Parameter(ParameterSetName = InputObjectParameterSet)]
public SwitchParameter Quiet { get; set; }

#endregion
Expand Down Expand Up @@ -183,7 +183,7 @@ protected override void ProcessRecord()
break;

case InputObjectParameterSet:
string normalizedVersionString = Utils.GetNormalizedVersionString(InputObject.Version.ToString(), InputObject.PrereleaseLabel);
string normalizedVersionString = Utils.GetNormalizedVersionString(InputObject.Version.ToString(), InputObject.Prerelease);
if (!Utils.TryParseVersionOrVersionRange(normalizedVersionString, out _versionRange))
{
var exMessage = String.Format("Version '{0}' for resource '{1}' cannot be parsed.", normalizedVersionString, InputObject.Name);
Expand Down
4 changes: 2 additions & 2 deletions src/code/UninstallPSResource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,8 @@ protected override void ProcessRecord()
break;

case InputObjectParameterSet:
string inputObjectPrereleaseLabel = InputObject.PrereleaseLabel;
string inputObjectVersion = String.IsNullOrEmpty(inputObjectPrereleaseLabel) ? InputObject.Version.ToString() : Utils.GetNormalizedVersionString(versionString: InputObject.Version.ToString(), prerelease: inputObjectPrereleaseLabel);
string inputObjectPrerelease = InputObject.Prerelease;
string inputObjectVersion = String.IsNullOrEmpty(inputObjectPrerelease) ? InputObject.Version.ToString() : Utils.GetNormalizedVersionString(versionString: InputObject.Version.ToString(), prerelease: inputObjectPrerelease);
if (!Utils.TryParseVersionOrVersionRange(
version: inputObjectVersion,
versionRange: out _versionRange))
Expand Down
4 changes: 2 additions & 2 deletions src/code/Utils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,10 @@ public static bool GetVersionForInstallPath(
}

string version = psGetInfo.Version.ToString();
string prereleaseLabel = psGetInfo.PrereleaseLabel;
string prerelease = psGetInfo.Prerelease;

if (!NuGetVersion.TryParse(
value: String.IsNullOrEmpty(prereleaseLabel) ? version : GetNormalizedVersionString(version, prereleaseLabel),
value: String.IsNullOrEmpty(prerelease) ? version : GetNormalizedVersionString(version, prerelease),
version: out pkgNuGetVersion))
{
cmdletPassedIn.WriteVerbose(String.Format("Leaf directory in path '{0}' cannot be parsed into a version.", installedPkgPath));
Expand Down
2 changes: 1 addition & 1 deletion test/FindPSResource.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ Describe 'Test Find-PSResource for Module' {

$resPrerelease = Find-PSResource -Name $testModuleName -Prerelease -Repository $TestGalleryName
$resPrerelease.Version | Should -Be "5.2.5.0"
$resPrerelease.PrereleaseLabel | Should -Be "alpha001"
$resPrerelease.Prerelease | Should -Be "alpha001"
}

It "find resources, including Prerelease version resources, when given Prerelease parameter" {
Expand Down
4 changes: 2 additions & 2 deletions test/GetInstalledPSResource.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ $testCases =
$res = Get-PSResource -Name $testModuleName -Version "5.2.5-alpha001"
$res.Name | Should -Be $testModuleName
$res.Version | Should -Be "5.2.5"
$res.PrereleaseLabel | Should -Be "alpha001"
$res.Prerelease | Should -Be "alpha001"
}

It "Get prerelease version script when version with correct prerelease label is specified" {
Expand All @@ -127,6 +127,6 @@ $testCases =
$res = Get-PSResource -Name $testScriptName -Version "3.0.0-alpha001"
$res.Name | Should -Be $testScriptName
$res.Version | Should -Be "3.0.0"
$res.PrereleaseLabel | Should -Be "alpha001"
$res.Prerelease | Should -Be "alpha001"
}
}
2 changes: 1 addition & 1 deletion test/PSGetTestUtils.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,7 @@ function CheckForExpectedPSGetInfo
$psGetInfo.Description | Should -BeLike 'This module provides a convenient way for a user to store*'
$psGetInfo.IconUri | Should -BeNullOrEmpty
$psGetInfo.IsPrerelease | Should -Be $True
$psGetInfo.PrereleaseLabel | Should -Be "preview2"
$psGetInfo.Prerelease | Should -Be "preview2"
$psGetInfo.Includes.Cmdlet | Should -HaveCount 10
$psGetInfo.Includes.Cmdlet[0] | Should -BeExactly 'Register-SecretVault'
$psGetInfo.InstalledDate.Year | Should -BeExactly 2021
Expand Down
2 changes: 1 addition & 1 deletion test/UpdatePSResource.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ Describe 'Test Update-PSResource' {
{
if ([System.Version]$pkg.Version -gt [System.Version]"1.0.2.0")
{
$pkg.PrereleaseLabel | Should -Be "alpha1"
$pkg.Prerelease | Should -Be "alpha1"
$isPkgUpdated = $true
}
}
Expand Down