Skip to content

Commit 1ad7adf

Browse files
authored
Fix issue with centralPackageFloatingVersionsEnabled not being read from the dgspec (release/7.0.x) (#6957)
1 parent 0aa037c commit 1ad7adf

3 files changed

Lines changed: 38 additions & 7 deletions

File tree

build/config.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<!-- when changing any of the NuGetVersion props below, run tools-local\ship-public-apis -->
1515
<MajorNuGetVersion Condition="'$(MajorNuGetVersion)' == ''">7</MajorNuGetVersion>
1616
<MinorNuGetVersion Condition="'$(MinorNuGetVersion)' == ''">0</MinorNuGetVersion>
17-
<PatchNuGetVersion Condition="'$(PatchNuGetVersion)' == ''">0</PatchNuGetVersion>
17+
<PatchNuGetVersion Condition="'$(PatchNuGetVersion)' == ''">1</PatchNuGetVersion>
1818
<SemanticVersion Condition=" '$(SemanticVersion)' == '' ">$(MajorNuGetVersion).$(MinorNuGetVersion).$(PatchNuGetVersion)</SemanticVersion>
1919

2020
<!-- ** Change for each new preview/rc -->

src/NuGet.Core/NuGet.ProjectModel/JsonPackageSpecReader.Utf8JsonStreamReader.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public partial class JsonPackageSpecReader
4444
private static readonly byte[] CentralPackageVersionsManagementEnabledPropertyName = Encoding.UTF8.GetBytes("centralPackageVersionsManagementEnabled");
4545
private static readonly byte[] CentralPackageVersionOverrideDisabledPropertyName = Encoding.UTF8.GetBytes("centralPackageVersionOverrideDisabled");
4646
private static readonly byte[] CentralPackageTransitivePinningEnabledPropertyName = Encoding.UTF8.GetBytes("CentralPackageTransitivePinningEnabled");
47+
private static readonly byte[] CentralPackageFloatingVersionsEnabledPropertyName = Encoding.UTF8.GetBytes("centralPackageFloatingVersionsEnabled");
4748
private static readonly byte[] ConfigFilePathsPropertyName = Encoding.UTF8.GetBytes("configFilePaths");
4849
private static readonly byte[] CrossTargetingPropertyName = Encoding.UTF8.GetBytes("crossTargeting");
4950
private static readonly byte[] FallbackFoldersPropertyName = Encoding.UTF8.GetBytes("fallbackFolders");
@@ -755,6 +756,7 @@ private static void ReadMSBuildMetadata(ref Utf8JsonStreamReader jsonReader, Pac
755756
var centralPackageVersionsManagementEnabled = false;
756757
var centralPackageVersionOverrideDisabled = false;
757758
var CentralPackageTransitivePinningEnabled = false;
759+
var centralPackageFloatingVersionsEnabled = false;
758760
List<string> configFilePaths = null;
759761
var crossTargeting = false;
760762
List<string> fallbackFolders = null;
@@ -798,6 +800,10 @@ private static void ReadMSBuildMetadata(ref Utf8JsonStreamReader jsonReader, Pac
798800
{
799801
CentralPackageTransitivePinningEnabled = jsonReader.ReadNextTokenAsBoolOrFalse();
800802
}
803+
else if (jsonReader.ValueTextEquals(CentralPackageFloatingVersionsEnabledPropertyName))
804+
{
805+
centralPackageFloatingVersionsEnabled = jsonReader.ReadNextTokenAsBoolOrFalse();
806+
}
801807
else if (jsonReader.ValueTextEquals(ConfigFilePathsPropertyName))
802808
{
803809
jsonReader.Read();
@@ -1058,6 +1064,7 @@ private static void ReadMSBuildMetadata(ref Utf8JsonStreamReader jsonReader, Pac
10581064
msbuildMetadata.CentralPackageVersionsEnabled = centralPackageVersionsManagementEnabled;
10591065
msbuildMetadata.CentralPackageVersionOverrideDisabled = centralPackageVersionOverrideDisabled;
10601066
msbuildMetadata.CentralPackageTransitivePinningEnabled = CentralPackageTransitivePinningEnabled;
1067+
msbuildMetadata.CentralPackageFloatingVersionsEnabled = centralPackageFloatingVersionsEnabled;
10611068
msbuildMetadata.RestoreAuditProperties = auditProperties;
10621069
msbuildMetadata.SdkAnalysisLevel = sdkAnalysisLevel;
10631070
msbuildMetadata.UsingMicrosoftNETSdk = usingMicrosoftNetSdk;

test/NuGet.Core.Tests/NuGet.ProjectModel.Test/JsonPackageSpecReaderTests.cs

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2117,17 +2117,41 @@ public void GetPackageSpec_WhenSkipContentFileWriteValueIsValid_ReturnsSkipConte
21172117
}
21182118

21192119
[Theory]
2120-
[InlineData(null, false)]
2121-
[InlineData(true, true)]
2122-
[InlineData(false, false)]
2123-
public void GetPackageSpec_WhenCentralPackageVersionsManagementEnabledValueIsValid_ReturnsCentralPackageVersionsManagementEnabled(
2120+
[InlineData("centralPackageVersionsManagementEnabled", null, false)]
2121+
[InlineData("centralPackageVersionsManagementEnabled", true, true)]
2122+
[InlineData("centralPackageVersionsManagementEnabled", false, false)]
2123+
[InlineData("centralPackageVersionOverrideDisabled", null, false)]
2124+
[InlineData("centralPackageVersionOverrideDisabled", true, true)]
2125+
[InlineData("centralPackageVersionOverrideDisabled", false, false)]
2126+
[InlineData("CentralPackageTransitivePinningEnabled", null, false)]
2127+
[InlineData("CentralPackageTransitivePinningEnabled", true, true)]
2128+
[InlineData("CentralPackageTransitivePinningEnabled", false, false)]
2129+
[InlineData("centralPackageFloatingVersionsEnabled", null, false)]
2130+
[InlineData("centralPackageFloatingVersionsEnabled", true, true)]
2131+
[InlineData("centralPackageFloatingVersionsEnabled", false, false)]
2132+
public void GetPackageSpec_WhenCentralPackageManagementPropertyIsSet_ReturnsCorrectValue(
2133+
string propertyName,
21242134
bool? value,
21252135
bool expectedValue)
21262136
{
2127-
var json = $"{{\"restore\":{{\"centralPackageVersionsManagementEnabled\":{(value.HasValue ? value.ToString().ToLowerInvariant() : "null")}}}}}";
2137+
var json = $"{{\"restore\":{{\"{propertyName}\":{(value.HasValue ? value.ToString().ToLowerInvariant() : "null")}}}}}";
21282138
PackageSpec packageSpec = GetPackageSpec(json);
21292139

2130-
Assert.Equal(expectedValue, packageSpec.RestoreMetadata.CentralPackageVersionsEnabled);
2140+
switch (propertyName)
2141+
{
2142+
case "centralPackageVersionsManagementEnabled":
2143+
Assert.Equal(expectedValue, packageSpec.RestoreMetadata.CentralPackageVersionsEnabled);
2144+
break;
2145+
case "centralPackageVersionOverrideDisabled":
2146+
Assert.Equal(expectedValue, packageSpec.RestoreMetadata.CentralPackageVersionOverrideDisabled);
2147+
break;
2148+
case "CentralPackageTransitivePinningEnabled":
2149+
Assert.Equal(expectedValue, packageSpec.RestoreMetadata.CentralPackageTransitivePinningEnabled);
2150+
break;
2151+
case "centralPackageFloatingVersionsEnabled":
2152+
Assert.Equal(expectedValue, packageSpec.RestoreMetadata.CentralPackageFloatingVersionsEnabled);
2153+
break;
2154+
}
21312155
}
21322156

21332157
[Fact]

0 commit comments

Comments
 (0)