Skip to content

Conversation

@baronfel
Copy link
Member

@baronfel baronfel commented Aug 5, 2025

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

  • Create a container for all eval-related data we capture for a project
  • associate that container with a TerminalProjectInfo (since each TerminalProjectInfo uses data from a given evaluation (paired by ID)
  • make output rendering for projects more factored out for easier reading
  • include the RID in the output

Testing

Updated existing node tests.
Manual testing.

image

Copilot AI review requested due to automatic review settings August 5, 2025 23:00
Copy link
Contributor

Copilot AI left a 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

@baronfel baronfel requested review from a team, MichalPavlik and rainersigwald August 5, 2025 23:15
@baronfel baronfel added the Area: Terminal Logger Problems with the livelogger/fancylogger/terminallogger -tl functionality. label Aug 6, 2025
@baronfel baronfel added this to the .NET 10 milestone Aug 6, 2025
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.
@baronfel baronfel force-pushed the enable-rid-specific-tl-labeling branch from 66d78c7 to 4e30717 Compare September 10, 2025 17:29
@baronfel
Copy link
Member Author

@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.

Copy link
Member

@MichalPavlik MichalPavlik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@baronfel baronfel merged commit 93d3372 into main Sep 18, 2025
9 checks passed
@baronfel baronfel deleted the enable-rid-specific-tl-labeling branch September 18, 2025 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Terminal Logger Problems with the livelogger/fancylogger/terminallogger -tl functionality.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants