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.cpp | |
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.cpp')
-rw-r--r-- | src/buildtool/serve_api/remote/target_client.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/buildtool/serve_api/remote/target_client.cpp b/src/buildtool/serve_api/remote/target_client.cpp index 7819efb6..e45c4669 100644 --- a/src/buildtool/serve_api/remote/target_client.cpp +++ b/src/buildtool/serve_api/remote/target_client.cpp @@ -149,3 +149,24 @@ auto TargetClient::ServeTargetVariables(std::string const& target_root_id, } return res; } + +auto TargetClient::ServeTargetDescription(std::string const& target_root_id, + std::string const& target_file, + std::string const& target) + -> std::optional<ArtifactDigest> { + justbuild::just_serve::ServeTargetDescriptionRequest request{}; + request.set_root_tree(target_root_id); + request.set_target_file(target_file); + request.set_target(target); + + grpc::ClientContext context; + justbuild::just_serve::ServeTargetDescriptionResponse response; + grpc::Status status = + stub_->ServeTargetDescription(&context, request, &response); + + if (not status.ok()) { + LogStatus(&logger_, LogLevel::Error, status); + return std::nullopt; + } + return ArtifactDigest{response.description_id()}; +} |