diff options
author | Oliver Reiche <oliver.reiche@huawei.com> | 2025-06-23 14:56:04 +0200 |
---|---|---|
committer | Oliver Reiche <oliver.reiche@huawei.com> | 2025-06-24 14:56:58 +0200 |
commit | bbcc5977f49646941ac35060bb74a27eda5fbd76 (patch) | |
tree | 4e11ded4722ea740fbeea12510efd34fe698c04b /src/buildtool/execution_api/local/local_api.hpp | |
parent | c498bf564fa5d781c176f65c7a9a2d43376a81f1 (diff) | |
download | justbuild-bbcc5977f49646941ac35060bb74a27eda5fbd76.tar.gz |
ExecutionAPI: Support output_paths in requests
... and prepare local execution for clients
using only RBEv2.1 (setting only output_paths).
Diffstat (limited to 'src/buildtool/execution_api/local/local_api.hpp')
-rw-r--r-- | src/buildtool/execution_api/local/local_api.hpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp index e2374258..1b6ddeab 100644 --- a/src/buildtool/execution_api/local/local_api.hpp +++ b/src/buildtool/execution_api/local/local_api.hpp @@ -40,6 +40,7 @@ class LocalApi final : public IExecutionApi { explicit LocalApi(gsl::not_null<LocalContext const*> const& local_context, RepositoryConfig const* repo_config = nullptr) noexcept; + // NOLINTNEXTLINE(google-default-arguments) [[nodiscard]] auto CreateAction( ArtifactDigest const& root_digest, std::vector<std::string> const& command, @@ -47,9 +48,30 @@ class LocalApi final : public IExecutionApi { std::vector<std::string> const& output_files, std::vector<std::string> const& output_dirs, std::map<std::string, std::string> const& env_vars, - std::map<std::string, std::string> const& properties) const noexcept + std::map<std::string, std::string> const& properties, + bool force_legacy = false) const noexcept -> IExecutionAction::Ptr final; + /// \brief Create a new action (>=RBEv2.1). + /// \param[in] root_digest Digest of the build root. + /// \param[in] command Command as argv vector + /// \param[in] cwd Working directory, relative to execution root + /// \param[in] output_paths List of output file/dir paths, relative to cwd + /// \param[in] env_vars The environment variables to set. + /// \param[in] properties Platform properties to set. + /// \returns The new action. + /// Note that, due to missing file/dir separation, the execution response + /// will not report output file symlinks and directory symlinks separately. + /// (see \ref LocalResponse::DirectorySymlinks) + [[nodiscard]] auto CreateAction( + ArtifactDigest const& root_digest, + std::vector<std::string> const& command, + std::string const& cwd, + std::vector<std::string> const& output_paths, + std::map<std::string, std::string> const& env_vars, + std::map<std::string, std::string> const& properties) const noexcept + -> IExecutionAction::Ptr; + // NOLINTNEXTLINE(google-default-arguments) [[nodiscard]] auto RetrieveToPaths( std::vector<Artifact::ObjectInfo> const& artifacts_info, |