googleapis / googleapis/google-cloud-cpp

Use first client with a `List*()` operation for quickstart skeleton

オープン
#12,632 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
cpp: generator cpp: operator type: cleanup
主要言語
C++
スター
659
フォーク
462
平均マージ
1日 2時間
マージ済み PR(30日)
89

説明

The scaffold generator runs without any context of the protos in use. We could move the generation of the quickstart skeleton to have access to the service definition. With that information we could generate a correct include file here:

https://github.com/googleapis/google-cloud-cpp/blob/43cd3d9a65df32310bca8d8878ee322d73493a03/generator/internal/scaffold_generator.cc#L938

and maybe pick the first `List*()` overload consuming a string (with some fallback to "EDIT HERE" if there is none):

https://github.com/googleapis/google-cloud-cpp/blob/43cd3d9a65df32310bca8d8878ee322d73493a03/generator/internal/scaffold_generator.cc#L953

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

generator/internal/scaffold_generator.cc の、参照されている include 生成箇所と List*() 選択箇所から開始します。scaffold generator が現在 proto コンテキストなしでどのように実行されているかを追跡し、その後、サービス定義を利用可能にする方法を判断します。quickstart のスケルトンが正しい include を出力し、文字列を受け取る最初の List*() オーバーロードを選択し、該当するものがない場合は "EDIT HERE" にフォールバックすれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
tooling
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。