diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-12-13 10:33:07 +0100 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-12-14 17:08:51 +0100 |
commit | afa55dd6d4b797787bb4f383f2b1c2f456430738 (patch) | |
tree | b6043d237232429dc9cbe77c428a519d08a82add /src/buildtool/serve_api/remote/target_client.hpp | |
parent | 2f7b219d01699d72d6d933366c10fd300a90f89d (diff) | |
download | justbuild-afa55dd6d4b797787bb4f383f2b1c2f456430738.tar.gz |
just serve target description: Client-side and API implementation
Diffstat (limited to 'src/buildtool/serve_api/remote/target_client.hpp')
-rw-r--r-- | src/buildtool/serve_api/remote/target_client.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/buildtool/serve_api/remote/target_client.hpp b/src/buildtool/serve_api/remote/target_client.hpp index 9219fb3d..66c6dcf2 100644 --- a/src/buildtool/serve_api/remote/target_client.hpp +++ b/src/buildtool/serve_api/remote/target_client.hpp @@ -23,6 +23,7 @@ #include "justbuild/just_serve/just_serve.grpc.pb.h" #include "src/buildtool/common/artifact.hpp" +#include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/remote/port.hpp" #include "src/buildtool/execution_api/common/create_execution_api.hpp" #include "src/buildtool/logging/logger.hpp" @@ -54,6 +55,17 @@ class TargetClient { std::string const& target) -> std::optional<std::vector<std::string>>; + /// \brief Retrieve the artifact digest of the blob containing the export + /// target description fields required by just describe. + /// \param[in] target_root_id Hash of target-level root tree. + /// \param[in] target_file Relative path of the target file. + /// \param[in] target Name of the target to interrogate. + /// \returns The artifact digest, or nullopt on errors. + [[nodiscard]] auto ServeTargetDescription(std::string const& target_root_id, + std::string const& target_file, + std::string const& target) + -> std::optional<ArtifactDigest>; + private: std::unique_ptr<justbuild::just_serve::Target::Stub> stub_; Logger logger_{"RemoteTargetClient"}; |