googleapis / googleapis/google-cloud-cpp
Use first client with a `List*()` operation for quickstart skeleton
- 主要言語
- 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