Skip to content

Commit c1f77ce

Browse files
iscai-msftiscai-msft
andauthored
[python] add CrossLanguageVersion to apiview-properties.json (#10587)
Will emit something like ```json { "CrossLanguagePackageId": "Client.Naming.EnumConflict", "CrossLanguageDefinitionId": { "client.naming.enumconflict.firstnamespace.models.FirstModel": "Client.Naming.EnumConflict.FirstNamespace.FirstModel", "client.naming.enumconflict.secondnamespace.models.SecondModel": "Client.Naming.EnumConflict.SecondNamespace.SecondModel", "client.naming.enumconflict.models.Status": "Client.Naming.EnumConflict.FirstNamespace.Status", "client.naming.enumconflict.models.SecondStatus": "Client.Naming.EnumConflict.SecondNamespace.Status", "client.naming.enumconflict.operations.FirstOperationsOperations.first": "Client.Naming.EnumConflict.FirstOperations.first", "client.naming.enumconflict.aio.operations.FirstOperationsOperations.first": "Client.Naming.EnumConflict.FirstOperations.first", "client.naming.enumconflict.operations.SecondOperationsOperations.second": "Client.Naming.EnumConflict.SecondOperations.second", "client.naming.enumconflict.aio.operations.SecondOperationsOperations.second": "Client.Naming.EnumConflict.SecondOperations.second" }, "CrossLanguageVersion": "2eb972a19ec9" } ``` `"CrossLanguageVersion"` is gotten from tcgc Co-authored-by: iscai-msft <isabellavcai@gmail.com>
1 parent 2f9a2c2 commit c1f77ce

4 files changed

Lines changed: 10 additions & 0 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
changeKind: feature
3+
packages:
4+
- "@typespec/http-client-python"
5+
---
6+
7+
add `CrossLanguageVersion` to `apiview-properties.json`

packages/http-client-python/emitter/src/code-model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ export function emitCodeModel(sdkContext: PythonSdkContext) {
400400
...sdkContext.__simpleTypesMap.values(),
401401
];
402402
codeModel["crossLanguagePackageId"] = ignoreDiagnostics(getCrossLanguagePackageId(sdkContext));
403+
codeModel["crossLanguageVersion"] = sdkContext.sdkPackage.crossLanguageVersion;
403404
if ((sdkContext.emitContext.options as any).flavor === "azure") {
404405
const metadata = { ...sdkPackage.metadata } as any;
405406
if (metadata.apiVersions) {

packages/http-client-python/generator/pygen/codegen/models/code_model.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ def __init__(
9595
t for t in self.types_map.values() if isinstance(t, CombinedType) and t.name
9696
]
9797
self.cross_language_package_id = self.yaml_data.get("crossLanguagePackageId")
98+
self.cross_language_version = self.yaml_data.get("crossLanguageVersion")
9899
self.for_test: bool = False
99100
# key is typespec namespace, value is models/clients/opeartion_groups/enums cache in the namespace
100101
self._client_namespace_types: dict[str, ClientNamespaceType] = {}

packages/http-client-python/generator/pygen/codegen/serializers/general_serializer.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,7 @@ def serialize_cross_language_definition_file(self) -> str:
329329
{
330330
"CrossLanguagePackageId": self.code_model.cross_language_package_id,
331331
"CrossLanguageDefinitionId": cross_langauge_def_dict,
332+
"CrossLanguageVersion": self.code_model.cross_language_version,
332333
},
333334
indent=4,
334335
)

0 commit comments

Comments
 (0)