diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/storage/local_ac.tpp | 16 | ||||
-rw-r--r-- | src/buildtool/storage/local_cas.tpp | 16 |
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; } } |