Skip to content

Commit ec5506c

Browse files
authored
chore: new client generation README to have table for special case (#10214)
1 parent 08f5d13 commit ec5506c

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

generation/new_client/README.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -310,10 +310,20 @@ Options:
310310

311311
Sometimes, a library generation requires special handling for
312312
Maven coordinates or API ID, especially when the library is not
313-
specific to Google Cloud. Refer to the following command example when we
314-
generated Google Maps Routes API Java client library.
313+
specific to Google Cloud. The table below is the summary of the
314+
special cases:
315315

316-
**Note that for `maps` clients, include `maps` as a prefix to the `api_shortname`.**
316+
| API paths | `--api_shortname` | `--distribution-name` |
317+
|-------------------|-----------------------------|--------------------------------------------------------|
318+
| google/shopping/* | `shopping-<API short name>` | `com.google.shipping:google-shopping-<API short name>` |
319+
| google/maps/* | `maps-<API short name>` | `com.google.maps:google-maps-<API short name>` |
320+
321+
where `<API short name>` is the value from Cloud Drop file.
322+
323+
For example, the following command example was when we generated Google Maps Routes
324+
API Java client library.
325+
Notice `maps` as a prefix to the `--api_shortname` and it specifies `com.google.maps` group ID in
326+
`--distribution-name`, while keeping `--api-id` with the value in Cloud Drop page.
317327

318328
```
319329
~/google-cloud-java$ python3.9 generation/new_client/new-client.py generate \
@@ -327,6 +337,7 @@ generated Google Maps Routes API Java client library.
327337
--requires-billing=true \
328338
--distribution-name="com.google.maps:google-maps-routing"
329339
```
340+
330341
### Example with duplicate api_short_name
331342

332343
Let's say you get a new library request where the Cloud Drop value for `api_short_name` is `maps-routing`.
@@ -356,12 +367,13 @@ Let's say that after some discussion, `maps-routing-gps` is selected as a suitab
356367
# Principles
357368

358369
The script should finish creating a pull request even when the newly created
359-
module fails to compile. This gives the user flexibility to fix things in the
370+
module fails to compile. This gives the user (release manager) some flexibility to fix things in the
360371
created pull request.
361372

362373
# Common Errors
363374

364375
## Unable to clone googleapis-gen
376+
365377
```
366378
Creating a new module /usr/local/google/home/lawrenceqiu/IdeaProjects/google-cloud-java/java-vmwareengine
367379
gcr.io/cloud-devrel-public-resources/owlbot-java:latest
@@ -390,11 +402,14 @@ Traceback (most recent call last):
390402
raise CalledProcessError(retcode, cmd)
391403
subprocess.CalledProcessError: Command '['git', 'clone', '-q', 'https://github.com/googleapis/googleapis-gen.git', './gen/googleapis-gen']' returned non-zero exit status 128.
392404
```
405+
393406
### Solution
407+
394408
Run `gh auth login` and choose to authenticate with HTTPS. You may already be authenticated with SSH.
395409
![img.png](img.png)
396410

397411
## Owl-bot Staging Directory Not Found
412+
398413
```
399414
Removing googleapis-gen...
400415
mv: cannot stat 'owl-bot-staging': No such file or directory
@@ -419,9 +434,11 @@ subprocess.CalledProcessError: Command '['mv', 'owl-bot-staging', '../']' return
419434
```
420435

421436
### Solution
437+
422438
The proto path is incorrect. See the `Proto Path` section to find the correct path.
423439

424440
## Python3.9 is not Installed
441+
425442
```
426443
pyenv: version `3.9.13' is not installed (set by /workspace/.python-version)
427444
Traceback (most recent call last):
@@ -445,6 +462,7 @@ subprocess.CalledProcessError: Command '['docker', 'run', '--rm', '-v', '/usr/lo
445462
```
446463

447464
### Solution
465+
448466
You have run the `pyenv local 3.9.13` in the `google-cloud-java` repo.
449467
1. Remove the `.python-version` file in `google-cloud-java`.
450468
2. `cd ..` out to the parent directory and run `pyenv local 3.9.13` there

0 commit comments

Comments
 (0)