Author: Sam McCall Date: 2020-10-23T15:20:51+02:00 New Revision: e6c1c3f97f13b7d973fa786a3f2da883fa31bdf6
URL: https://github.com/llvm/llvm-project/commit/e6c1c3f97f13b7d973fa786a3f2da883fa31bdf6 DIFF: https://github.com/llvm/llvm-project/commit/e6c1c3f97f13b7d973fa786a3f2da883fa31bdf6.diff LOG: [clang] Split remote index service definition into a separate file. This allows it to have a separate namespace (grpc versioned service) without putting versioning info on all of the other protos (before we need it). clang-index-server is still broken (from 81e5f298c431555). Differential Revision: https://reviews.llvm.org/D90031 Added: clang-tools-extra/clangd/index/remote/Service.proto Modified: clang-tools-extra/clangd/index/remote/CMakeLists.txt clang-tools-extra/clangd/index/remote/Client.cpp clang-tools-extra/clangd/index/remote/Index.proto clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt clang-tools-extra/clangd/index/remote/server/CMakeLists.txt clang-tools-extra/clangd/index/remote/server/Server.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clangd/index/remote/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/CMakeLists.txt index 8bd5db543921..94f5699b42d6 100644 --- a/clang-tools-extra/clangd/index/remote/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/CMakeLists.txt @@ -1,5 +1,6 @@ if (CLANGD_ENABLE_REMOTE) - generate_protos(RemoteIndexProtos "Index.proto" GRPC) + generate_protos(RemoteIndexServiceProto "Service.proto" GRPC) + generate_protos(RemoteIndexProto "Index.proto") include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../) @@ -12,7 +13,8 @@ if (CLANGD_ENABLE_REMOTE) Client.cpp LINK_LIBS - RemoteIndexProtos + RemoteIndexProto + RemoteIndexServiceProto clangdRemoteMarshalling protobuf @@ -21,7 +23,8 @@ if (CLANGD_ENABLE_REMOTE) clangdSupport DEPENDS - RemoteIndexProtos + RemoteIndexProto + RemoteIndexServiceProto ) add_subdirectory(marshalling) diff --git a/clang-tools-extra/clangd/index/remote/Client.cpp b/clang-tools-extra/clangd/index/remote/Client.cpp index d01dd4483974..a134d9c72932 100644 --- a/clang-tools-extra/clangd/index/remote/Client.cpp +++ b/clang-tools-extra/clangd/index/remote/Client.cpp @@ -9,7 +9,7 @@ #include <grpc++/grpc++.h> #include "Client.h" -#include "Index.grpc.pb.h" +#include "Service.grpc.pb.h" #include "index/Index.h" #include "index/Serialization.h" #include "marshalling/Marshalling.h" diff --git a/clang-tools-extra/clangd/index/remote/Index.proto b/clang-tools-extra/clangd/index/remote/Index.proto index a9ebc75ebc88..654d1eb750f0 100644 --- a/clang-tools-extra/clangd/index/remote/Index.proto +++ b/clang-tools-extra/clangd/index/remote/Index.proto @@ -10,19 +10,6 @@ syntax = "proto2"; package clang.clangd.remote.v1; -// Semantics of SymbolIndex match clangd::SymbolIndex with all required -// structures corresponding to their clangd::* counterparts. -// NOTE: Enum values are offset by one to detect missing values. -service SymbolIndex { - rpc Lookup(LookupRequest) returns (stream LookupReply) {} - - rpc FuzzyFind(FuzzyFindRequest) returns (stream FuzzyFindReply) {} - - rpc Refs(RefsRequest) returns (stream RefsReply) {} - - rpc Relations(RelationsRequest) returns (stream RelationsReply) {} -} - message LookupRequest { repeated string ids = 1; } // The response is a stream of symbol messages and the terminating message diff --git a/clang-tools-extra/clangd/index/remote/Service.proto b/clang-tools-extra/clangd/index/remote/Service.proto new file mode 100644 index 000000000000..4e39ff9ec666 --- /dev/null +++ b/clang-tools-extra/clangd/index/remote/Service.proto @@ -0,0 +1,26 @@ +//===--- Service.proto - Remote index service definition ------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +syntax = "proto2"; + +package clang.clangd.remote.v1; + +import "Index.proto"; + +// Semantics of SymbolIndex match clangd::SymbolIndex with all required +// structures corresponding to their clangd::* counterparts. +service SymbolIndex { + rpc Lookup(LookupRequest) returns (stream LookupReply) {} + + rpc FuzzyFind(FuzzyFindRequest) returns (stream FuzzyFindReply) {} + + rpc Refs(RefsRequest) returns (stream RefsReply) {} + + rpc Relations(RelationsRequest) returns (stream RelationsReply) {} +} + diff --git a/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt index 75e57edd45d9..7b78ba3bb690 100644 --- a/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt @@ -2,12 +2,12 @@ add_clang_library(clangdRemoteMarshalling Marshalling.cpp LINK_LIBS - RemoteIndexProtos + RemoteIndexProto protobuf clangDaemon clangdSupport DEPENDS - RemoteIndexProtos + RemoteIndexProto ) diff --git a/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt b/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt index 9ca1f3473087..595c406eff0f 100644 --- a/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt +++ b/clang-tools-extra/clangd/index/remote/server/CMakeLists.txt @@ -5,7 +5,8 @@ add_clang_executable(clangd-index-server Server.cpp DEPENDS - RemoteIndexProtos + RemoteIndexProto + RemoteIndexServiceProto ) target_link_libraries(clangd-index-server @@ -13,7 +14,8 @@ target_link_libraries(clangd-index-server clangDaemon clangdSupport - RemoteIndexProtos + RemoteIndexProto + RemoteIndexServiceProto clangdRemoteMarshalling grpc++ diff --git a/clang-tools-extra/clangd/index/remote/server/Server.cpp b/clang-tools-extra/clangd/index/remote/server/Server.cpp index d8cf54249662..df8ef2ba2f47 100644 --- a/clang-tools-extra/clangd/index/remote/server/Server.cpp +++ b/clang-tools-extra/clangd/index/remote/server/Server.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "Index.pb.h" +#include "Service.grpc.pb.h" #include "index/Index.h" #include "index/Serialization.h" #include "index/Symbol.h" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits