소스 검색

protoc-gen-grpc-swift: generate only requested files (#794)

When trying to generate a `.proto` file the plugin is generating
classes for the whole dependency tree.
Jagoba Gascón 5 년 전
부모
커밋
b899330214
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      Sources/protoc-gen-grpc-swift/main.swift

+ 2 - 1
Sources/protoc-gen-grpc-swift/main.swift

@@ -108,7 +108,8 @@ func main() throws {
 
   // process each .proto file in filename order in an attempt to stabilise the output (i.e. where
   // conformance to `GRPCPayload` is generated)
-  for fileDescriptor in descriptorSet.files.sorted(by: { $0.name < $1.name }) {
+  for name in request.fileToGenerate.sorted() {
+    let fileDescriptor = descriptorSet.lookupFileDescriptor(protoName: name)
     if fileDescriptor.services.count > 0 {
       let grpcFileName = uniqueOutputFileName(component: "grpc", fileDescriptor: fileDescriptor, fileNamingOption: options.fileNaming)
       let grpcGenerator = Generator(fileDescriptor, options: options, observedMessages: observedMessages)