Skip to content
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

Add minimal AnalysisDriverModel implementation #3814

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

davidmorgan
Copy link
Contributor

@davidmorgan davidmorgan commented Feb 1, 2025

For #3811, review and merge #3813 first.

Copy resolver_test.dart to analysis_driver_model_test.dart.

Modify all tests to run against the new AnalysisDriverModel instead of the old BuildAssetUriResolver, and add minimal implementation to AnalysisDriverModel to make the tests pass.

Add TODOs where there is functionality not covered by tests that is therefore not added.

This implementation does work for real builds, a local edit to point BuildAssetUriResolver.shared to AnalysisDriverModel is enough to make the benchmarks run. Because there is no caching in the new implementation at all, it's slower :) which gives us a good starting point to add caching.

skip-changelog-check

…d `AnalysisDriverModelUriResolver`.

`AnalysisDriverModel` is `build_runner`'s state related to build steps that use analysis, including an in-memory filesystem for use by the analyzer.

`UriResolver` is the analyzer's view of that state.
Modify all tests to run against the new `AnalysisDriverModel` instead of the
old `BuildAssetUriResolver`, and add minimal implementation to
`AnalysisDriverModel` to make the tests pass.

Add TODOs where there is functionality not covered by tests that is
therefore not added.
Copy link

github-actions bot commented Feb 1, 2025

Package publishing

Package Version Status Publish tag (post-merge)
package:build 2.4.2 already published at pub.dev
package:build_config 1.1.2 already published at pub.dev
package:build_daemon 4.0.3 already published at pub.dev
package:build_modules 5.0.11 already published at pub.dev
package:build_resolvers 2.4.4-wip WIP (no publish necessary)
package:build_runner 2.4.15-wip WIP (no publish necessary)
package:build_runner_core 8.0.1-dev ready to publish build_runner_core-v8.0.1-dev
package:build_test 2.2.4-wip WIP (no publish necessary)
package:build_web_compilers 4.1.1 already published at pub.dev
package:scratch_space 1.0.3-wip WIP (no publish necessary)

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

Copy link

github-actions bot commented Feb 1, 2025

PR Health

Changelog Entry
Package Changed Files
package:build_resolvers build_resolvers/lib/src/analysis_driver.dart
build_resolvers/lib/src/analysis_driver_model.dart
build_resolvers/lib/src/analysis_driver_model_uri_resolver.dart
build_resolvers/lib/src/build_asset_uri_resolver.dart
build_resolvers/lib/src/resolver.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.

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