diff options
Diffstat (limited to 'src/buildtool/execution_api')
19 files changed, 119 insertions, 32 deletions
diff --git a/src/buildtool/execution_api/execution_service/TARGETS b/src/buildtool/execution_api/execution_service/TARGETS index 18a66818..05db677d 100644 --- a/src/buildtool/execution_api/execution_service/TARGETS +++ b/src/buildtool/execution_api/execution_service/TARGETS @@ -3,10 +3,15 @@ , "name": ["execution_server"] , "hdrs": ["execution_server.hpp"] , "srcs": ["execution_server.cpp"] - , "proto": [["@", "bazel_remote_apis", "", "remote_execution_proto"]] + , "proto": + [ ["@", "bazel_remote_apis", "", "remote_execution_proto"] + , ["@", "googleapis", "", "google_longrunning_operations_proto"] + , ["@", "googleapis", "", "google_rpc_status_proto"] + ] , "stage": ["src", "buildtool", "execution_api", "execution_service"] , "deps": [ "operation_cache" + , ["@", "grpc", "", "grpc++"] , ["@", "gsl", "", "gsl"] , ["src/buildtool/common", "bazel_types"] , ["src/buildtool/execution_api/common", "common"] @@ -18,11 +23,14 @@ ] , "private-deps": [ ["@", "fmt", "", "fmt"] + , ["@", "protoc", "", "libprotobuf"] , ["src/buildtool/common", "artifact_digest_factory"] , ["src/buildtool/common", "common"] , ["src/buildtool/common", "protocol_traits"] + , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/execution_api/local", "local"] , ["src/buildtool/file_system", "file_system_manager"] + , ["src/buildtool/file_system", "object_type"] , ["src/buildtool/logging", "log_level"] , ["src/utils/cpp", "hex_string"] , ["src/utils/cpp", "path"] @@ -38,7 +46,8 @@ , "proto": [["@", "bazel_remote_apis", "", "remote_execution_proto"]] , "stage": ["src", "buildtool", "execution_api", "execution_service"] , "deps": - [ ["@", "gsl", "", "gsl"] + [ ["@", "grpc", "", "grpc++"] + , ["@", "gsl", "", "gsl"] , ["src/buildtool/common", "bazel_types"] , ["src/buildtool/execution_api/local", "context"] , ["src/buildtool/logging", "logging"] @@ -49,7 +58,9 @@ [ ["@", "fmt", "", "fmt"] , ["src/buildtool/common", "artifact_digest_factory"] , ["src/buildtool/common", "common"] + , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/logging", "log_level"] + , ["src/utils/cpp", "expected"] ] } , "cas_server": @@ -57,10 +68,14 @@ , "name": ["cas_server"] , "hdrs": ["cas_server.hpp"] , "srcs": ["cas_server.cpp"] - , "proto": [["@", "bazel_remote_apis", "", "remote_execution_proto"]] + , "proto": + [ ["@", "bazel_remote_apis", "", "remote_execution_proto"] + , ["@", "googleapis", "", "google_rpc_status_proto"] + ] , "stage": ["src", "buildtool", "execution_api", "execution_service"] , "deps": - [ ["@", "gsl", "", "gsl"] + [ ["@", "grpc", "", "grpc++"] + , ["@", "gsl", "", "gsl"] , ["src/buildtool/common", "bazel_types"] , ["src/buildtool/execution_api/local", "context"] , ["src/buildtool/logging", "logging"] @@ -70,10 +85,12 @@ , "private-deps": [ "cas_utils" , ["@", "fmt", "", "fmt"] + , ["@", "protoc", "", "libprotobuf"] , ["src/buildtool/common", "artifact_digest_factory"] , ["src/buildtool/common", "common"] - , ["src/buildtool/common", "protocol_traits"] + , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/logging", "log_level"] + , ["src/utils/cpp", "expected"] ] } , "server_implementation": @@ -98,10 +115,14 @@ , ["@", "fmt", "", "fmt"] , ["@", "grpc", "", "grpc++"] , ["@", "json", "", "json"] + , ["src/buildtool/auth", "auth"] , ["src/buildtool/common", "protocol_traits"] , ["src/buildtool/common/remote", "port"] + , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] + , ["src/buildtool/storage", "config"] + , ["src/utils/cpp", "type_safe_arithmetic"] ] } , "bytestream_server": @@ -112,7 +133,8 @@ , "proto": [["@", "googleapis", "", "google_bytestream_proto"]] , "stage": ["src", "buildtool", "execution_api", "execution_service"] , "deps": - [ ["@", "gsl", "", "gsl"] + [ ["@", "grpc", "", "grpc++"] + , ["@", "gsl", "", "gsl"] , ["src/buildtool/execution_api/local", "context"] , ["src/buildtool/logging", "logging"] , ["src/buildtool/storage", "config"] @@ -121,12 +143,14 @@ , "private-deps": [ "cas_utils" , ["@", "fmt", "", "fmt"] + , ["@", "protoc", "", "libprotobuf"] , ["src/buildtool/common", "artifact_digest_factory"] , ["src/buildtool/common", "bazel_types"] , ["src/buildtool/common", "common"] + , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/execution_api/common", "bytestream_utils"] - , ["src/buildtool/file_system", "file_system_manager"] , ["src/buildtool/logging", "log_level"] + , ["src/utils/cpp", "expected"] , ["src/utils/cpp", "tmp_dir"] ] } @@ -135,10 +159,14 @@ , "name": ["capabilities_server"] , "hdrs": ["capabilities_server.hpp"] , "srcs": ["capabilities_server.cpp"] - , "proto": [["@", "bazel_remote_apis", "", "remote_execution_proto"]] + , "proto": + [ ["@", "bazel_remote_apis", "", "remote_execution_proto"] + , ["@", "bazel_remote_apis", "", "semver_proto"] + ] , "stage": ["src", "buildtool", "execution_api", "execution_service"] , "deps": - [ ["src/buildtool/common", "bazel_types"] + [ ["@", "grpc", "", "grpc++"] + , ["src/buildtool/common", "bazel_types"] , ["src/buildtool/crypto", "hash_function"] ] , "private-deps": @@ -163,6 +191,7 @@ , "srcs": ["operations_server.cpp"] , "deps": [ "operation_cache" + , ["@", "grpc", "", "grpc++"] , ["@", "gsl", "", "gsl"] , ["@", "protoc", "", "libprotobuf"] , ["src/buildtool/logging", "logging"] @@ -191,6 +220,7 @@ [ ["@", "fmt", "", "fmt"] , ["@", "gsl", "", "gsl"] , ["src/buildtool/common", "protocol_traits"] + , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/file_system", "file_system_manager"] ] } diff --git a/src/buildtool/execution_api/execution_service/ac_server.cpp b/src/buildtool/execution_api/execution_service/ac_server.cpp index d0c1a74c..d9832874 100644 --- a/src/buildtool/execution_api/execution_service/ac_server.cpp +++ b/src/buildtool/execution_api/execution_service/ac_server.cpp @@ -14,11 +14,17 @@ #include "src/buildtool/execution_api/execution_service/ac_server.hpp" +#include <optional> +#include <string> +#include <utility> + #include "fmt/core.h" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" +#include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/storage/garbage_collector.hpp" +#include "src/utils/cpp/expected.hpp" auto ActionCacheServiceImpl::GetActionResult( ::grpc::ServerContext* /*context*/, diff --git a/src/buildtool/execution_api/execution_service/ac_server.hpp b/src/buildtool/execution_api/execution_service/ac_server.hpp index 268bbf9a..0f3bdc3d 100644 --- a/src/buildtool/execution_api/execution_service/ac_server.hpp +++ b/src/buildtool/execution_api/execution_service/ac_server.hpp @@ -15,6 +15,8 @@ #ifndef AC_SERVER_HPP #define AC_SERVER_HPP +#include <grpcpp/grpcpp.h> + #include "build/bazel/remote/execution/v2/remote_execution.grpc.pb.h" #include "gsl/gsl" #include "src/buildtool/common/bazel_types.hpp" diff --git a/src/buildtool/execution_api/execution_service/bytestream_server.cpp b/src/buildtool/execution_api/execution_service/bytestream_server.cpp index 642347cc..802878a4 100644 --- a/src/buildtool/execution_api/execution_service/bytestream_server.cpp +++ b/src/buildtool/execution_api/execution_service/bytestream_server.cpp @@ -12,22 +12,26 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "bytestream_server.hpp" +#include "src/buildtool/execution_api/execution_service/bytestream_server.hpp" #include <cstddef> +#include <filesystem> #include <fstream> -#include <sstream> -#include <utility> +#include <memory> +#include <optional> +#include <string> #include "fmt/core.h" +#include "google/protobuf/stubs/port.h" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" #include "src/buildtool/common/bazel_types.hpp" +#include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/common/bytestream_utils.hpp" #include "src/buildtool/execution_api/execution_service/cas_utils.hpp" -#include "src/buildtool/file_system/file_system_manager.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/storage/garbage_collector.hpp" +#include "src/utils/cpp/expected.hpp" #include "src/utils/cpp/tmp_dir.hpp" auto BytestreamServiceImpl::Read( diff --git a/src/buildtool/execution_api/execution_service/bytestream_server.hpp b/src/buildtool/execution_api/execution_service/bytestream_server.hpp index 27ea1972..89bbcdda 100644 --- a/src/buildtool/execution_api/execution_service/bytestream_server.hpp +++ b/src/buildtool/execution_api/execution_service/bytestream_server.hpp @@ -15,7 +15,10 @@ #ifndef BYTESTREAM_SERVER_HPP #define BYTESTREAM_SERVER_HPP +#include <grpcpp/grpcpp.h> + #include "google/bytestream/bytestream.grpc.pb.h" +#include "google/bytestream/bytestream.pb.h" #include "gsl/gsl" #include "src/buildtool/execution_api/local/context.hpp" #include "src/buildtool/logging/logger.hpp" diff --git a/src/buildtool/execution_api/execution_service/capabilities_server.cpp b/src/buildtool/execution_api/execution_service/capabilities_server.cpp index dc1532e1..6ce91da9 100644 --- a/src/buildtool/execution_api/execution_service/capabilities_server.cpp +++ b/src/buildtool/execution_api/execution_service/capabilities_server.cpp @@ -16,6 +16,7 @@ #include <cstddef> +#include "build/bazel/semver/semver.pb.h" #include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" diff --git a/src/buildtool/execution_api/execution_service/capabilities_server.hpp b/src/buildtool/execution_api/execution_service/capabilities_server.hpp index d1706584..caff803c 100644 --- a/src/buildtool/execution_api/execution_service/capabilities_server.hpp +++ b/src/buildtool/execution_api/execution_service/capabilities_server.hpp @@ -15,6 +15,8 @@ #ifndef CAPABILITIES_SERVER_HPP #define CAPABILITIES_SERVER_HPP +#include <grpcpp/grpcpp.h> + #include "build/bazel/remote/execution/v2/remote_execution.grpc.pb.h" #include "src/buildtool/common/bazel_types.hpp" #include "src/buildtool/crypto/hash_function.hpp" diff --git a/src/buildtool/execution_api/execution_service/cas_server.cpp b/src/buildtool/execution_api/execution_service/cas_server.cpp index f32b2754..759c7108 100644 --- a/src/buildtool/execution_api/execution_service/cas_server.cpp +++ b/src/buildtool/execution_api/execution_service/cas_server.cpp @@ -15,20 +15,25 @@ #include "src/buildtool/execution_api/execution_service/cas_server.hpp" #include <algorithm> -#include <cstddef> #include <filesystem> #include <fstream> +#include <iterator> +#include <optional> #include <sstream> +#include <string> #include <utility> // std::move #include <vector> #include "fmt/core.h" +#include "google/protobuf/repeated_ptr_field.h" +#include "google/rpc/status.pb.h" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" -#include "src/buildtool/common/protocol_traits.hpp" +#include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/execution_service/cas_utils.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/storage/garbage_collector.hpp" +#include "src/utils/cpp/expected.hpp" namespace { [[nodiscard]] auto ChunkingAlgorithmToString( diff --git a/src/buildtool/execution_api/execution_service/cas_server.hpp b/src/buildtool/execution_api/execution_service/cas_server.hpp index 2e139560..122d0648 100644 --- a/src/buildtool/execution_api/execution_service/cas_server.hpp +++ b/src/buildtool/execution_api/execution_service/cas_server.hpp @@ -15,8 +15,7 @@ #ifndef CAS_SERVER_HPP #define CAS_SERVER_HPP -#include <optional> -#include <string> +#include <grpcpp/grpcpp.h> #include "build/bazel/remote/execution/v2/remote_execution.grpc.pb.h" #include "gsl/gsl" diff --git a/src/buildtool/execution_api/execution_service/cas_utils.cpp b/src/buildtool/execution_api/execution_service/cas_utils.cpp index ecd75c4f..b5b5ad0c 100644 --- a/src/buildtool/execution_api/execution_service/cas_utils.cpp +++ b/src/buildtool/execution_api/execution_service/cas_utils.cpp @@ -14,15 +14,15 @@ #include "src/buildtool/execution_api/execution_service/cas_utils.hpp" -#include <type_traits> +#include <optional> #include <utility> #include "fmt/core.h" #include "gsl/gsl" #include "src/buildtool/common/protocol_traits.hpp" +#include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" #include "src/buildtool/storage/large_object_cas.hpp" -#include "src/buildtool/storage/local_cas.hpp" namespace { [[nodiscard]] auto ToGrpc(LargeObjectError&& error) noexcept -> grpc::Status { diff --git a/src/buildtool/execution_api/execution_service/cas_utils.hpp b/src/buildtool/execution_api/execution_service/cas_utils.hpp index b98e3223..b91b3bef 100644 --- a/src/buildtool/execution_api/execution_service/cas_utils.hpp +++ b/src/buildtool/execution_api/execution_service/cas_utils.hpp @@ -16,11 +16,11 @@ #define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_EXECUTION_SERVICE_CAS_UTILS_HPP #include <filesystem> -#include <optional> #include <string> #include <vector> -#include "grpcpp/support/status.h" +#include <grpcpp/support/status.h> + #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/storage/storage.hpp" #include "src/utils/cpp/expected.hpp" diff --git a/src/buildtool/execution_api/execution_service/execution_server.cpp b/src/buildtool/execution_api/execution_service/execution_server.cpp index 1b416ec8..d199989a 100644 --- a/src/buildtool/execution_api/execution_service/execution_server.cpp +++ b/src/buildtool/execution_api/execution_service/execution_server.cpp @@ -14,18 +14,32 @@ #include "src/buildtool/execution_api/execution_service/execution_server.hpp" -#include <algorithm> +#include <chrono> +#include <filesystem> #include <fstream> +#include <functional> +#include <map> +#include <memory> #include <string> +#include <thread> +#include <unordered_map> #include <utility> +#include <vector> #include "fmt/core.h" +#include "google/protobuf/any.pb.h" +#include "google/protobuf/repeated_ptr_field.h" +#include "google/protobuf/timestamp.pb.h" +#include "google/rpc/status.pb.h" +#include "src/buildtool/common/artifact.hpp" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" #include "src/buildtool/common/protocol_traits.hpp" +#include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/execution_service/operation_cache.hpp" #include "src/buildtool/execution_api/local/local_cas_reader.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" +#include "src/buildtool/file_system/object_type.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/storage/garbage_collector.hpp" #include "src/utils/cpp/hex_string.hpp" diff --git a/src/buildtool/execution_api/execution_service/execution_server.hpp b/src/buildtool/execution_api/execution_service/execution_server.hpp index 65709cf2..7e1bcfa1 100644 --- a/src/buildtool/execution_api/execution_service/execution_server.hpp +++ b/src/buildtool/execution_api/execution_service/execution_server.hpp @@ -19,10 +19,15 @@ #include <optional> #include <string> +#include <grpcpp/grpcpp.h> + #include "build/bazel/remote/execution/v2/remote_execution.grpc.pb.h" +#include "google/longrunning/operations.pb.h" #include "gsl/gsl" #include "src/buildtool/common/bazel_types.hpp" +#include "src/buildtool/execution_api/common/execution_action.hpp" #include "src/buildtool/execution_api/common/execution_api.hpp" +#include "src/buildtool/execution_api/common/execution_response.hpp" #include "src/buildtool/execution_api/execution_service/operation_cache.hpp" #include "src/buildtool/execution_api/local/context.hpp" #include "src/buildtool/logging/logger.hpp" diff --git a/src/buildtool/execution_api/execution_service/operation_cache.cpp b/src/buildtool/execution_api/execution_service/operation_cache.cpp index 1502016e..4104adf4 100644 --- a/src/buildtool/execution_api/execution_service/operation_cache.cpp +++ b/src/buildtool/execution_api/execution_service/operation_cache.cpp @@ -15,6 +15,9 @@ #include "src/buildtool/execution_api/execution_service/operation_cache.hpp" #include <algorithm> +#include <compare> // for operator< +#include <iterator> // for back_insert_iterator +#include <vector> // for vector #include "google/protobuf/timestamp.pb.h" diff --git a/src/buildtool/execution_api/execution_service/operation_cache.hpp b/src/buildtool/execution_api/execution_service/operation_cache.hpp index 1d51854e..38500286 100644 --- a/src/buildtool/execution_api/execution_service/operation_cache.hpp +++ b/src/buildtool/execution_api/execution_service/operation_cache.hpp @@ -15,19 +15,17 @@ #ifndef OPERATION_CACHE_HPP #define OPERATION_CACHE_HPP -#include <atomic> #include <cstddef> #include <cstdint> +#include <functional> #include <mutex> #include <optional> #include <shared_mutex> #include <string> -#include <thread> #include <unordered_map> -#include <vector> +#include <utility> #include "google/longrunning/operations.pb.h" -#include "google/protobuf/timestamp.pb.h" class OperationCache final { using Operation = ::google::longrunning::Operation; diff --git a/src/buildtool/execution_api/execution_service/operations_server.cpp b/src/buildtool/execution_api/execution_service/operations_server.cpp index 33fd61b4..1b9b4b53 100644 --- a/src/buildtool/execution_api/execution_service/operations_server.cpp +++ b/src/buildtool/execution_api/execution_service/operations_server.cpp @@ -14,6 +14,10 @@ #include "src/buildtool/execution_api/execution_service/operations_server.hpp" +#include <optional> +#include <string> +#include <utility> + #include "fmt/core.h" #include "src/buildtool/execution_api/execution_service/operation_cache.hpp" #include "src/buildtool/logging/log_level.hpp" diff --git a/src/buildtool/execution_api/execution_service/operations_server.hpp b/src/buildtool/execution_api/execution_service/operations_server.hpp index 5947eeb7..90130a91 100644 --- a/src/buildtool/execution_api/execution_service/operations_server.hpp +++ b/src/buildtool/execution_api/execution_service/operations_server.hpp @@ -15,7 +15,11 @@ #ifndef OPERATIONS_SERVER_HPP #define OPERATIONS_SERVER_HPP +#include <grpcpp/grpcpp.h> + #include "google/longrunning/operations.grpc.pb.h" +#include "google/longrunning/operations.pb.h" +#include "google/protobuf/empty.pb.h" #include "gsl/gsl" #include "src/buildtool/execution_api/execution_service/operation_cache.hpp" #include "src/buildtool/logging/logger.hpp" diff --git a/src/buildtool/execution_api/execution_service/server_implementation.cpp b/src/buildtool/execution_api/execution_service/server_implementation.cpp index 0b921d6b..bca5ab8f 100644 --- a/src/buildtool/execution_api/execution_service/server_implementation.cpp +++ b/src/buildtool/execution_api/execution_service/server_implementation.cpp @@ -14,20 +14,26 @@ #include "src/buildtool/execution_api/execution_service/server_implementation.hpp" -#include <iostream> -#include <memory> - #ifdef __unix__ -#include <sys/types.h> +#include <unistd.h> #else #error "Non-unix is not supported yet" #endif +#include <fstream> +#include <memory> +#include <utility> +#include <variant> +#include <vector> + +#include <grpcpp/grpcpp.h> + #include "fmt/core.h" -#include "grpcpp/grpcpp.h" #include "nlohmann/json.hpp" +#include "src/buildtool/auth/authentication.hpp" #include "src/buildtool/common/protocol_traits.hpp" #include "src/buildtool/common/remote/port.hpp" +#include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/execution_api/execution_service/ac_server.hpp" #include "src/buildtool/execution_api/execution_service/bytestream_server.hpp" #include "src/buildtool/execution_api/execution_service/capabilities_server.hpp" @@ -36,6 +42,8 @@ #include "src/buildtool/execution_api/execution_service/operations_server.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" +#include "src/buildtool/storage/config.hpp" +#include "src/utils/cpp/type_safe_arithmetic.hpp" namespace { template <typename T> diff --git a/src/buildtool/execution_api/execution_service/server_implementation.hpp b/src/buildtool/execution_api/execution_service/server_implementation.hpp index 1a5db508..581365ff 100644 --- a/src/buildtool/execution_api/execution_service/server_implementation.hpp +++ b/src/buildtool/execution_api/execution_service/server_implementation.hpp @@ -16,7 +16,6 @@ #define SERVER_IMPLEMENATION_HPP #include <cstdint> -#include <fstream> #include <optional> #include <string> |