-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Detect and use RIDs in project build reporting #12292
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
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.
Pull Request Overview
This PR enhances the terminal logger to detect and display Runtime Identifiers (RIDs) in project build reporting alongside Target Framework information. It builds on previous work to capture evaluation data and presents a richer view of what's being built.
- Adds capture of project evaluation data including RuntimeIdentifier property
- Updates display logic to show RIDs alongside target frameworks in project status lines
- Refactors project information handling to use evaluation-based data containers
Reviewed Changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/Build/Resources/Strings.resx |
Adds new localization strings for project finished messages with TF and RID |
Multiple .xlf files |
Adds translations for the new localization strings across multiple languages |
src/Build/Logging/TerminalLogger/TerminalProjectInfo.cs |
Introduces EvalProjectInfo record and refactors project info to use evaluation data |
src/Build/Logging/TerminalLogger/TerminalLogger.cs |
Adds evaluation event handling and RID display logic throughout |
src/Build/Logging/TerminalLogger/TerminalNodeStatus.cs |
Updates node status to include runtime identifier information |
src/Build/Logging/TerminalLogger/TerminalNodesFrame.cs |
Updates rendering to display RID information in status frames |
| Test files | Updates existing tests to accommodate the new constructor signature |
7864b97 to
66d78c7
Compare
Fix rendering project finished status when there is no TF or RID data. Fix an errant extra space when there is no RID on the project status summary. Update tests to fire Project Eval events so new invariants are upheld.
66d78c7 to
4e30717
Compare
|
@MichalPavlik can you take a look at this one? I'd like to get it in for RC2 because LLMs (and humans) are able to diagnose problems better when they have the RID-context available. |
MichalPavlik
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.
LGTM
Context
This change builds on #12082 by listening to the project evaluation finished event and getting RID usage data for the current Target. We then use this RID data to render the RID (if any) on project status lines.
This is sliced out of #12114 to make that PR smaller and focused on the 'new output kind detection' feature.
Changes Made
Testing
Updated existing node tests.
Manual testing.