diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index a7a68a1..ead26c7 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v3 - uses: dart-lang/setup-dart@v1 with: - sdk: 3.4.0 + sdk: 3.6.0 - run: ./scripts/prepare - run: ./scripts/check-format @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@v3 - uses: dart-lang/setup-dart@v1 with: - sdk: 3.4.0 + sdk: 3.6.0 - run: scripts/prepare - run: scripts/check-analyzer @@ -30,6 +30,6 @@ jobs: - uses: actions/checkout@v3 - uses: dart-lang/setup-dart@v1 with: - sdk: 3.4.0 + sdk: 3.6.0 - run: ./scripts/prepare - run: ./scripts/run-tests diff --git a/lib/sum_data_types.dart b/lib/sum_data_types.dart index 240dc7b..3daeefa 100644 --- a/lib/sum_data_types.dart +++ b/lib/sum_data_types.dart @@ -1,4 +1,4 @@ -export 'package:meta/meta.dart' show immutable, required; +export 'package:meta/meta.dart' show immutable; /// Annotation to use to generate a data-class class DataClass { diff --git a/pubspec.yaml b/pubspec.yaml index b4f39bc..16c86ef 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,10 +1,10 @@ name: sum_data_types description: Automatically generates immutable data classes based on a "blueprint" mixin. -version: 0.3.0 +version: 0.3.1 repository: https://github.com/factisresearch/sum_data_types/tree/master environment: - sdk: ">=3.4.0 <4.0.0" + sdk: ">=3.6.0 <4.0.0" dependencies: meta: ^1.1.7 diff --git a/sum_data_types_generator/CHANGELOG.md b/sum_data_types_generator/CHANGELOG.md index 2ec4527..992e7e6 100644 --- a/sum_data_types_generator/CHANGELOG.md +++ b/sum_data_types_generator/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.3.1 + + * Bump analyzer to last version before breaking changes in `7.4.x` + (See https://github.com/dart-lang/sdk/blob/main/pkg/analyzer/doc/element_model_migration_guide.md) + ## 0.3.0 * Various dependency updates diff --git a/sum_data_types_generator/lib/common.dart b/sum_data_types_generator/lib/common.dart index 93be193..36f9f68 100644 --- a/sum_data_types_generator/lib/common.dart +++ b/sum_data_types_generator/lib/common.dart @@ -33,10 +33,7 @@ bool isType(DartType ty, String name, String packageUri, ImportModel imports) { return ty.element!.name == name && tyLib.toString() == packageUri; } -const quiverPackageUris = [ - 'package:quiver/src/core/optional.dart', - 'package:quiver/core.dart', -]; +const quiverPackageUris = ['package:quiver/src/core/optional.dart', 'package:quiver/core.dart']; bool isQuiverOptional(DartType ty, ImportModel imports) { return quiverPackageUris.any((packageUri) => isType(ty, 'Optional', packageUri, imports)); @@ -95,12 +92,14 @@ class ImportModel { } String lookupOptionalType() { - final modIdCandidates = - quiverPackageUris.where((packageUri) => this._uriToModuleId[packageUri] != null); + final modIdCandidates = quiverPackageUris.where( + (packageUri) => this._uriToModuleId[packageUri] != null, + ); if (modIdCandidates.isEmpty) { throw CodegenException( - "Cannot reference type 'Optional'. Please import the package '${quiverPackageUris[0]}', " - 'either unqualified or qualified.'); + "Cannot reference type 'Optional'. Please import the package '${quiverPackageUris[0]}', " + 'either unqualified or qualified.', + ); } else { final modId = modIdCandidates.first; final prefix = this._moduleIdToPrefix[modId]; @@ -175,11 +174,8 @@ class CodgenConfig { final bool genEqHashCode; final bool nnbd; - const CodgenConfig({ - bool? toString, - bool? eqHashCode, - required this.nnbd, - }) : genToString = toString ?? true, + const CodgenConfig({bool? toString, bool? eqHashCode, required this.nnbd}) + : genToString = toString ?? true, genEqHashCode = eqHashCode ?? true; } @@ -204,16 +200,12 @@ class CommonClassModel { required this.config, }); - factory CommonClassModel( - MixinElement clazz, - MkField mkField, - ConstantReader reader, - ) { + factory CommonClassModel(MixinElement clazz, MkField mkField, ConstantReader reader) { try { // build a map of the qualified imports, mapping module identifiers to import prefixes final lib = clazz.library; final imports = ImportModel(); - for (final imp in lib.libraryImports) { + for (final imp in lib.definingCompilationUnit.libraryImports) { imports.addImportElement(imp); } diff --git a/sum_data_types_generator/pubspec.yaml b/sum_data_types_generator/pubspec.yaml index 42101bd..b29b30b 100644 --- a/sum_data_types_generator/pubspec.yaml +++ b/sum_data_types_generator/pubspec.yaml @@ -1,21 +1,21 @@ name: sum_data_types_generator description: Automatically generates immutable data classes based on a "blueprint" mixin. -version: 0.3.0 +version: 0.3.1 repository: https://github.com/factisresearch/sum_data_types/tree/master/sum_data_types_generator environment: - sdk: ">=3.4.0 <4.0.0" + sdk: ">=3.6.0 <4.0.0" dependencies: - analyzer: ^6.5.0 + analyzer: ^7.7.0 build: ^2.0.0 meta: ^1.1.7 sum_data_types: ^0.1.1 - source_gen: ^1.0.0 + source_gen: ^2.0.0 dev_dependencies: build_runner: ^2.1.7 lints: ^4.0.0 - quiver: ^3.0.1 + quiver: 3.2.1 kt_dart: ^1.1.0 test: ^1.9.0