summaryrefslogtreecommitdiff
path: root/src/buildtool/serve_api/remote/target_client.hpp
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-12-13 10:33:07 +0100
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-12-14 17:08:51 +0100
commitafa55dd6d4b797787bb4f383f2b1c2f456430738 (patch)
treeb6043d237232429dc9cbe77c428a519d08a82add /src/buildtool/serve_api/remote/target_client.hpp
parent2f7b219d01699d72d6d933366c10fd300a90f89d (diff)
downloadjustbuild-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.hpp12
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"};