diff options
Diffstat (limited to 'src/buildtool/execution_api/remote')
-rw-r--r-- | src/buildtool/execution_api/remote/bazel/bazel_api.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp index 07c5c3ef..e42c32e7 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp @@ -386,11 +386,19 @@ auto BazelApi::CreateAction( gsl::not_null<std::unordered_set<Artifact::ObjectInfo>*> done) const noexcept -> bool { std::unordered_set<Artifact::ObjectInfo> artifacts_info; - artifacts_info.reserve(all_artifacts_info.size()); - for (auto const& info : all_artifacts_info) { - if (not done->contains(info)) { - artifacts_info.insert(info); + try { + artifacts_info.reserve(all_artifacts_info.size()); + for (auto const& info : all_artifacts_info) { + if (not done->contains(info)) { + artifacts_info.emplace(info); + } } + } catch (std::exception const& ex) { + Logger::Log( + LogLevel::Error, + "BazelApi: Collecting the set of artifacts failed with:\n{}", + ex.what()); + return false; } if (artifacts_info.empty()) { return true; // Nothing to do |