From bbcc5977f49646941ac35060bb74a27eda5fbd76 Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Mon, 23 Jun 2025 14:56:04 +0200 Subject: ExecutionAPI: Support output_paths in requests ... and prepare local execution for clients using only RBEv2.1 (setting only output_paths). --- src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp | 9 +++++++++ src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp | 3 +++ 2 files changed, 12 insertions(+) (limited to 'src/buildtool/execution_api/bazel_msg') diff --git a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp index 68da1b87..5e6e6a45 100644 --- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp +++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp @@ -189,12 +189,21 @@ struct DirectoryNodeBundle final { std::copy(request.command_line->begin(), request.command_line->end(), pb::back_inserter(msg.mutable_arguments())); + + // DEPRECATED as of v2.1: use output_paths instead, combining + // output_files and output_dirs. std::copy(request.output_files->begin(), request.output_files->end(), pb::back_inserter(msg.mutable_output_files())); std::copy(request.output_dirs->begin(), request.output_dirs->end(), pb::back_inserter(msg.mutable_output_directories())); + + // NEW in v2.2 + std::copy(request.output_paths->begin(), + request.output_paths->end(), + pb::back_inserter(msg.mutable_output_paths())); + std::copy(request.env_vars->begin(), request.env_vars->end(), pb::back_inserter(msg.mutable_environment_variables())); diff --git a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp index 17c08f4d..d6557ae8 100644 --- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp +++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp @@ -219,6 +219,9 @@ struct BazelMsgFactory::ActionDigestRequest final { /// \brief The paths of output directories. VectorPtr const output_dirs; + /// \brief Generic output paths (indicates protocol >=v2.1 should be used). + VectorPtr const output_paths; + /// \brief The environment variables set. VectorPtr const env_vars; -- cgit v1.2.3