summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/storage/local_ac.tpp16
-rw-r--r--src/buildtool/storage/local_cas.tpp16
2 files changed, 24 insertions, 8 deletions
diff --git a/src/buildtool/storage/local_ac.tpp b/src/buildtool/storage/local_ac.tpp
index 8cc55638..e58c7fb9 100644
--- a/src/buildtool/storage/local_ac.tpp
+++ b/src/buildtool/storage/local_ac.tpp
@@ -77,9 +77,13 @@ auto LocalAC<kDoGlobalUplink>::LocalUplinkEntry(
// Uplink result content
for (auto const& file : result->output_files()) {
- ArtifactDigest const a_digest{file.digest()};
+ auto const digest = ArtifactDigestFactory::FromBazel(
+ cas_.GetHashFunction().GetType(), file.digest());
+ if (not digest) {
+ return false;
+ }
if (not cas_.LocalUplinkBlob(
- latest.cas_, a_digest, file.is_executable())) {
+ latest.cas_, *digest, file.is_executable())) {
return false;
}
}
@@ -102,8 +106,12 @@ auto LocalAC<kDoGlobalUplink>::LocalUplinkEntry(
}
}
for (auto const& directory : result->output_directories()) {
- ArtifactDigest const a_digest{directory.tree_digest()};
- if (not cas_.LocalUplinkTree(latest.cas_, a_digest)) {
+ auto const digest = ArtifactDigestFactory::FromBazel(
+ cas_.GetHashFunction().GetType(), directory.tree_digest());
+ if (not digest) {
+ return false;
+ }
+ if (not cas_.LocalUplinkTree(latest.cas_, *digest)) {
return false;
}
}
diff --git a/src/buildtool/storage/local_cas.tpp b/src/buildtool/storage/local_cas.tpp
index d43bd18b..8b91f7e4 100644
--- a/src/buildtool/storage/local_cas.tpp
+++ b/src/buildtool/storage/local_cas.tpp
@@ -217,14 +217,22 @@ auto LocalCAS<kDoGlobalUplink>::LocalUplinkBazelDirectory(
// Uplink bazel directory entries.
for (auto const& file : dir.files()) {
- ArtifactDigest const a_digest{file.digest()};
- if (not LocalUplinkBlob(latest, a_digest, file.is_executable())) {
+ auto const digest = ArtifactDigestFactory::FromBazel(
+ hash_function_.GetType(), file.digest());
+ if (not digest) {
+ return false;
+ }
+ if (not LocalUplinkBlob(latest, *digest, file.is_executable())) {
return false;
}
}
for (auto const& directory : dir.directories()) {
- ArtifactDigest const a_digest{directory.digest()};
- if (not LocalUplinkBazelDirectory(latest, a_digest, seen)) {
+ auto const digest = ArtifactDigestFactory::FromBazel(
+ hash_function_.GetType(), directory.digest());
+ if (not digest) {
+ return false;
+ }
+ if (not LocalUplinkBazelDirectory(latest, *digest, seen)) {
return false;
}
}