-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Add netcoreapp3.1 inbox information to package baseline #49781
Conversation
@@ -6689,6 +6707,7 @@ | |||
"BaselineVersion": "6.0.0", | |||
"InboxOn": { | |||
"netcoreapp3.0": "4.0.4.0", | |||
"netcoreapp3.1": "4.0.5.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should never list serviced versions here. This has to represent what's inbox in the GA product since packages can't target a serviced release (only TFM). A better source of these versions would be "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\data\FrameworkList.xml", or just merge the index values from release/3.1. cc @Anipik
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can merge the values from https://github.com/dotnet/corefx/blob/release/3.1/pkg/Microsoft.Private.PackageBaseline/packageIndex.json, even if there was never any "netcoreapp3.0" entry. Would that suffice?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, I think you can just run a command to do this: https://github.com/dotnet/arcade/blob/6cc4c1e9e23d5e65e88a8a57216b3d91e9b3d8db/src/Microsoft.DotNet.Build.Tasks.Packaging/src/UpdatePackageIndex.cs#L167-L175
https://github.com/dotnet/arcade/blob/6cc4c1e9e23d5e65e88a8a57216b3d91e9b3d8db/src/Microsoft.DotNet.Build.Tasks.Packaging/src/build/Packaging.targets#L1296
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's a gist: https://gist.github.com/ericstj/3ea156677f1d679989ecd4cb21c315e8
Here's what it does: ericstj@3889b68
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well then, time to overwrite this PR. :)
eb93923
to
3889b68
Compare
@ericstj CI's still failing. Do we also need to update StableVersions or AssemblyVersionInPackageVersion? |
For instance, setting PackageFolders = <directory where 3.1.0 RTM packages were dropped > results in these two lines being merged into the index file: "System.Text.Json": {
"StableVersions": [
"4.6.0",
"4.7.0",
"4.7.1",
"4.7.2",
"5.0.0"
],
"BaselineVersion": "6.0.0",
"InboxOn": {
"netcoreapp3.0": "4.0.0.0",
+ "netcoreapp3.1": "4.0.1.0",
"net5.0": "5.0.0.0"
},
"AssemblyVersionInPackageVersion": {
"4.0.0.0": "4.6.0",
+ "4.0.1.0": "4.7.0",
"5.0.0.0": "5.0.0",
"6.0.0.0": "6.0.0"
}
}, |
Those should only be relevant when we have a package reference. The assembly-to-package-reference lookup logic is circumvented by setting baseline versions to 6.0.0. The error you're seeing is more around the build of individual packages not understanding that the packages are OOBing an implementation for those frameworks. ... That said I can't explain why just adding a version for 3.1 is causing these failures. Need to debug. Building locally. |
I have to step away for a bit, but @Anipik might know why this is failing. |
I think I have a fix. I just went ahead and created a new PR since I couldn't push to yours. |
Superseded by #49792. |
Our package baselines don't include inbox information for the netcoreapp3.1 runtime. This means that if a library targets netcoreapp3.1, the build system will attempt to resolve a package reference instead of an inbox assembly reference, which may cause the build to fail. (See this failing PR for one such example.)
This PR updates the package baselines by adding netcoreapp3.1 assembly inbox information to the baseline file. Assemblies which did not have a preexisting netcoreapp3.0 entry in the baseline file are not modified by this change.Assembly information was pulled from the file C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.13\Microsoft.NETCore.App.deps.json on my local box.Edit: Updated the PR to be based on Eric St John's auto-script.