brick_build 4.0.0
brick_build: ^4.0.0 copied to clipboard
Code generation library and interface for Brick components. Useful for creating serdes generators for adapters.
Unreleased #
4.0.0 #
- Dart minimum SDK is updated to
3.4.0 - All dependency restrictions are updated to include the minimum released version.
3.3.1 #
- Remove
FieldSerializable#nullablerequirement ondeserializerNullableClause - Update minimum
brick_coreto1.4.0
3.3.0 #
- Add documentation to increase pub.flutter-io.cn score
- Update minimum
brick_coreto1.3.0 - Update analysis to modern lints
3.2.1 #
- Revert
.getDisplayString()change due to Flutter 3.22 being restricted to analyzer <6.4.1.metais pinned to1.12in this version of Flutter, andanalyzer >=6.5.0, where the change was made, requiresmeta >= 1.15. This change will eventually be re-reverted.
3.2.0 #
- Add convenience mixin
AnnotationFinderWithFieldRenamefor field renames in generators - Add
SharedChecker#withoutNullResultTypefor retrieving the final typed version of a field. "withoutNull" was used instead of the more idiomatic "non-null" because non-null in the Dart ecosystem and lower-level analyzer means "not null-safe." This method strips null suffixes and type symbols like<and>. - BREAKING CHANGE Remove
StringHelpers.kebabCaseandStringHelpers.pascalCase. These should be invoked from theAnnotationFinderWithFieldRename#renameFieldmethod.
3.1.0 #
- Apply standardized lints
constantizeAggregateBuilder- Update
analyzerconstraints to>=6.0.0 <7.0.0 - Format CHANGELOG.md
3.0.1 #
- Support Dart 3
3.0.0 #
- Update
AggregateBuilder#requiredImportsdocs - Remove unnecessary assignment in
BaseBuilder#replaceWithinFile - Update minimum
analyzerconstraint to5.0.0
2.1.2 #
- Remove
// This file should NOT be version controlled and should not be manually edited.from adapter generator and model dictionary generator. Both file types can be version controlled;manually editedis redundant givent the precedingGENERATED CODE DO NOT EDITwarning
2.1.1 #
- Add
#hasEnumDeserializeFactoryand#hasEnumSerializeMethodtoSharedChecker
2.1.0 #
- Upgrade analyzer to version 4
2.0.2 #
- Loosen dependency restrictions to major versions
- Fix duplicate imports to
brick.g.dartwhen class names start with the same prefix
2.0.1 #
- Add
fromJsonConstructorandtoJsonMethodtoSharedChecker, supporting easy discovery of standard methodsfactory fromJsonand#toJson.
2.0.0 #
- BREAKING CHANGE
brick.g.dartandadaptersare now saved to abrick/folder. This replaces theappfolder. Please renameapptobrickto safely migrate. - BREAKING CHANGE models are now discovered by the
.model.dartsuffix. This permits models to be stored anywhere in a package. Please rename yourmodels/*.dartfiles tomodels/*.model.dart. - Fix adapters builder
- Fix
brick.g.dartimports
2.0.0-rc.3 #
- Include
1.4.0+1changes
2.0.0-rc.2 #
- Fix adapters builder
- Fix
brick.g.dartimports
2.0.0-rc.1 #
- BREAKING CHANGE
brick.g.dartandadaptersare now saved to abrick/folder. This replaces theappfolder. Please renameapptobrickto safely migrate. - BREAKING CHANGE models are now discovered by the
.model.dartsuffix. This permits models to be stored anywhere in a package. Please rename yourmodels/*.dartfiles tomodels/*.model.dart.
1.4.0+1 #
- Fix field sorting and discovery error
1.4.0 #
- Alphabetize methods (internal refactor)
- Upgrade
analyzerdependency to3.2.0
1.3.0 #
- Upgrade
brick_core
1.2.3 #
- Allow forced type nullability on
getAssociationMethodfor improved null safety on future internals.
1.2.2+1 #
- Access
checkForFieldby default only when deserializing for fields instead of constructor overrides
1.2.2 #
- Add
checkForFieldmethod to enforce constructor preference over field definition for type inference in adapter generation.
1.2.1 #
- Remove
// ignore_for_file: prefer_null_aware_operators
1.2.0+3 #
- Remove
// ignore_for_file: unnecessary_non_null_assertionand// ignore_for_file: invalid_null_aware_operatorfrom all adapters and add// ignore_for_file: prefer_null_aware_operators - Remove setting
repositoryHasBeenForceCastinSerdesGenerator#getAssociationMethod
1.2.0+2 #
- Remove
@visibleForOverridingannotation fromSerdesGenerator#deserializeNullableClause
1.2.0 #
- Add Dart Lints
- Improve null safe checking in example
- Add
repositoryHasBeenForceCastto determine whether a repository needs to use the null operator!. Warnings clutter the console when runningflutter buildorflutter testand they cannot be disabled with--no-sound-null-safety - Convert
SerdesGenerator.getAssociationMethodtoSerdesGenerator#getAssociationMethodto accessrepositoryHasBeenForceCast
1.1.0+3 #
- Ignore
unnecessary_non_null_assertionandinvalid_null_aware_operatorin adapter generated code. If a repository is forced to a non-null value (repository!) subsequent access of the repository must not have an operator (repository.instead ofrepository?). Brick determines properties on a per-member basis, requiring a break in architecture to resolve subsquent access. These are linter warnings, not errors, and therefore they're safe to ignore for adapters.
1.1.0+2 #
- Remove
partandexportdirectives during build
1.1.0+1 #
- Do not generate null-safe return values in adapters if the member cannot be null. For example, this would remove
data['name'] == null ? null :in the REST adapter function of field that cannot be null in Dart >=2.12
1.1.0 #
- BREAKING CHANGE removing
testing.dartin favor of new packagebrick_build_test. Please useimport 'package:brick_build_test/brick_build_test.dart'instead.source_gen_testis not null safe, and testing shouldn't be in distributed packages anyway.
1.0.0 #
- Null safety
0.0.9 #
- If
fromGeneratorortoGeneratoris declared, the field will be generated for deserializing and serializing adapters, respectively - Strictly assign analyzer ahead of nullability release versions
0.0.8+2 #
- Override build methods
0.0.8+1 #
- Remove
getInheritedConcreteMapfromfields_for_class.dartas it's no longer used.
0.0.8 #
- Add method
ignoreCoderForFieldtoSerdesGenerator. This doesn't change existing functionality; it only moves it to an overridable method.
0.0.7 #
- Use assignable instead of super type comparison when checking for siblings to account for inherited classes (#55)
- Add ability to overwrite the nullable check for deserializing members
0.0.6 #
- Rename
ProviderSerializabletoProviderSerializableGeneratorto be more explicit - Rename
SharedChecker#mapArgstoSharedChecker#typeArguments
0.0.4 #
- Update for new brick_core API on
Where - Move shareable methods from
OfflineFirstSerdesGeneratortoSerdesGenerator - Constrain version of brick_core
- Split code to separate projects:
rest_serdesto brick_rest_generators,sqlite_serdesand subsequent SQLite builders to brick_sqlite_generators, and all OfflineFirst-specific logic to brick_offline_first_with_rest_build. testing.dartis available for useful testing methods- This package is now a series of utilities and interfaces; it no longer produces generated code.
0.0.3 #
- Use
ConnectOfflineFirstWithRest
0.0.2 #
- Uses
getDisplayStringinstead of deprecatedname - Fix linter hints