From d762bfa1953933dfac0a29a74523c25719396b8c Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Sat, 15 Apr 2023 16:28:33 +0200 Subject: 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. --- src/buildtool/execution_api/local/TARGETS | 4 ++-- src/buildtool/execution_api/local/config.hpp | 3 ++- src/buildtool/execution_api/local/local_action.cpp | 2 +- src/buildtool/execution_api/local/local_action.hpp | 4 ++-- src/buildtool/execution_api/local/local_api.hpp | 2 +- src/buildtool/execution_api/local/local_response.hpp | 9 +++++---- 6 files changed, 13 insertions(+), 11 deletions(-) (limited to 'src/buildtool/execution_api/local') 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 #include -#include #include #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 + /// \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 #include -#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, + LocalAction(gsl::not_null const& storage, ArtifactDigest root_digest, std::vector command, std::vector output_files, std::vector output_dirs, std::map env_vars, std::map 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 #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_; - explicit LocalResponse(std::string action_id, - LocalAction::Output output, - gsl::not_null storage) noexcept + explicit LocalResponse( + std::string action_id, + LocalAction::Output output, + gsl::not_null 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 -- cgit v1.2.3