Skip to content

Commit ea2e07f

Browse files
authored
doc: nth pass on generating libraries (#12157)
1 parent 236b5be commit ea2e07f

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

doc/contributor/howto-guide-adding-generated-libraries.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ Otherwise, if you are generating an experimental library, add it to
193193
`GOOGLE_CLOUD_CPP_EXPERIMENTAL_LIBRARIES` and note in a comment when the library
194194
was generated.
195195

196+
Update `libraries.bzl` to include the new library. While this can be done by
197+
running a cmake-based build, it is fastest to edit the file manually.
198+
196199
### Update the quickstart
197200

198201
The generated quickstart will need some editing. Use a simple operation, maybe
@@ -217,7 +220,7 @@ running while you work on tweaks to the quickstart and documentation.
217220
```shell
218221
env GOOGLE_CLOUD_CPP_CHECK_API=${library} ci/cloudbuild/build.sh -t check-api-pr
219222
git add ci/abi-dumps
220-
git commit -m"Add API baseline" ci/abi-dumps/
223+
git commit -m"Add API baseline"
221224
```
222225

223226
### Update the README files
@@ -304,6 +307,8 @@ library=... # e.g. bigquery
304307
api_name=... # e.g. BigLake API
305308
```
306309

310+
- Check out a new branch
311+
- `git checkout -b feat-expand-${library}`
307312
- Update `generator_config.textproto`
308313
- Update and run `external/googleapis/update_libraries.sh ${library}`
309314
- Add the new directory to `service_dirs` in:
@@ -312,6 +317,7 @@ api_name=... # e.g. BigLake API
312317
- Add the new `*_cc_grpc` dependency to
313318
`//google/cloud/${library}:${library}_client` in
314319
`google/cloud/${library}/BUILD.bazel`
320+
- Review the `google/cloud/${library}/**/.repo-metadata.json` file
315321
- Announce the new API in the `CHANGELOG.md`
316322
- e.g. `The library has been expanded to include the ${api_name}.`
317323
- Commit the manual changes
@@ -321,11 +327,18 @@ api_name=... # e.g. BigLake API
321327

322328
```shell
323329
ci/cloudbuild/build.sh -t generate-libraries-pr
324-
env GOOGLE_CLOUD_CPP_CHECK_API ${library} ci/cloudbuild/build.sh -t check-api-pr
330+
env GOOGLE_CLOUD_CPP_CHECK_API=${library} ci/cloudbuild/build.sh -t check-api-pr
325331
git add .
326332
ci/cloudbuild/build.sh -t checkers-pr
327333
git commit -am "generated changes"
328334
```
329335

336+
### Verify everything compiles
337+
338+
```shell
339+
bazel build //google/cloud/${library}/...
340+
ci/cloudbuild/build.sh -t cmake-install-pr
341+
```
342+
330343
[#10237]: https://github.com/googleapis/google-cloud-cpp/issues/10237
331344
[retryable-status-codes]: https://github.com/googleapis/googleapis/blob/70147caca58ebf4c8cd7b96f5d569a72723e11c1/google/cloud/secretmanager/v1/secretmanager_grpc_service_config.json#L77-L80

0 commit comments

Comments
 (0)