isUpToDate based on package_config.json #4160
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updates the logic we use in
_isUptoDate
.Fixes #4153
Instead of grepping the lockfile for presence of path-dependencies we compare timestamps against the
pubspec.yaml
s of all packages mentioned in.dart_tool/package_config.json
. In the "fast" case we avoid reading any other file thanpackage_config.json
, and avoid dealing with yaml.This will make
_isUpToDate
possible when we introduce workspace support. We don't need to parse pubspec.yamls to find all packages in the workspace, but can rather just look at all the entries inpackage_config.json
.This PR also adds new entries in package_config.json: pub_cache, flutter_root and flutter_version. If any of these changes, we require a new resolution.
We remove the "checkForSdkUpdate" option. And now always redo resolution when the flutter or dart sdk gets updated.