-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Deprecate binfmt in build event args #8917
Deprecate binfmt in build event args #8917
Conversation
There was lots of dead code which makes it appear as if ExternalProject*EventArgs are properly custom serialized, but in reality these were treated as CustomEvent with TranslateDotNet generic binary formatter.
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.
Overall looks good!
I have couple of comments that I'd like to at least see answered or dismissed as irrelevant
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.
Looks good to me!
As soon as we'll have consensus on the warnings target (only NET vs all)
…ps://github.com/rokonec/msbuild into rokonec/8823-deprecate-binfmt-in-BuildEventArgs
@rainersigwald - the warnings now apply only for core - should we mark this as candidate for 17.7 payload? |
…ps://github.com/rokonec/msbuild into rokonec/8823-deprecate-binfmt-in-BuildEventArgs
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.
Couple comments for @YuliiaKovalova
Plus we need to add ability (can be default behavior of the warning mode) of dropping the violating events - otherwise those new tests will start crashing as soon as we remove the temporary EnableUnsafeBinaryFormatterSerialization
Otherwise looks goot to go!
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.
Looks great! I have left a few comments inline. The most important one is about the shape of IExtendedBuildEventArgs
.
Co-authored-by: Ladi Prosek <ladi.prosek@gmail.com>
[celebrate] Yuliia Kovalova reacted to your message:
…________________________________
From: Roman Konecny ***@***.***>
Sent: Wednesday, August 9, 2023 2:58:17 PM
To: dotnet/msbuild ***@***.***>
Cc: Yuliia Kovalova ***@***.***>; Mention ***@***.***>
Subject: Re: [dotnet/msbuild] Deprecate binfmt in build event args (PR #8917)
Merged #8917<#8917> into main.
—
Reply to this email directly, view it on GitHub<#8917 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AWYM53TT7HZV7FYZUFSA6BLXUOQQTANCNFSM6AAAAAAZNFKUQE>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Fixes #9220 CustomBuildEventArgs is deprecated. Users are advised to use ExtendedCustomBuildEventArgs instead. See #8917 The comment change results in a public-facing doc change at https://learn.microsoft.com/en-us/dotnet/api/microsoft.build.framework.custombuildeventargs?view=msbuild-17-netcore The new Remarks section includes a link to a public-facing doc that explains the change: https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/8.0/custombuildeventargs
PropertyReassignmentEventArgs propReassign = new("prop", "prevValue", "newValue", "loc", "message", "help", "sender", MessageImportance.Normal); | ||
ResponseFileUsedEventArgs responseFileUsed = new("path"); | ||
UninitializedPropertyReadEventArgs uninitializedPropertyRead = new("prop", "message", "help", "sender", MessageImportance.Normal); | ||
EnvironmentVariableReadEventArgs environmentVariableRead = new("env", "message", "help", "sender", MessageImportance.Normal); |
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'm not seeing ProjectImportedEventArgs here
Fixes #8823 and #9008
Context
BinaryFormat deprecations is forcing us to us drop support of CustomEventArgs derived from EventArgs as those are serialized by omnipotent-but-unsecure BinaryFormatter.
Changes Made
Testing
Notes