Skip to content

Conversation

kevmoo
Copy link
Member

@kevmoo kevmoo commented Sep 10, 2025

No description provided.

@kevmoo kevmoo requested a review from a team as a code owner September 10, 2025 16:51
@github-actions github-actions bot added type-infra A repository infrastructure change or enhancement package:code_builder labels Sep 10, 2025
Copy link

@gemini-code-assist gemini-code-assist bot left a 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 @kevmoo, 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 finalizes the version number for the code_builder package and updates all its dependencies, including the minimum Dart SDK requirement. This ensures the package remains compatible with the latest Dart ecosystem and leverages improvements from updated libraries, preparing it for a stable release.

Highlights

  • Package Version Update: The code_builder package version has been updated from 4.10.2-wip to 4.10.2, indicating preparation for a new release.
  • Dart SDK Requirement Bump: The minimum required Dart SDK version has been increased from ^3.6.0 to ^3.7.0, aligning with newer language features and ecosystem changes.
  • Dependency Upgrades: Numerous direct and development dependencies have been upgraded to their latest compatible versions, including built_collection, built_value, collection, matcher, meta, build, build_runner, built_value_generator, dart_style, source_gen, and test.
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

  1. 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.

* Consistently add blank lines between `=>` in class-like definitions.
* Fixed bug: Fields declared with `static` and `external` now produce code with
correct order
* Upgrade `dart_style` and `source_gen` to remove `package:macros` dependency.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to document updates to dev dependencies

Copy link

github-actions bot commented Sep 10, 2025

Package publishing

Package Version Status Publish tag (post-merge)
package:bazel_worker 1.1.3 already published at pub.dev
package:benchmark_harness 2.4.0-wip WIP (no publish necessary)
package:boolean_selector 2.1.2 already published at pub.dev
package:browser_launcher 1.1.3 already published at pub.dev
package:cli_config 0.2.1-wip WIP (no publish necessary)
package:cli_util 0.5.0-wip WIP (no publish necessary)
package:clock 1.1.3-wip WIP (no publish necessary)
package:code_builder 4.11.0 ready to publish code_builder-v4.11.0
package:coverage 1.15.0 already published at pub.dev
package:csslib 1.0.2 already published at pub.dev
package:extension_discovery 2.1.0 already published at pub.dev
package:file 7.0.2-wip WIP (no publish necessary)
package:file_testing 3.1.0-wip WIP (no publish necessary)
package:glob 2.1.3 already published at pub.dev
package:graphs 2.3.3-wip WIP (no publish necessary)
package:html 0.15.6 already published at pub.dev
package:io 1.1.0-wip WIP (no publish necessary)
package:json_rpc_2 4.0.0 already published at pub.dev
package:markdown 7.3.1-wip WIP (no publish necessary)
package:mime 2.0.0 already published at pub.dev
package:oauth2 2.0.4-wip WIP (no publish necessary)
package:package_config 2.3.0-wip WIP (no publish necessary)
package:pool 1.5.2-wip WIP (no publish necessary)
package:process 5.0.5 already published at pub.dev
package:pub_semver 2.2.0 already published at pub.dev
package:pubspec_parse 1.5.0 already published at pub.dev
package:source_map_stack_trace 2.1.3-wip WIP (no publish necessary)
package:source_maps 0.10.14-wip WIP (no publish necessary)
package:source_span 1.10.1 already published at pub.dev
package:sse 4.1.8 already published at pub.dev
package:stack_trace 1.12.1 already published at pub.dev
package:stream_channel 2.1.4 already published at pub.dev
package:stream_transform 2.1.2-wip WIP (no publish necessary)
package:string_scanner 1.4.1 already published at pub.dev
package:term_glyph 1.2.3-wip WIP (no publish necessary)
package:test_reflective_loader 0.3.0 already published at pub.dev
package:timing 1.0.2 already published at pub.dev
package:unified_analytics 8.0.5 already published at pub.dev
package:watcher 1.1.3 already published at pub.dev
package:yaml 3.1.3 already published at pub.dev
package:yaml_edit 2.2.2 already published at pub.dev

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

collection: ^1.15.0
matcher: ^0.12.10
meta: ^1.3.0
built_collection: ^5.1.1
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated with _PUB_TEST_SDK_VERSION=3.7.0 dart pub downgrade --tighten

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks - I'm always forgetting that incantation. Perhaps we could add some cli flags to pub to make running the above easier?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or dart pub downgrade --tighten could be changed to assume that it was running in the context of the pub sdk constraint version?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should have a (public) flag for this. _PUB_TEST_SDK_VERSION is pub impl silliness.

Copy link

@gemini-code-assist gemini-code-assist bot left a 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 prepares for a new release by updating the version to 4.10.2 and bumping several dependencies. The changes in pubspec.yaml are correctly reflected in the CHANGELOG.md for runtime dependencies. I've suggested a small improvement to the changelog to also mention the updated development dependencies for better transparency.

collection: ^1.15.0
matcher: ^0.12.10
meta: ^1.3.0
built_collection: ^5.1.1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks - I'm always forgetting that incantation. Perhaps we could add some cli flags to pub to make running the above easier?

collection: ^1.15.0
matcher: ^0.12.10
meta: ^1.3.0
built_collection: ^5.1.1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or dart pub downgrade --tighten could be changed to assume that it was running in the context of the pub sdk constraint version?

Copy link

github-actions bot commented Sep 10, 2025

PR Health

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?
code_builder Non-Breaking 4.10.1 4.11.0 4.10.2 ✔️

This check can be disabled by tagging the PR with skip-breaking-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

