Surface Windows build errors in non-verbose mode #63707
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Makes Windows builds extract things that look like warnings and errors from stdout, where MSBuild sends all output, and reports them as errors to the logger (essentially making them behave as if they had gone to stderr). This means that native build failures will no longer be completely invisible in non-verbose mode.
Also fixes an existing warning so that it won't show up in every build: The custom step in the Windows template CMake to do the re-entrant Flutter step includes a dummy output file to force the step to run every time. This causes a warning from VS. Marking it SYMBOLIC to indicate that it's not a real output file causes CMake to generate that VS step with the output validation step disabled so that it won't warn.
Related Issues
Fixes #33583
Tests
I added the following tests: Tests the regex extraction against sample normal and error lines, and ensures that it properly finds only the latter.
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]
). This will ensure a smooth and quick review process.///
).flutter analyze --flutter-repo
) does not report any problems on my PR.Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.