Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
In deeply nested workspace and/or long target names the paths for the various DWYU artifacts can become quite long. At some point they are too large for Bazel and the OS to handle and consequently DWYU fails. We fix this by: - We use only the name of the to be analyzed target instead of its full label as prefix for the DWYU artifacts. The artifacts are generated inside bazel-out in the package location of the to be analyzed target and thus the name is sufficient as suffix to guarantee unique results. - For the DWYU artifacts depending on dependencies we no longer use the dependency label as path suffix, but instead use the hash of the label. This gives us an upper bound on the max length of the generated file names while still making name collision quite unlikely. That the names are less verbose does not matter. If one wants to debug, the name of the dependency is contained in the file either way.
- Loading branch information