Try to fix paths in clang-tidy output [DIP-356] #117
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.
Not elegant, but look for bazel cache-y paths in the output of
clang-tidy
and strip out the prefix so that errors relate back to real files in the repository.An example error output from before the change:
And after:
Note how the first message mentions a file in
~/.cache/bazel/....
which is helpfully deleted as soon as the command fails. By stripping out this prefix and leaving just the relative path within the repository then, assuming the command is run from the repository root, the path matches the actual real file rather than bazel's copy. IDEs and other tooling can parse out the message and trace it back to where it actually came from