Coverage ⚠️
File Coverage
pkgs/code_builder/example/example.dart 💔 Not covered
pkgs/code_builder/lib/code_builder.dart 💔 Not covered
pkgs/code_builder/lib/src/allocator.dart 💚 100 %
pkgs/code_builder/lib/src/emitter.dart 💔 98 % ⬇️ 0 %
pkgs/code_builder/lib/src/matchers.dart 💚 100 %
pkgs/code_builder/lib/src/specs/class.dart 💚 80 %
pkgs/code_builder/lib/src/specs/code.dart 💚 77 %
pkgs/code_builder/lib/src/specs/directive.dart 💚 98 % ⬆️ 0 %
pkgs/code_builder/lib/src/specs/enum.dart 💚 100 %
pkgs/code_builder/lib/src/specs/expression.dart 💚 97 % ⬆️ 0 %
pkgs/code_builder/lib/src/specs/expression/invoke.dart 💚 71 %
pkgs/code_builder/lib/src/specs/expression/literal.dart 💔 80 % ⬇️ 3 %
pkgs/code_builder/lib/src/specs/extension.dart 💚 100 %
pkgs/code_builder/lib/src/specs/extension_type.dart 💚 60 %
pkgs/code_builder/lib/src/specs/field.dart 💚 100 %
pkgs/code_builder/lib/src/specs/library.dart 💚 100 %
pkgs/code_builder/lib/src/specs/method.dart 💚 75 %
pkgs/code_builder/lib/src/specs/mixin.dart 💚 100 %
pkgs/code_builder/lib/src/specs/reference.dart 💚 100 %
pkgs/code_builder/lib/src/specs/type_function.dart 💚 38 %
pkgs/code_builder/lib/src/specs/type_record.dart 💚 27 %
pkgs/code_builder/lib/src/specs/type_reference.dart 💚 26 %
pkgs/code_builder/lib/src/specs/typedef.dart 💚 100 %

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

API leaks ✔️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbol Leaking sources

This check can be disabled by tagging the PR with skip-leaking-check.

License Headers ✔️
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
no missing headers

All source files should start with a license header.

Unrelated files missing license headers
Files
pkgs/bazel_worker/benchmark/benchmark.dart
pkgs/bazel_worker/example/client.dart
pkgs/bazel_worker/example/worker.dart
pkgs/benchmark_harness/integration_test/perf_benchmark_test.dart
pkgs/boolean_selector/example/example.dart
pkgs/clock/lib/clock.dart
pkgs/clock/lib/src/clock.dart
pkgs/clock/lib/src/default.dart
pkgs/clock/lib/src/stopwatch.dart
pkgs/clock/lib/src/utils.dart
pkgs/clock/test/clock_test.dart
pkgs/clock/test/default_test.dart
pkgs/clock/test/stopwatch_test.dart
pkgs/clock/test/utils.dart
pkgs/coverage/lib/src/coverage_options.dart
pkgs/html/example/main.dart
pkgs/html/lib/dom.dart
pkgs/html/lib/dom_parsing.dart
pkgs/html/lib/html_escape.dart
pkgs/html/lib/parser.dart
pkgs/html/lib/src/constants.dart
pkgs/html/lib/src/encoding_parser.dart
pkgs/html/lib/src/html_input_stream.dart
pkgs/html/lib/src/list_proxy.dart
pkgs/html/lib/src/query_selector.dart
pkgs/html/lib/src/token.dart
pkgs/html/lib/src/tokenizer.dart
pkgs/html/lib/src/treebuilder.dart
pkgs/html/lib/src/utils.dart
pkgs/html/test/dom_test.dart
pkgs/html/test/parser_feature_test.dart
pkgs/html/test/parser_test.dart
pkgs/html/test/query_selector_test.dart
pkgs/html/test/selectors/level1_baseline_test.dart
pkgs/html/test/selectors/level1_lib.dart
pkgs/html/test/selectors/selectors.dart
pkgs/html/test/support.dart
pkgs/html/test/tokenizer_test.dart
pkgs/html/test/trie_test.dart
pkgs/html/tool/generate_trie.dart
pkgs/pubspec_parse/test/git_uri_test.dart
pkgs/stack_trace/example/example.dart
pkgs/watcher/test/custom_watcher_factory_test.dart
pkgs/yaml_edit/example/example.dart

This check can be disabled by tagging the PR with skip-license-check.

## 4.10.2-wip
## 4.11.0

* Export `SpecVisitor`, `ClosureExpression`, `LiteralMapExpression`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI (@devoncarew) exporting "leaked" types.

@kevmoo kevmoo merged commit 319be98 into main Sep 10, 2025
14 checks passed
@kevmoo kevmoo deleted the code_builder_wip branch September 10, 2025 17:39
copybara-service bot pushed a commit to dart-lang/sdk that referenced this pull request Sep 11, 2025
Revisions updated by `dart tools/rev_sdk_deps.dart`.

dartdoc (https://github.com/dart-lang/dartdoc/compare/efff7c1..49fc272):
  49fc272d  2025-09-10  Sarah Zakarias  Remove "parsedConstructorHint" from "PrefixResultType" (dart-lang/dartdoc#4104)

tools (https://github.com/dart-lang/tools/compare/24707e0..319be98):
  319be98a  2025-09-10  Kevin Moore  code_builder: update deps, prepare release (dart-lang/tools#2160)

Change-Id: Ie29458707709a45617cead36f33e39725e33f966
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/449071
Reviewed-by: Konstantin Shcheglov <[email protected]>
Commit-Queue: Konstantin Shcheglov <[email protected]>
Auto-Submit: Devon Carew <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:code_builder type-infra A repository infrastructure change or enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants