Use the default hash function in InlineFileArtifactValue. PiperOrigin-RevId: 215802491
diff --git a/src/main/java/com/google/devtools/build/lib/actions/FileArtifactValue.java b/src/main/java/com/google/devtools/build/lib/actions/FileArtifactValue.java index deaaf79..a04f318 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/FileArtifactValue.java +++ b/src/main/java/com/google/devtools/build/lib/actions/FileArtifactValue.java
@@ -16,12 +16,12 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; -import com.google.common.hash.Hashing; import com.google.common.io.BaseEncoding; import com.google.devtools.build.lib.actions.cache.DigestUtils; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; @@ -423,7 +423,8 @@ } public InlineFileArtifactValue(byte[] bytes) { - this(bytes, Hashing.md5().hashBytes(bytes).asBytes()); + this(bytes, + DigestHashFunction.getDefaultUnchecked().getHashFunction().hashBytes(bytes).asBytes()); } public ByteArrayInputStream getInputStream() {
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/DigestHashFunction.java b/src/main/java/com/google/devtools/build/lib/vfs/DigestHashFunction.java index 7f76e73..c0c3866 100644 --- a/src/main/java/com/google/devtools/build/lib/vfs/DigestHashFunction.java +++ b/src/main/java/com/google/devtools/build/lib/vfs/DigestHashFunction.java
@@ -144,6 +144,20 @@ return defaultHash; } + /** + * Returns the default DigestHashFunction, or the testing default if unset. + */ + public static DigestHashFunction getDefaultUnchecked() { + try { + return getDefault(); + } catch (DefaultHashFunctionNotSetException e) { + // Some tests use this class without calling GoogleUnixFileSystemModule.globalInit(). + System.err.println("Using DigestHashFunction.DEFAULT_HASH_FOR_TESTS for testing"); + return DEFAULT_HASH_FOR_TESTS; + } + } + + /** Indicates that the default has not been initialized. */ public static final class DefaultHashFunctionNotSetException extends Exception { DefaultHashFunctionNotSetException(String message) {