From aeb7caf9b19aa254efe0a76700285d9351aeb8db Mon Sep 17 00:00:00 2001 From: Michael Faille Date: Mon, 10 Feb 2025 03:39:16 -0800 Subject: [PATCH] Fix: Resolve Dart 3.5+ and json_serializable 6.9.0+ compatibility issues in generated dart-dio clients (#20460) This commit fixes compatibility problems between the generated dart-dio code, json_serializable 6.9.0+, and Dart SDK 3.5 or later. Changes: - Updated `pubspec.mustache`: - Set the minimum SDK constraint for the generated package to `>=3.5.0 <4.0.0`, reflecting the language version used in the generated code. - Bump `json_annotation` dependency to `^4.9.0`. - Bump `json_serializable` dependency to `^6.9.0`. These changes ensure that the generated code: - Is compatible with `json_serializable` 6.9.0+ and Dart SDK 3.5+. - Avoids Dart 3.5+ specific syntax that causes errors on older SDKs. - Maintains existing functionality and type safety. Resolves: #16117, #14863 --- .../resources/dart/libraries/dio/pubspec.mustache | 15 ++++++++------- .../client/petstore/dart-dio/oneof/pubspec.yaml | 7 ++++--- .../pubspec.yaml | 7 ++++--- .../dart-dio/oneof_primitive/pubspec.yaml | 7 ++++--- .../pubspec.yaml | 11 ++++++----- .../petstore_client_lib_fake/pubspec.yaml | 7 ++++--- 6 files changed, 30 insertions(+), 24 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache b/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache index 5a93026402d..6e27e330932 100644 --- a/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache +++ b/modules/openapi-generator/src/main/resources/dart/libraries/dio/pubspec.mustache @@ -9,11 +9,12 @@ repository: {{.}} publish_to: {{.}} {{/pubPublishTo}} + environment: - sdk: '>={{#useJsonSerializable}}2.17.0{{/useJsonSerializable}}{{^useJsonSerializable}}2.15.0{{/useJsonSerializable}} <4.0.0' + sdk: '>={{^useJsonSerializable}}2.18.0{{/useJsonSerializable}}{{#useJsonSerializable}}3.5.0{{/useJsonSerializable}} <4.0.0' dependencies: - dio: '^5.2.0' + dio: '^5.7.0' {{#useBuiltValue}} one_of: '>=1.5.0 <2.0.0' one_of_serializer: '>=1.5.0 <2.0.0' @@ -21,13 +22,13 @@ dependencies: built_collection: '>=5.1.1 <6.0.0' {{/useBuiltValue}} {{#useEquatable}} - equatable: '^2.0.5' + equatable: '^2.0.7' {{/useEquatable}} {{#useJsonSerializable}} - json_annotation: '^4.4.0' + json_annotation: '^4.9.0' {{/useJsonSerializable}} {{#useDateLibTimeMachine}} - time_machine: ^0.9.16 + time_machine: ^0.9.17 {{/useDateLibTimeMachine}} dev_dependencies: @@ -37,6 +38,6 @@ dev_dependencies: {{/useBuiltValue}} {{#useJsonSerializable}} build_runner: any - json_serializable: '^6.1.5' + json_serializable: '^6.9.3' {{/useJsonSerializable}} - test: ^1.16.0 + test: '^1.16.0' diff --git a/samples/openapi3/client/petstore/dart-dio/oneof/pubspec.yaml b/samples/openapi3/client/petstore/dart-dio/oneof/pubspec.yaml index efc0d4ccd70..d4121509b90 100644 --- a/samples/openapi3/client/petstore/dart-dio/oneof/pubspec.yaml +++ b/samples/openapi3/client/petstore/dart-dio/oneof/pubspec.yaml @@ -3,11 +3,12 @@ version: 1.0.0 description: OpenAPI API client homepage: homepage + environment: - sdk: '>=2.15.0 <4.0.0' + sdk: '>=2.18.0 <4.0.0' dependencies: - dio: '^5.2.0' + dio: '^5.7.0' one_of: '>=1.5.0 <2.0.0' one_of_serializer: '>=1.5.0 <2.0.0' built_value: '>=8.4.0 <9.0.0' @@ -16,4 +17,4 @@ dependencies: dev_dependencies: built_value_generator: '>=8.4.0 <9.0.0' build_runner: any - test: ^1.16.0 + test: '^1.16.0' diff --git a/samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance/pubspec.yaml b/samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance/pubspec.yaml index efc0d4ccd70..d4121509b90 100644 --- a/samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance/pubspec.yaml +++ b/samples/openapi3/client/petstore/dart-dio/oneof_polymorphism_and_inheritance/pubspec.yaml @@ -3,11 +3,12 @@ version: 1.0.0 description: OpenAPI API client homepage: homepage + environment: - sdk: '>=2.15.0 <4.0.0' + sdk: '>=2.18.0 <4.0.0' dependencies: - dio: '^5.2.0' + dio: '^5.7.0' one_of: '>=1.5.0 <2.0.0' one_of_serializer: '>=1.5.0 <2.0.0' built_value: '>=8.4.0 <9.0.0' @@ -16,4 +17,4 @@ dependencies: dev_dependencies: built_value_generator: '>=8.4.0 <9.0.0' build_runner: any - test: ^1.16.0 + test: '^1.16.0' diff --git a/samples/openapi3/client/petstore/dart-dio/oneof_primitive/pubspec.yaml b/samples/openapi3/client/petstore/dart-dio/oneof_primitive/pubspec.yaml index efc0d4ccd70..d4121509b90 100644 --- a/samples/openapi3/client/petstore/dart-dio/oneof_primitive/pubspec.yaml +++ b/samples/openapi3/client/petstore/dart-dio/oneof_primitive/pubspec.yaml @@ -3,11 +3,12 @@ version: 1.0.0 description: OpenAPI API client homepage: homepage + environment: - sdk: '>=2.15.0 <4.0.0' + sdk: '>=2.18.0 <4.0.0' dependencies: - dio: '^5.2.0' + dio: '^5.7.0' one_of: '>=1.5.0 <2.0.0' one_of_serializer: '>=1.5.0 <2.0.0' built_value: '>=8.4.0 <9.0.0' @@ -16,4 +17,4 @@ dependencies: dev_dependencies: built_value_generator: '>=8.4.0 <9.0.0' build_runner: any - test: ^1.16.0 + test: '^1.16.0' diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/pubspec.yaml b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/pubspec.yaml index 8a32778ad38..cbfddf172a6 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/pubspec.yaml +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable/pubspec.yaml @@ -3,14 +3,15 @@ version: 1.0.0 description: OpenAPI API client homepage: homepage + environment: - sdk: '>=2.17.0 <4.0.0' + sdk: '>=3.5.0 <4.0.0' dependencies: - dio: '^5.2.0' - json_annotation: '^4.4.0' + dio: '^5.7.0' + json_annotation: '^4.9.0' dev_dependencies: build_runner: any - json_serializable: '^6.1.5' - test: ^1.16.0 + json_serializable: '^6.9.3' + test: '^1.16.0' diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/pubspec.yaml b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/pubspec.yaml index efc0d4ccd70..d4121509b90 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/pubspec.yaml +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/pubspec.yaml @@ -3,11 +3,12 @@ version: 1.0.0 description: OpenAPI API client homepage: homepage + environment: - sdk: '>=2.15.0 <4.0.0' + sdk: '>=2.18.0 <4.0.0' dependencies: - dio: '^5.2.0' + dio: '^5.7.0' one_of: '>=1.5.0 <2.0.0' one_of_serializer: '>=1.5.0 <2.0.0' built_value: '>=8.4.0 <9.0.0' @@ -16,4 +17,4 @@ dependencies: dev_dependencies: built_value_generator: '>=8.4.0 <9.0.0' build_runner: any - test: ^1.16.0 + test: '^1.16.0'