summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/local
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@gmail.com>2023-04-15 16:28:33 +0200
committerOliver Reiche <oliver.reiche@huawei.com>2023-04-26 18:29:44 +0200
commitd762bfa1953933dfac0a29a74523c25719396b8c (patch)
tree1002b0aecc1af698f0349a4efb4bfc169886c60a /src/buildtool/execution_api/local
parent03e1019aca5d08e53bfeb455071d91561fc33039 (diff)
downloadjustbuild-d762bfa1953933dfac0a29a74523c25719396b8c.tar.gz
imports: Switch to Microsoft GSL implementation
... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL.
Diffstat (limited to 'src/buildtool/execution_api/local')
-rw-r--r--src/buildtool/execution_api/local/TARGETS4
-rw-r--r--src/buildtool/execution_api/local/config.hpp3
-rw-r--r--src/buildtool/execution_api/local/local_action.cpp2
-rw-r--r--src/buildtool/execution_api/local/local_action.hpp4
-rw-r--r--src/buildtool/execution_api/local/local_api.hpp2
-rw-r--r--src/buildtool/execution_api/local/local_response.hpp9
6 files changed, 13 insertions, 11 deletions
diff --git a/src/buildtool/execution_api/local/TARGETS b/src/buildtool/execution_api/local/TARGETS
index 3109afca..b9e056b8 100644
--- a/src/buildtool/execution_api/local/TARGETS
+++ b/src/buildtool/execution_api/local/TARGETS
@@ -5,7 +5,7 @@
, "deps":
[ ["@", "fmt", "", "fmt"]
, ["@", "json", "", "json"]
- , ["@", "gsl-lite", "", "gsl-lite"]
+ , ["@", "gsl", "", "gsl"]
, ["src/buildtool/common", "common"]
, ["src/buildtool/file_system", "file_system_manager"]
, ["src/buildtool/file_system", "object_type"]
@@ -25,7 +25,7 @@
, "srcs": ["local_action.cpp"]
, "deps":
[ ["@", "fmt", "", "fmt"]
- , ["@", "gsl-lite", "", "gsl-lite"]
+ , ["@", "gsl", "", "gsl"]
, ["src/buildtool/storage", "storage"]
, ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/execution_api/bazel_msg", "bazel_msg_factory"]
diff --git a/src/buildtool/execution_api/local/config.hpp b/src/buildtool/execution_api/local/config.hpp
index a1882776..9257b758 100644
--- a/src/buildtool/execution_api/local/config.hpp
+++ b/src/buildtool/execution_api/local/config.hpp
@@ -20,7 +20,6 @@
#include <string>
#include <vector>
-#include <gsl-lite/gsl-lite.hpp>
#include <nlohmann/json.hpp>
#include "src/buildtool/common/artifact_digest.hpp"
@@ -29,6 +28,8 @@
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include <gsl/gsl>
+
/// \brief Store global build system configuration.
class LocalExecutionConfig {
struct ConfigData {
diff --git a/src/buildtool/execution_api/local/local_action.cpp b/src/buildtool/execution_api/local/local_action.cpp
index 209c6a5d..764c00aa 100644
--- a/src/buildtool/execution_api/local/local_action.cpp
+++ b/src/buildtool/execution_api/local/local_action.cpp
@@ -17,7 +17,7 @@
#include <algorithm>
#include <filesystem>
-#include "gsl-lite/gsl-lite.hpp"
+#include "gsl/gsl"
#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/compatibility/native_support.hpp"
#include "src/buildtool/execution_api/local/config.hpp"
diff --git a/src/buildtool/execution_api/local/local_action.hpp b/src/buildtool/execution_api/local/local_action.hpp
index 4fba44ba..a49060e4 100644
--- a/src/buildtool/execution_api/local/local_action.hpp
+++ b/src/buildtool/execution_api/local/local_action.hpp
@@ -59,14 +59,14 @@ class LocalAction final : public IExecutionAction {
std::chrono::milliseconds timeout_{kDefaultTimeout};
CacheFlag cache_flag_{CacheFlag::CacheOutput};
- LocalAction(gsl::not_null<Storage const*> storage,
+ LocalAction(gsl::not_null<Storage const*> const& storage,
ArtifactDigest root_digest,
std::vector<std::string> command,
std::vector<std::string> output_files,
std::vector<std::string> output_dirs,
std::map<std::string, std::string> env_vars,
std::map<std::string, std::string> const& properties) noexcept
- : storage_{std::move(storage)},
+ : storage_{storage},
root_digest_{std::move(root_digest)},
cmdline_{std::move(command)},
output_files_{std::move(output_files)},
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp
index c40f8471..577d771b 100644
--- a/src/buildtool/execution_api/local/local_api.hpp
+++ b/src/buildtool/execution_api/local/local_api.hpp
@@ -23,7 +23,7 @@
#include <vector>
#include "fmt/core.h"
-#include "gsl-lite/gsl-lite.hpp"
+#include "gsl/gsl"
#include "src/buildtool/compatibility/compatibility.hpp"
#include "src/buildtool/compatibility/native_support.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_blob.hpp"
diff --git a/src/buildtool/execution_api/local/local_response.hpp b/src/buildtool/execution_api/local/local_response.hpp
index 93b12009..2875ec16 100644
--- a/src/buildtool/execution_api/local/local_response.hpp
+++ b/src/buildtool/execution_api/local/local_response.hpp
@@ -105,12 +105,13 @@ class LocalResponse final : public IExecutionResponse {
LocalAction::Output output_{};
gsl::not_null<Storage const*> storage_;
- explicit LocalResponse(std::string action_id,
- LocalAction::Output output,
- gsl::not_null<Storage const*> storage) noexcept
+ explicit LocalResponse(
+ std::string action_id,
+ LocalAction::Output output,
+ gsl::not_null<Storage const*> const& storage) noexcept
: action_id_{std::move(action_id)},
output_{std::move(output)},
- storage_{std::move(storage)} {}
+ storage_{storage} {}
};
#endif // INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_LOCAL_RESPONSE_HPP