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
This commit is contained in:
Michael Faille 2025-02-10 03:39:16 -08:00 committed by GitHub
parent cdfa7fee77
commit aeb7caf9b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 30 additions and 24 deletions

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'