Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

[release/2.1] Add SuppressMetaPackage to break circular dependency during System.Memory package restore #36550

Merged
merged 7 commits into from
Apr 12, 2019
3 changes: 3 additions & 0 deletions external/harvestPackages/harvestPackages.props
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@
<PackageReference Include="System.Json">
<Version>4.5.0</Version>
</PackageReference>
<PackageReference Include="System.Memory">
<Version>4.5.2</Version>
</PackageReference>
<PackageReference Include="System.Net.Http.WinHttpHandler">
<Version>4.5.2</Version>
</PackageReference>
Expand Down
6 changes: 4 additions & 2 deletions pkg/Microsoft.Private.PackageBaseline/packageIndex.json
Original file line number Diff line number Diff line change
Expand Up @@ -2491,14 +2491,16 @@
"StableVersions": [
"4.5.0",
"4.5.1",
"4.5.2"
"4.5.2",
"4.5.3"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has 4.5.3 been built stable yet?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. Maybe that document should explicitly call out that StableVersion should not be changed until after you've shipped the stable release. StableVersion list represents history.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ahsonkhan this change still needs to be removed before I can merge this

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, thanks.

],
"InboxOn": {
"netcoreapp2.1": "4.1.0.0"
},
"AssemblyVersionInPackageVersion": {
"4.0.0.0": "4.4.0",
"4.0.1.0": "4.5.1"
"4.0.1.0": "4.5.1",
"4.0.1.1": "4.5.3"
}
},
"System.Messaging": {
Expand Down
2 changes: 1 addition & 1 deletion src/System.Memory/dir.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\dir.props" />
<PropertyGroup>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.0.1.1</AssemblyVersion>
<PackageVersion>4.5.1</PackageVersion>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we know why there is a PackageVersion property both here, and in the .pkgproj?

Copy link
Member Author

@ahsonkhan ahsonkhan Apr 3, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw that, but decided to leave it since the pkgproj overrides it. I am not sure why we have it in both places. It might have been an oversight when it was added to dir.props in #29925. I don't think it's worth removing, but if you disagree, should we remove it from the pkgproj and just keep the one in dir.props (or vice versa)?

That said, we aren't consistent in other places:


<PackageVersion>4.5.1</PackageVersion>

cc @tarekgh

See related thread where it was added to the pkgproj:
#29970 (comment)

<!-- System.Memory has forwarded types into the runtime on netcoreapp/uap
It must win over assemblies versioned at 4.0.* -->
Expand Down
6 changes: 5 additions & 1 deletion src/System.Memory/pkg/System.Memory.pkgproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<PackageVersion>4.5.2</PackageVersion>
<PackageVersion>4.5.3</PackageVersion>
</PropertyGroup>
<ItemGroup>
<PackageIndex Include="$(ProjectDir)\pkg\baseline\packageBaseline.1.1.json" />
<ProjectReference Include="..\ref\System.Memory.csproj">
<SupportedFramework>net45;netcore45;wpa81;netcoreapp1.0;$(AllXamarinFrameworks)</SupportedFramework>
</ProjectReference>
<ProjectReference Include="..\src\System.Memory.csproj" />

<!-- this package is part of the implementation closure of NETStandard.Library
therefore it cannot reference NETStandard.Library -->
<SuppressMetaPackage Include="NETStandard.Library" />
<InboxOnTargetFramework Include="netcoreapp2.1" />
</ItemGroup>
<PropertyGroup>
Expand Down
3 changes: 3 additions & 0 deletions src/packages.builds
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@
<Project Include="$(MSBuildThisFileDirectory)..\pkg\Microsoft.NETCore.Platforms\Microsoft.NETCore.Platforms.builds">
<AdditionalProperties>$(AdditionalProperties)</AdditionalProperties>
</Project>
<Project Include="$(MSBuildThisFileDirectory)System.Memory\pkg\System.Memory.pkgproj">
<AdditionalProperties>$(AdditionalProperties)</AdditionalProperties>
</Project>
<Project Include="$(MSBuildThisFileDirectory)System.Net.Http.WinHttpHandler\pkg\System.Net.Http.WinHttpHandler.pkgproj">
<AdditionalProperties>$(AdditionalProperties)</AdditionalProperties>
</Project>
Expand Down