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

[LiveLogger] Tweak terminal UI to focus on in-progress work #8379

Closed
3 tasks
baronfel opened this issue Jan 31, 2023 · 3 comments · Fixed by #8385
Closed
3 tasks

[LiveLogger] Tweak terminal UI to focus on in-progress work #8379

baronfel opened this issue Jan 31, 2023 · 3 comments · Fixed by #8385

Comments

@baronfel
Copy link
Member

The current LiveLogger display can struggle with long lists of projects, pushing information about currently-building projects off of the screen. We should address this by collapsing information into three sections, focusing on in-flight projects.

The viewable area of the screen should contain three kinds of information:

  • A collapsed line describing the number of projects completed during this build. This should be kept up to date as more projects are completed.
  • Lines showing all in-progress builds that are currently blocked by other projects that are building. This is typically the result of some Target calling the MSBuild task on other project(s) - we should explicitly state this on these lines. The below is an example, but the core idea is to identify the dependent projects, and the specified target. There may be zero of these lines, depending on the point in time we're looking at.
./MyApp.csproj
- Waiting on `MyLib.csproj` to build the `compile` target
  • Lines showing all projects that are actually being built at this time. This output should be what we're used to seeing in LiveLogger right now - warning/error output aggregated over the course of that built target.
@baronfel baronfel added the needs-triage Have yet to determine what bucket this goes in. label Jan 31, 2023
@baronfel baronfel added Area: Logging and removed needs-triage Have yet to determine what bucket this goes in. labels Jan 31, 2023
@baronfel baronfel added this to the .NET 8.0 milestone Jan 31, 2023
@edvilme
Copy link
Member

edvilme commented Jan 31, 2023

For point 1, does that mean also hiding warnings and high priority messages (including output) for finished projects?

@rainersigwald
Copy link
Member

I don't think we know that for sure yet. I lean toward keeping them (if there's room after all the more-likely-to-be-relevant-now stuff).

@rainersigwald
Copy link
Member

Lines showing all in-progress builds that are currently blocked by other projects that are building. This is typically the result of some Target calling the MSBuild task on other project(s) - we should explicitly state this on these lines. The below is an example, but the core idea is to identify the dependent projects, and the specified target. There may be zero of these lines, depending on the point in time we're looking at.

./MyApp.csproj
- Waiting on `MyLib.csproj` to build the `compile` target

I think there's a progression we can go through here. It'd be great to have that level of detail but it's not easily exposed in the logging we have today.

  1. Trivial: special-case the MSBuild task to indicate to the project that called it that it's in a "waiting" state (with no further specific information).
  2. Hopefully not too hard: scrape inputs to the MSBuild task to assemble a list of projects that are being waited on and display them
  3. Advanced disambiguation: we may have to do some disambiguation here that isn't easy. To map to our understanding of a project, we'd need to apply the global property changes from item metadata on the Projects input + the current project's global properties.
  4. Additional understanding of requested targets and/or linking to in-progress builds that are blocking this thing.

JaynieBai pushed a commit that referenced this issue Feb 10, 2023
Fixes #8379

Co-authored-by: Eduardo Villalpando Mello <t-eduardov@microsoft.com>
Co-authored-by: Rainer Sigwald <raines@microsoft.com>
Co-authored-by: Forgind <Forgind@users.noreply.github.com>
@AR-May AR-May added the triaged label Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants