Skip to content

Check resolution API signatures for invalidation#4367

Draft
davidmorgan wants to merge 1 commit into
dart-lang:masterfrom
davidmorgan:driver-experiment
Draft

Check resolution API signatures for invalidation#4367
davidmorgan wants to merge 1 commit into
dart-lang:masterfrom
davidmorgan:driver-experiment

Conversation

@davidmorgan

@davidmorgan davidmorgan commented Feb 17, 2026

Copy link
Copy Markdown
Contributor

When a file is resolved, record the (transitive) API signature.

On the next build, when choosing whether to build: if the only thing that has changed is a transitive import of something that was resolved, check the API signature and only rebuild if the API signature changed.

Work in progress: not for merge due to fork of analyzer class into analysis_driver_for_package_build. The change to that file is small, only the new method libraryApiSignature.

@github-actions

github-actions Bot commented Feb 23, 2026

Copy link
Copy Markdown

PR Health

Changelog Entry
Package Changed Files
package:build_runner build_runner/lib/src/build/asset_graph/node.dart
build_runner/lib/src/build/asset_graph/node.g.dart
build_runner/lib/src/build/asset_graph/serialization.dart
build_runner/lib/src/build/asset_graph/serializers.g.dart
build_runner/lib/src/build/build.dart
build_runner/lib/src/build/input_tracker.dart
build_runner/lib/src/build/resolver/analysis_driver.dart
build_runner/lib/src/build/resolver/analysis_driver_for_package_build.dart
build_runner/lib/src/build/resolver/analysis_driver_model.dart
build_runner/lib/src/build/resolver/build_resolver.dart
build_runner/lib/src/build/resolver/resolvers_impl.dart
build_runner/lib/src/build_plan/testing_overrides.dart
package:build_test build_test/lib/src/internal_test_reader_writer.dart

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.

@github-actions

Copy link
Copy Markdown

Package publishing

Package Version Status Publish tag (post-merge)
package:build 4.0.4 already published at pub.dev
package:build_config 1.3.0 ready to publish build_config-v1.3.0
package:build_daemon 4.1.1 already published at pub.dev
package:build_modules 5.1.7 already published at pub.dev
package:build_runner 2.11.2-wip WIP (no publish necessary)
package:build_test 3.5.8-wip WIP (no publish necessary)
package:build_web_compilers 4.4.12 already published at pub.dev
package:scratch_space 1.2.0 already published at pub.dev

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

@davidmorgan davidmorgan force-pushed the driver-experiment branch 2 times, most recently from 392df25 to 9afc8ea Compare February 24, 2026 12:49
@davidmorgan davidmorgan changed the title Driver experiment Check resolution API signatures for invalidation Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant