Skip to content
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

[BinFmt] Identify and notify internal partners relying on custom BuildEventArgs #8825

Closed
JanKrivanek opened this issue Jun 1, 2023 · 3 comments

Comments

@JanKrivanek
Copy link
Member

JanKrivanek commented Jun 1, 2023

Background

#6215
This subitem is focused on mitigating internal impact of #8823

Prerequisities

Expected output

  • List of MSFT repositories/codefiles (GH, AzDO) that employ deriving from BuildEventArgs or any of its subclasses (ideally even including those outside of the MSBuild repo identified during this discovery - in case a custom hierarchy would span across multiple teams)
  • Owners for those files
  • Information email about the refactoring and recommended approach sent out
  • (Optional, but very helpful) - perform the search as well accross the public comunity code
@rokonec
Copy link
Contributor

rokonec commented Jun 8, 2023

I have searched internal AzDO orgs and GitHub orgs for usages of derived *EventArgs. Majority of found occurrences was limited to full framework.

I recommend to communicate these to partners:

  1. CPS does compile into net7 for green extension purposes. We can expect they will migrate to net8+ in future. I have found occurrence there

  2. VS related things are currently compiled only into framework, however, we can expect it will eventually migrate to dotnet. To easy such future migration, we should consider to migrate away from derived custom events to using general custom event. I have found several places in VS repo. For example here, here, and here. I don't know if these are still valid part of VS. If we agree on preventive migrate in VS repo, more extensive search shall be conducted.

Above communication might take place after we merge non-breaking changes in MSBuild main so partners can action on it. After partners ACK migration finished, we will proceed with breaking-changes.

@baronfel, @rainersigwald Do you agree with these course of actions?

@rokonec rokonec assigned JanKrivanek and unassigned rokonec Jul 10, 2023
@JanKrivanek JanKrivanek removed their assignment Jul 11, 2023
@JanKrivanek
Copy link
Member Author

Identified usages (by @rokonec):

DEVDIV ORG

https://devdiv.visualstudio.com/DevDiv/_git/CBA?path=/src/suitesrc/QA/Maddog/Tasks/DevDiv.QA.Core/FlushLogEventArgs.cs&_a=contents&version=GBrel/cba17.0

https://devdiv.visualstudio.com/Engineering/_git/StatusLoggers?path=/src/StatusLogger/MSBuild/StatusEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFxToolsrc?path=/src/toolsrc/BranchTools/BranchTools/Logger/CancelBuildEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFxToolsrc?path=/src/toolsrc/BranchTools/BranchTools/Logger/EmailLogConfigEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFxToolsrc?path=/src/toolsrc/BranchTools/BranchTools/Logger/IntegrationFinishEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFxToolsrc?path=/src/toolsrc/BranchTools/BranchTools/Logger/IntegrationLogConfigEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFxToolsrc?path=/src/toolsrc/BranchTools/BranchTools/Logger/IntegrationStartEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFxToolsrc?path=/src/toolsrc/BranchTools/BranchTools/Logger/IntegrationStepEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFxToolsrc?path=/src/toolsrc/BranchTools/BranchTools/Logger/ManualResolveArgs.cs&_a=contents&version=GBmain

And 30 others …. See https://devdiv.visualstudio.com/_search?action=contents&text=%22%3A%20CustomBuildEventArgs%22%20NOT%20file%3A*Tests.cs&type=code&lp=custom-Collection&filters=&pageSize=25&result=DefaultCollection/DevDiv/NetFxToolsrc/GBmain//src/toolsrc/BranchTools/BranchTools/Support/SCBranchList.cs

https://devdiv.visualstudio.com/DevDiv/_git/NetFx?path=/src/NDP/msbuild/Framework/BuildErrorEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFx?path=/src/NDP/msbuild/Framework/BuildMessageEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFx?path=/src/NDP/msbuild/Framework/CustomBuildEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFx?path=/src/NDP/msbuild/Framework/BuildStatusEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/NetFx?path=/src/NDP/msbuild/Framework/BuildWarningEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/CPS?path=/src/Microsoft.VisualStudio.ProjectSystem/Build/Logging/SkippedProjectImportEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/fxcoptask/CodeAnalysisErrorEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/SDK/AnalyzeTask/AnalyzeTaskErrorEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/fxcoptask/CodeAnalysisWarningEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/SDK/AnalyzeTask/AnalyzeTaskWarningEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/suitesrc/Test/TestTargets/CodeAnalysisPlugIns/TestCAPlugIn1/TestCAPlugIn1Task/TestWarningEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/suitesrc/Test/vs/TestAnalyzer/TestWarningEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/CPS?path=/src/Microsoft.VisualStudio.ProjectSystem/Build/Logging/SkippedProjectImportEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/fxcoptask/CodeAnalysisErrorEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/SDK/AnalyzeTask/AnalyzeTaskErrorEventArgs.cs&_a=contents&version=GBmain

https://devdiv.visualstudio.com/DevDiv/_git/VS?path=/src/edev/StaticAnalysis/suitesrc/Test/TestTargets/CodeAnalysisPlugIns/TestCAPlugIn2/TestCAPlugIn2Task/TestErrorEventArgs.cs&_a=contents&version=GBmain

MICROSOFT ORG

38 see: https://microsoft.visualstudio.com/_search?action=contents&text=%22%3A%20CustomBuildEventArgs%22%20NOT%20file%3A*Tests.cs&type=code&lp=custom-Collection&filters=&pageSize=25&includeFacets=false&result=DefaultCollection/EngSys/pkges.desktoptools/GBmain//Loggers/MSBuildLoggers/LogAttachFileEventArgs.cs

AZURE ORG

https://msazure.visualstudio.com/One/_git/Storage-XEngSys?path=/src/OneBranchUtilityTools/XStoreMsBuildLogger/XCustomBuildEventArgs.cs&_a=contents&version=GBmaster

@JanKrivanek JanKrivanek self-assigned this Aug 14, 2023
@JanKrivanek
Copy link
Member Author

Relevant partners identified, breaking change and future plans communicated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants