commit | 08561e32567ef3f21a50936b5e291c8dd4262ac3 | [log] [tgz] |
---|---|---|
author | brandjon <brandjon@google.com> | Tue Sep 25 06:59:00 2018 -0700 |
committer | Copybara-Service <copybara-piper@google.com> | Tue Sep 25 07:00:10 2018 -0700 |
tree | 14c041c0138e5cfd5c78bde31e0a0e565d59b5a3 | |
parent | bcf7e54485531dd613f4b01636bd9a3d193c841a [diff] [blame] |
Make sure runfiles fingerprinting accounts for empty files Previously, Runfiles#fingerprint (and actions that depend on it for their key) would collide when runfiles differed only by empty files. This is a correctness bug exercised by changes like https://github.com/bazelbuild/bazel/commit/3fc3ddbc0d2a51853c0966bfd41834765ea619a5. RELNOTES: None PiperOrigin-RevId: 214432124
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java index 2793953..e03edd5 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
@@ -1188,5 +1188,9 @@ fp.addPath(artifact.getRootRelativePath()); fp.addPath(artifact.getExecPath()); } + + for (String name : getEmptyFilenames()) { + fp.addString(name); + } } }