Skip to content

Commit e01022a

Browse files
authored
fix: Update module alias to resolve naming conflict (#820)
In the current design, the first character of each package is used to create an alias. I'd like to append the first character before underscores in the package name to further reduce conflicts. Previously google.appengine_admin would have an alias prefix of ga. With this change, the alias prefix will be gaa. Fixes: #819
1 parent 5ca0999 commit e01022a

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

packages/gapic-generator/gapic/schema/metadata.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,12 @@ def module_alias(self) -> str:
115115
return '_'.join(
116116
(
117117
''.join(
118-
i[0]
119-
for i in self.package
120-
if i != self.api_naming.version
118+
[
119+
partial_name[0]
120+
for i in self.package
121+
for partial_name in i.split("_")
122+
if i != self.api_naming.version
123+
]
121124
),
122125
self.module,
123126
)

packages/gapic-generator/tests/unit/schema/test_metadata.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,14 @@ def test_address_name_builtin_keyword():
184184
)
185185
assert addr_kword.module_alias == "gp_class"
186186

187+
addr_kword = metadata.Address(
188+
name="Class",
189+
module="class",
190+
package=("google", "appengine_admin"),
191+
api_naming=naming.NewNaming(proto_package="foo.bar.baz.v1"),
192+
)
193+
assert addr_kword.module_alias == "gaa_class"
194+
187195

188196
def test_doc_nothing():
189197
meta = metadata.Metadata()

0 commit comments

Comments
 (0)