diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/remote/util/DigestUtil.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/remote/util/DigestUtil.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/remote/util/DigestUtil.java b/src/main/java/com/google/devtools/build/lib/remote/util/DigestUtil.java index e4dc92a46f..ae8b109d55 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/util/DigestUtil.java +++ b/src/main/java/com/google/devtools/build/lib/remote/util/DigestUtil.java @@ -17,6 +17,8 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.base.Preconditions; import com.google.common.hash.HashCode; +import com.google.common.hash.HashingOutputStream; +import com.google.common.io.BaseEncoding; import com.google.devtools.build.lib.actions.ActionInput; import com.google.devtools.build.lib.actions.MetadataProvider; import com.google.devtools.build.lib.actions.cache.DigestUtils; @@ -29,6 +31,7 @@ import com.google.devtools.remoteexecution.v1test.Digest; import com.google.protobuf.Message; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.OutputStream; /** Utility methods to work with {@link Digest}. */ public class DigestUtil { @@ -106,6 +109,14 @@ public class DigestUtil { return Digest.newBuilder().setHash(hexHash).setSizeBytes(size).build(); } + public static String hashCodeToString(HashCode hash) { + return BaseEncoding.base16().lowerCase().encode(hash.asBytes()); + } + + public HashingOutputStream newHashingOutputStream(OutputStream out) { + return new HashingOutputStream(hashFn.getHash(), out); + } + public String toString(Digest digest) { return digest.getHash() + "/" + digest.getSizeBytes(); } |