googleapis / googleapis/google-cloud-cpp

Audit `additional_proto_files`

Đang mở
#14,518 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
cpp: generator type: cleanup
Ngôn ngữ chính
C++
Star
659
Fork
462
Merge trung bình
1 ngày 2 giờ
Pull request đã merge (30 ngày)
89

Mô tả

LROs have an annotation for their returned metadata type. Proto syntax does not require `import`s for the proto files that define these metadata types. In C++ we have to include these files.

Our intention for `additional_proto_files` was to add includes for these extra `*.pb.h` headers.

Turns out that when we feed them into `protoc` we treat them the same as any other service's proto file.

https://github.com/googleapis/google-cloud-cpp/blob/a86e887fe2756935a51d4d93b42e45a0fdde7812/generator/standalone_main.cc#L314-L317

This leads to some weirdness in the generator config. In `notebooks` and `run`, we rely on this behavior to generate some clients (and avoid #7997). In `containeranalysis`, we accidentally generate a client for `grafeas` which we did not intend to. Oops.

We should sort this out.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Đọc generator/standalone_main.cc quanh các dòng 314-317, sau đó kiểm tra cấu hình generator cho notebooks, run và containeranalysis. Xác định additional_proto_files được truyền cho protoc như thế nào so với việc được dùng cho các header bổ sung. Hoàn thành nghĩa là vẫn giữ được các client được tạo theo dự định, đồng thời tránh client grafeas không mong muốn.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp
Lĩnh vực
tooling
Loại issue
Tái cấu trúc
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.