diff options
author | Oliver Reiche <oliver.reiche@gmail.com> | 2023-04-15 16:28:33 +0200 |
---|---|---|
committer | Oliver Reiche <oliver.reiche@huawei.com> | 2023-04-26 18:29:44 +0200 |
commit | d762bfa1953933dfac0a29a74523c25719396b8c (patch) | |
tree | 1002b0aecc1af698f0349a4efb4bfc169886c60a /src/buildtool/execution_api/local | |
parent | 03e1019aca5d08e53bfeb455071d91561fc33039 (diff) | |
download | justbuild-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/TARGETS | 4 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/config.hpp | 3 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_action.cpp | 2 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_action.hpp | 4 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_api.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_response.hpp | 9 |
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 |