Skip to content

Commit 42e0527

Browse files
committed
resolve undeterministic generation issue
1 parent 840b265 commit 42e0527

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,12 @@ def resource_messages(self) -> Mapping[str, wrappers.MessageType]:
170170
if msg.options.Extensions[resource_pb2.resource].type
171171
)
172172
return collections.OrderedDict(
173-
itertools.chain(
174-
file_resource_messages,
175-
resource_messages,
173+
sorted(
174+
itertools.chain(
175+
file_resource_messages,
176+
resource_messages,
177+
),
178+
key=lambda item: item[0]
176179
)
177180
)
178181

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2278,9 +2278,9 @@ def names(self) -> FrozenSet[str]:
22782278
return frozenset(answer)
22792279

22802280
@utils.cached_property
2281-
def resource_messages(self) -> FrozenSet[MessageType]:
2281+
def resource_messages(self) -> Sequence['MessageType']:
22822282
"""Returns all the resource message types used in all
2283-
request and response fields in the service."""
2283+
request and response fields in the service, deterministically sorted."""
22842284

22852285
def gen_resources(message):
22862286
if message.resource_path:
@@ -2301,7 +2301,7 @@ def gen_indirect_resources_used(message):
23012301
if resource:
23022302
yield resource
23032303

2304-
return frozenset(
2304+
unique_messages = frozenset(
23052305
msg
23062306
for method in self.methods.values()
23072307
for msg in chain(
@@ -2316,6 +2316,13 @@ def gen_indirect_resources_used(message):
23162316
)
23172317
)
23182318

2319+
return tuple(
2320+
sorted(
2321+
unique_messages,
2322+
key=lambda m: m.resource_type_full_path or m.name
2323+
)
2324+
)
2325+
23192326
@utils.cached_property
23202327
def resource_messages_dict(self) -> Dict[str, MessageType]:
23212328
"""Returns a dict from resource reference to

0 commit comments

Comments
 (0)