Update AnalyzerRunner to support IIncrementalAnalyzer testing#36113
Update AnalyzerRunner to support IIncrementalAnalyzer testing#36113sharwell merged 7 commits intodotnet:masterfrom
Conversation
|
Would love to know what data this reveals once you collect it. If you can make that information public, it would be very appreciated. Thanks! :) I imagine there will be some results that are nto at all surprising, but also a few we did not expect. |
1d3513d to
2136892
Compare
Literally the entire reason why this PR exists and the PRs from @Therzok are not yet merged is we are ensuring the public can reproduce the benchmarks that led to any changes. 😄 |
Therzok
left a comment
There was a problem hiding this comment.
LGTM. I'll try and set it up locally to see performance characteristics.
|
@Therzok I have another issue to resolve with loading Roslyn.sln before this is ready to use. I'll let you know when I've updated the PR. |
9cd07e5 to
ac469ef
Compare
Improves the workaround for microsoft/MSBuildLocator#16
ac469ef to
ba24589
Compare
|
|
||
| <!-- Set to non-existent file to prevent common targets from importing Microsoft.CodeAnalysis.targets --> | ||
| <CodeAnalysisTargets>*none*</CodeAnalysisTargets> | ||
| <CodeAnalysisTargets>NON_EXISTENT_FILE</CodeAnalysisTargets> |
There was a problem hiding this comment.
@dotnet/roslyn-infrastructure I meant to submit this as a separate pull request but I forgot to extract it. Please review this change.
There was a problem hiding this comment.
What does this change actually do? Was *none* a magic value before?
There was a problem hiding this comment.
There is no change in the behavior. MSBuild uses Exists($(CodeAnalysisTargets)) for a condition. *none* does not exist, but unlike the new value, also contains * characters that are not valid. This change avoids a bunch of first chance exceptions that were making it hard for me to figure out why AnalyzerRunner was failing to load Roslyn.sln.
| <ItemGroup> | ||
| <PackageReference Include="SQLitePCLRaw.bundle_green" Version="$(SQLitePCLRawbundle_greenVersion)" PrivateAssets="all" /> | ||
| <PackageReference Include="Microsoft.Build.Locator" Version="$(MicrosoftBuildLocatorVersion)" /> | ||
| <PackageReference Include="SourceBrowser" Version="$(SourceBrowserVersion)" ExcludeAssets="build;compile" PrivateAssets="all" /> |
There was a problem hiding this comment.
📝 I will file a follow-up issue to remove this once MSBuild Locator provides its own AppDomainManager.
This is a supporting change for upcoming profile-based optimization of SQLite and the incremental analyzer infrastructure for VS for Mac scenarios.
/cc @Therzok