-
Notifications
You must be signed in to change notification settings - Fork 18
Feat/upgrade-analyzer8 #42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…encies - Resolve compatibility issues with Freezed 3.0.0 and above - Update Dart SDK to >=3.0.0 - Upgrade dependencies to latest versions - Add support for Freezed mixed mode classes - Update generator to handle new Freezed class structures - Improve compatibility with newer analyzer and source_gen versions
- Upgrade cloud_firestore dependency to ^6.0.0 - Update pubspec.yaml and CHANGELOG for versioning - Modify transaction and batch methods to remove 'id' field from documents - Enhance testing setup in README for running integration tests - Add new tests for Freezed and other integration scenarios
…m and generator - Upgrade Dart SDK constraints to >=3.8.0 <4.0.0 in pubspec.yaml files - Update dependencies in example and generator packages to latest versions - Modify integration tests and example code for compatibility with updated dependencies - Refactor code for improved readability and maintainability
…tore_odm and generator - Updated version to 1.3.0 in pubspec.yaml files - Upgraded packages to support analyzer ^8 and set minimum SDK to 3.8.0 - Updated CHANGELOG to reflect changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @dorklein, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request focuses on enhancing the project's compatibility with the latest Dart SDK and key FlutterFire dependencies. It includes significant version bumps for analyzer, cloud_firestore, and freezed, ensuring the codebase remains up-to-date with the ecosystem's advancements. Additionally, it refines the generated code for data manipulation operations and updates documentation to reflect these changes, providing a more robust and future-proof foundation.
Highlights
- Dependency Upgrades: Upgraded
analyzerto^8.0.0,cloud_firestoreto^6.0.0,freezed_annotationto^3.1.0,json_annotationto^4.9.0, and set the minimum SDK version to3.8.0across relevant packages. - Freezed 3.x Compatibility: Introduced support for Freezed 3.x mixed mode classes, allowing for more flexible model definitions.
- Generated Code Refinements: Improved the generated
set,batchSet, andtransactionSetmethods to correctly handle@Idfields, ensuring they are not inadvertently written to the database. - Documentation Updates: The
README.mdfiles have been updated to reflect the new compatibility requirements and include a new section on development and testing procedures. - Test Infrastructure: Added a new
run-tests.shscript to streamline the testing process, including integration tests with Firebase emulators and Chromedriver.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request effectively upgrades the project to support analyzer version 8 and newer SDK versions, which is a crucial maintenance task. The changes are extensive, touching many files to adapt to new APIs from dependencies like analyzer and freezed, and also include several important bug fixes, particularly in the generated code for data serialization and querying. My review has identified a few minor issues: an inconsistency in the README's SDK version example, some leftover debug print statements in a test file, and a small typo in the changelog. Addressing these will improve the overall quality and clarity of the pull request.
packages/cloud_firestore_odm/example/integration_test/document_reference_test.dart
Outdated
Show resolved
Hide resolved
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
- Streamlined expect statements in integration tests for better readability. - Removed unnecessary print statements from collection data and generator files. - Enhanced code clarity by consolidating multi-line statements into single lines where appropriate.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…eodm-flutter into feat/upgrade-analyzer8 merge
NOTE: this PR builds on top of the changes from "Support analyzer: ^7 and source_gen: ^2 and Freezed ^3" #41
Fixes #<issue_number_goes_here>