diff options
-rw-r--r-- | src/buildtool/serve_api/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/serve_api/remote/TARGETS | 13 | ||||
-rw-r--r-- | src/buildtool/serve_api/remote/serve_api.cpp | 4 | ||||
-rw-r--r-- | src/buildtool/serve_api/remote/serve_api.hpp | 6 | ||||
-rw-r--r-- | src/buildtool/serve_api/remote/source_tree_client.cpp (renamed from src/buildtool/serve_api/remote/serve_target_level_cache_client.cpp) | 13 | ||||
-rw-r--r-- | src/buildtool/serve_api/remote/source_tree_client.hpp (renamed from src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp) | 14 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/source_tree.cpp | 12 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/source_tree.hpp | 14 | ||||
-rw-r--r-- | test/buildtool/serve_api/TARGETS | 17 | ||||
-rw-r--r-- | test/buildtool/serve_api/source_tree_client.test.cpp (renamed from test/buildtool/serve_api/target_level_cache_client.test.cpp) | 16 |
11 files changed, 47 insertions, 64 deletions
diff --git a/src/buildtool/serve_api/TARGETS b/src/buildtool/serve_api/TARGETS new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/src/buildtool/serve_api/TARGETS @@ -0,0 +1 @@ +{} diff --git a/src/buildtool/serve_api/remote/TARGETS b/src/buildtool/serve_api/remote/TARGETS index 45114f57..9b038440 100644 --- a/src/buildtool/serve_api/remote/TARGETS +++ b/src/buildtool/serve_api/remote/TARGETS @@ -5,11 +5,11 @@ , "deps": [["src/buildtool/common/remote", "remote_common"]] , "stage": ["src", "buildtool", "serve_api", "remote"] } -, "serve_target_level_cache_client": +, "source_tree_client": { "type": ["@", "rules", "CC", "library"] - , "name": ["serve_target_level_cache_client"] - , "hdrs": ["serve_target_level_cache_client.hpp"] - , "srcs": ["serve_target_level_cache_client.cpp"] + , "name": ["source_tree_client"] + , "hdrs": ["source_tree_client.hpp"] + , "srcs": ["source_tree_client.cpp"] , "deps": [ ["src/buildtool/common/remote", "port"] , ["src/buildtool/logging", "logging"] @@ -23,10 +23,7 @@ , "name": ["serve_api"] , "hdrs": ["serve_api.hpp"] , "srcs": ["serve_api.cpp"] - , "deps": - [ ["src/buildtool/common/remote", "port"] - , "serve_target_level_cache_client" - ] + , "deps": [["src/buildtool/common/remote", "port"], "source_tree_client"] , "stage": ["src", "buildtool", "serve_api", "remote"] } } diff --git a/src/buildtool/serve_api/remote/serve_api.cpp b/src/buildtool/serve_api/remote/serve_api.cpp index 7b57d7d0..0b0493d7 100644 --- a/src/buildtool/serve_api/remote/serve_api.cpp +++ b/src/buildtool/serve_api/remote/serve_api.cpp @@ -15,7 +15,7 @@ #include "src/buildtool/serve_api/remote/serve_api.hpp" ServeApi::ServeApi(std::string const& host, Port port) noexcept - : tlc_{std::make_unique<ServeTargetLevelCacheClient>(host, port)} {} + : stc_{std::make_unique<SourceTreeClient>(host, port)} {} // implement move constructor in cpp, where all members are complete types ServeApi::ServeApi(ServeApi&& other) noexcept = default; @@ -27,5 +27,5 @@ auto ServeApi::RetrieveTreeFromCommit(std::string const& commit, std::string const& subdir, bool sync_tree) -> std::optional<std::string> { - return tlc_->ServeCommitTree(commit, subdir, sync_tree); + return stc_->ServeCommitTree(commit, subdir, sync_tree); } diff --git a/src/buildtool/serve_api/remote/serve_api.hpp b/src/buildtool/serve_api/remote/serve_api.hpp index d3fc29d1..d206b416 100644 --- a/src/buildtool/serve_api/remote/serve_api.hpp +++ b/src/buildtool/serve_api/remote/serve_api.hpp @@ -20,7 +20,7 @@ #include <string> #include "src/buildtool/common/remote/port.hpp" -#include "src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp" +#include "src/buildtool/serve_api/remote/source_tree_client.hpp" class ServeApi final { public: @@ -42,8 +42,8 @@ class ServeApi final { -> std::optional<std::string>; private: - // target-level cache service client - std::unique_ptr<ServeTargetLevelCacheClient> tlc_; + // source tree service client + std::unique_ptr<SourceTreeClient> stc_; }; #endif // INCLUDED_SRC_BUILDTOOL_SERVE_API_REMOTE_SERVE_API_HPP diff --git a/src/buildtool/serve_api/remote/serve_target_level_cache_client.cpp b/src/buildtool/serve_api/remote/source_tree_client.cpp index b414b7ac..2026d80d 100644 --- a/src/buildtool/serve_api/remote/serve_target_level_cache_client.cpp +++ b/src/buildtool/serve_api/remote/source_tree_client.cpp @@ -12,20 +12,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp" +#include "src/buildtool/serve_api/remote/source_tree_client.hpp" #include "src/buildtool/common/remote/client_common.hpp" -ServeTargetLevelCacheClient::ServeTargetLevelCacheClient( - std::string const& server, - Port port) noexcept { +SourceTreeClient::SourceTreeClient(std::string const& server, + Port port) noexcept { stub_ = justbuild::just_serve::SourceTree::NewStub( CreateChannelWithCredentials(server, port)); } -auto ServeTargetLevelCacheClient::ServeCommitTree(std::string const& commit_id, - std::string const& subdir, - bool sync_tree) +auto SourceTreeClient::ServeCommitTree(std::string const& commit_id, + std::string const& subdir, + bool sync_tree) -> std::optional<std::string> { justbuild::just_serve::ServeCommitTreeRequest request{}; request.set_commit(commit_id); diff --git a/src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp b/src/buildtool/serve_api/remote/source_tree_client.hpp index 551759cb..1b557163 100644 --- a/src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp +++ b/src/buildtool/serve_api/remote/source_tree_client.hpp @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef INCLUDED_SRC_BUILDTOOL_SERVE_API_REMOTE_SERVE_TLC_CLIENT_HPP -#define INCLUDED_SRC_BUILDTOOL_SERVE_API_REMOTE_SERVE_TLC_CLIENT_HPP +#ifndef INCLUDED_SRC_BUILDTOOL_SERVE_API_SOURCE_TREE_CLIENT_HPP +#define INCLUDED_SRC_BUILDTOOL_SERVE_API_SOURCE_TREE_CLIENT_HPP #include <memory> #include <string> @@ -22,11 +22,11 @@ #include "src/buildtool/common/remote/port.hpp" #include "src/buildtool/logging/logger.hpp" -/// Implements client side for service defined in: +/// Implements client side for SourceTree service defined in: /// src/buildtool/serve_api/serve_service/just_serve.proto -class ServeTargetLevelCacheClient { +class SourceTreeClient { public: - ServeTargetLevelCacheClient(std::string const& server, Port port) noexcept; + SourceTreeClient(std::string const& server, Port port) noexcept; /// \brief Retrieve the Git tree of a given commit, if known by the remote. /// \param[in] commit_id Hash of the Git commit to look up. @@ -40,7 +40,7 @@ class ServeTargetLevelCacheClient { private: std::unique_ptr<justbuild::just_serve::SourceTree::Stub> stub_; - Logger logger_{"RemoteTLCClient"}; + Logger logger_{"RemoteSourceTreeClient"}; }; -#endif // INCLUDED_SRC_BUILDTOOL_SERVE_API_REMOTE_SERVE_TLC_CLIENT_HPP +#endif // INCLUDED_SRC_BUILDTOOL_SERVE_API_SOURCE_TREE_CLIENT_HPP diff --git a/src/buildtool/serve_api/serve_service/TARGETS b/src/buildtool/serve_api/serve_service/TARGETS index f3d78414..bc8edfd0 100644 --- a/src/buildtool/serve_api/serve_service/TARGETS +++ b/src/buildtool/serve_api/serve_service/TARGETS @@ -3,7 +3,6 @@ , "name": ["just_serve_proto"] , "service": ["yes"] , "srcs": ["just_serve.proto"] - , "deps": [["@", "bazel_remote_apis", "", "remote_execution_proto"]] , "stage": ["justbuild", "just_serve"] } , "source_tree": diff --git a/src/buildtool/serve_api/serve_service/source_tree.cpp b/src/buildtool/serve_api/serve_service/source_tree.cpp index cb3f6220..c8315325 100644 --- a/src/buildtool/serve_api/serve_service/source_tree.cpp +++ b/src/buildtool/serve_api/serve_service/source_tree.cpp @@ -24,7 +24,7 @@ #include "src/buildtool/serve_api/remote/config.hpp" #include "src/buildtool/storage/config.hpp" -auto SourceTreeService::GetTreeFromCommit( +auto SourceTreeService::GetSubtreeFromCommit( std::filesystem::path const& repo_path, std::string const& commit, std::string const& subdir, @@ -36,8 +36,8 @@ auto SourceTreeService::GetTreeFromCommit( [logger, repo_path, commit](auto const& msg, bool fatal) { if (fatal) { auto err = fmt::format( - "ServeCommitTree: While retrieving tree of commit " - "{} from repository {}:\n{}", + "ServeCommitTree: While retrieving subtree of " + "commit {} from repository {}:\n{}", commit, repo_path.string(), msg); @@ -63,7 +63,7 @@ auto SourceTreeService::ServeCommitTree( auto const& commit{request->commit()}; auto const& subdir{request->subdir()}; // try in local build root Git cache - if (auto tree_id = GetTreeFromCommit( + if (auto tree_id = GetSubtreeFromCommit( StorageConfig::GitRoot(), commit, subdir, logger_)) { if (request->sync_tree()) { // sync tree with remote CAS @@ -95,8 +95,8 @@ auto SourceTreeService::ServeCommitTree( } // try given extra repositories, in order for (auto const& path : RemoteServeConfig::KnownRepositories()) { - if (auto tree_id = GetTreeFromCommit(path, commit, subdir, logger_)) { - + if (auto tree_id = + GetSubtreeFromCommit(path, commit, subdir, logger_)) { if (request->sync_tree()) { // sync tree with remote CAS auto digest = ArtifactDigest{*tree_id, 0, /*is_tree=*/true}; diff --git a/src/buildtool/serve_api/serve_service/source_tree.hpp b/src/buildtool/serve_api/serve_service/source_tree.hpp index 089844a1..a74de455 100644 --- a/src/buildtool/serve_api/serve_service/source_tree.hpp +++ b/src/buildtool/serve_api/serve_service/source_tree.hpp @@ -33,15 +33,9 @@ class SourceTreeService final : public justbuild::just_serve::SourceTree::Service { public: - // Retrieve the tree of a commit. + // Retrieve the Git-subtree identifier from a given Git commit. // - // This request interrogates the service whether it knows a given Git - // commit. If requested commit is found, it provides the commit's - // Git-tree identifier. - // - // Errors: - // - // * `NOT_FOUND`: The requested commit could not be found. + // There are no method-specific errors. auto ServeCommitTree( ::grpc::ServerContext* context, const ::justbuild::just_serve::ServeCommitTreeRequest* request, @@ -58,11 +52,11 @@ class SourceTreeService final gsl::not_null<IExecutionApi::Ptr> const local_api_{ CreateExecutionApi(std::nullopt)}; - [[nodiscard]] static auto GetTreeFromCommit( + [[nodiscard]] static auto GetSubtreeFromCommit( std::filesystem::path const& repo_path, std::string const& commit, std::string const& subdir, std::shared_ptr<Logger> const& logger) -> std::optional<std::string>; }; -#endif +#endif // INCLUDED_SRC_BUILDTOOL_SERVE_API_SERVE_SERVICE_SOURCE_TREE_HPP diff --git a/test/buildtool/serve_api/TARGETS b/test/buildtool/serve_api/TARGETS index b4405888..5d8af3c0 100644 --- a/test/buildtool/serve_api/TARGETS +++ b/test/buildtool/serve_api/TARGETS @@ -1,22 +1,15 @@ -{ "target_level_cache_client": +{ "source_tree_client": { "type": ["utils/serve_service", "CC test"] - , "name": ["target_level_cache_client"] - , "srcs": ["target_level_cache_client.test.cpp"] + , "name": ["source_tree_client"] + , "srcs": ["source_tree_client.test.cpp"] , "data": [["buildtool/file_system", "test_data"]] , "private-deps": [ ["@", "catch2", "", "catch2"] , ["utils", "catch-main-serve"] - , [ "@" - , "src" - , "src/buildtool/serve_api/remote" - , "serve_target_level_cache_client" - ] + , ["@", "src", "src/buildtool/serve_api/remote", "source_tree_client"] ] , "stage": ["test", "buildtool", "serve_api"] } , "TESTS": - { "type": "install" - , "tainted": ["test"] - , "deps": ["target_level_cache_client"] - } + {"type": "install", "tainted": ["test"], "deps": ["source_tree_client"]} } diff --git a/test/buildtool/serve_api/target_level_cache_client.test.cpp b/test/buildtool/serve_api/source_tree_client.test.cpp index 972d57eb..8c1e3b30 100644 --- a/test/buildtool/serve_api/target_level_cache_client.test.cpp +++ b/test/buildtool/serve_api/source_tree_client.test.cpp @@ -16,7 +16,7 @@ #include "catch2/catch_test_macros.hpp" #include "src/buildtool/serve_api/remote/config.hpp" -#include "src/buildtool/serve_api/remote/serve_target_level_cache_client.hpp" +#include "src/buildtool/serve_api/remote/source_tree_client.hpp" auto const kRootCommit = std::string{"e4fc610c60716286b98cf51ad0c8f0d50f3aebb5"}; @@ -32,36 +32,36 @@ TEST_CASE("Serve service client: tree-of-commit request", "[serve_api]") { auto const& info = RemoteServeConfig::RemoteAddress(); // Create TLC client - ServeTargetLevelCacheClient tlc_client(info->host, info->port); + SourceTreeClient st_client(info->host, info->port); SECTION("Commit in bare checkout") { - auto root_id = tlc_client.ServeCommitTree(kRootCommit, ".", false); + auto root_id = st_client.ServeCommitTree(kRootCommit, ".", false); REQUIRE(root_id); CHECK(root_id.value() == kRootId); - auto baz_id = tlc_client.ServeCommitTree(kRootCommit, "baz", false); + auto baz_id = st_client.ServeCommitTree(kRootCommit, "baz", false); REQUIRE(baz_id); CHECK(baz_id.value() == kBazId); } SECTION("Commit in non-bare checkout") { - auto root_id = tlc_client.ServeCommitTree(kRootSymCommit, ".", false); + auto root_id = st_client.ServeCommitTree(kRootSymCommit, ".", false); REQUIRE(root_id); CHECK(root_id.value() == kRootSymId); - auto baz_id = tlc_client.ServeCommitTree(kRootSymCommit, "baz", false); + auto baz_id = st_client.ServeCommitTree(kRootSymCommit, "baz", false); REQUIRE(baz_id); CHECK(baz_id.value() == kBazSymId); } SECTION("Subdir not found") { auto root_id = - tlc_client.ServeCommitTree(kRootCommit, "does_not_exist", false); + st_client.ServeCommitTree(kRootCommit, "does_not_exist", false); CHECK_FALSE(root_id); } SECTION("Commit not known") { - auto root_id = tlc_client.ServeCommitTree( + auto root_id = st_client.ServeCommitTree( "0123456789abcdef0123456789abcdef01234567", ".", false); CHECK_FALSE(root_id); } |