-
Notifications
You must be signed in to change notification settings - Fork 378
Unified Build: Trimming and Targeting Design #11903
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
Conversation
This PR is a design to help repos enable targeting of desired TFMs, and to enable trimming away of unwanted TFMs based on the consumer of a build.
eb23ae9 to
72005a4
Compare
Co-authored-by: Michael Simons <[email protected]>
Co-authored-by: Michael Simons <[email protected]>
Co-authored-by: Michael Simons <[email protected]>
…mming-and-targeting
Co-authored-by: Michael Simons <[email protected]>
…mming-and-targeting
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
Co-authored-by: Přemek Vysoký <[email protected]>
…mming-and-targeting
|
@rainersigwald Gentle ping now that we're back in the new year. |
rainersigwald
left a comment
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.
Adding this functionality to MSBuild is ok with me, I think. If it's a screaming success in Arcade we might consider promoting the filtering to the SDK.
@baronfel holler if you really don't like the new property function :)
| <_OriginalTargetFrameworks Condition="'$(TargetFramework)' != ''">$(TargetFramework)</_OriginalTargetFrameworks> | ||
| <_FilteredTargetFrameworks Condition="'$(NoTargetFrameworkFiltering)' != 'true' and '$(DotNetTargetFrameworkFilter)' != ''">$([MSBuild]::Unescape($([MSBuild]::IntersectTargetFrameworks('$(_OriginalTargetFrameworks)', '$(DotNetTargetFrameworkFilter)'))))</_FilteredTargetFrameworks> | ||
| <TargetFrameworks Condition="'$(NoTargetFrameworkFiltering)' != 'true' and '$(_FilteredTargetFrameworks.Contains(';'))'">$(_FilteredTargetFrameworks)</TargetFrameworks> | ||
| <TargetFramework Condition="'$(NoTargetFrameworkFiltering)' != 'true' and '!$(_FilteredTargetFrameworks.Contains(';'))'">$(_FilteredTargetFrameworks)</TargetFramework> |
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.
Talked to @mmitche offline--I don't think this part will work but making the project always multitargeted (sometimes with a list of one) shouldn't have an serious cost even if it's not theoretically optimal.
|
@rainersigwald and I chatted briefly about it - the mechanism of set-intersection seems useful enough, I just wished that we had a better syntax for it. no objections from my end to the new primitive function, though. |
This PR is a design to help repos enable targeting of desired TFMs, and to enable trimming away of unwanted TFMs based on the consumer of a build.
To double check: