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
make hot reload reflect changes to asset transformer configurations #144660
make hot reload reflect changes to asset transformer configurations #144660
Conversation
1701b64
to
5bb43aa
Compare
@@ -638,7 +638,7 @@ class DevFS { | |||
bundle.entries.forEach((String archivePath, AssetBundleEntry entry) { | |||
// If the content is backed by a real file, isModified will file stat and return true if | |||
// it was modified since the last time this was called. | |||
if (!entry.content.isModified || bundleFirstUpload) { |
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.
Here is what I don't like. Callers of this API need to be sure to read entry.isModified
and not entry.content.isModified
. The latter really shouldn't be exposed, but it has to be because we have logic that depends on the runtime type of entry.content
.
`DevFSBytesContent` (and it's descendant `DevFSStringContent`) have setters that change the underlying content. These are unused outside of tests, so this PR removes them. Amongst other things, this could help me refactor #144660 into something that has fewer pitfalls. This is purely a refactoring.
5bb43aa
to
b932d69
Compare
I originally wanted to implement this differently (to avoid the issue I cited earlier), but I didn't have time to get around to it since I got sick a week ago. I'm trying to get this feature to ready-for-release state before I go away for travel next week, so I'm marking this as ready-for-review as-is. If this is accepted, I will file a self-assigned issue to get this implemented in a cleaner way. |
@@ -95,7 +95,27 @@ final class AssetBundleEntry { | |||
final AssetKind kind; | |||
final List<AssetTransformerEntry> transformers; | |||
|
|||
bool _hasModifiedBeenCalled = false; | |||
bool get isModified { | |||
if (!_hasModifiedBeenCalled) { |
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.
Can this whole getter just be bool get isModified => content.isModified
?
|
||
final DateTime creationTime = DateTime.now(); | ||
|
||
bool isModifiedAfter(DateTime dateTime) { |
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.
it looks like this is never referenced. do we need this?
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.
LGTM
} | ||
return content.isModified; | ||
} | ||
|
||
final DateTime creationTime = DateTime.now(); |
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.
can we delete this?
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.
LGTM
I deleted all the isModified* stuff on |
Roll Flutter from 14774b95c250 to dbdcead93225 (38 revisions) flutter/flutter@14774b9...dbdcead 2024-03-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from ef896e942f44 to 04191a122e9a (1 revision) (flutter/flutter#145709) 2024-03-25 eltociear@gmail.com Update semantics.dart (flutter/flutter#145683) 2024-03-25 sokolovskyi.konstantin@gmail.com TwoDimensionalChildDelegate should dispatch creation and disposal events (flutter/flutter#145684) 2024-03-25 sokolovskyi.konstantin@gmail.com Memory leaks clean up 1 (flutter/flutter#145691) 2024-03-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2e8d77dbb0f0 to ef896e942f44 (1 revision) (flutter/flutter#145705) 2024-03-25 Sahil.kachhap111989@gmail.com [Fix]: Searchbar doesn't lose focus when tapped outside (flutter/flutter#145232) 2024-03-25 sokolovskyi.konstantin@gmail.com Fix typo in hitTest docs (flutter/flutter#145677) 2024-03-25 engine-flutter-autoroll@skia.org Roll Packages from 611aea1 to 28d126c (1 revision) (flutter/flutter#145690) 2024-03-25 dacoharkes@google.com [deps] Bump native assets dependencies (flutter/flutter#145612) 2024-03-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 857584c458ff to 2e8d77dbb0f0 (1 revision) (flutter/flutter#145678) 2024-03-25 tessertaha@gmail.com Add `AnimationStyle` to `showBottomSheet` and `showModalBottomSheet` (flutter/flutter#145536) 2024-03-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from ae758d54630d to 857584c458ff (2 revisions) (flutter/flutter#145673) 2024-03-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from efdde39a2a57 to ae758d54630d (1 revision) (flutter/flutter#145669) 2024-03-25 andrewrkolos@gmail.com make hot reload reflect changes to asset transformer configurations (flutter/flutter#144660) 2024-03-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0734f47f2a3d to efdde39a2a57 (2 revisions) (flutter/flutter#145668) 2024-03-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7c139e0a4897 to 0734f47f2a3d (1 revision) (flutter/flutter#145662) 2024-03-24 polinach@google.com Leak clean up. (flutter/flutter#144803) 2024-03-24 polinach@google.com Turn off randomization for leak detection bots. (flutter/flutter#145624) 2024-03-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2f5afdf62365 to 7c139e0a4897 (1 revision) (flutter/flutter#145655) 2024-03-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7aa8521e640e to 2f5afdf62365 (2 revisions) (flutter/flutter#145651) 2024-03-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from 689ea4b10b17 to 7aa8521e640e (1 revision) (flutter/flutter#145643) 2024-03-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from 42d4262b4b20 to 689ea4b10b17 (1 revision) (flutter/flutter#145636) 2024-03-23 6655696+guidezpl@users.noreply.github.com Reland #128236 "Improve build output for all platforms" (flutter/flutter#145495) 2024-03-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7690eb12ded5 to 42d4262b4b20 (1 revision) (flutter/flutter#145635) 2024-03-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8a51e124fbf1 to 7690eb12ded5 (1 revision) (flutter/flutter#145634) 2024-03-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from bc4fa4367edb to 8a51e124fbf1 (4 revisions) (flutter/flutter#145630) 2024-03-23 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.24.8 to 3.24.9 (flutter/flutter#145627) 2024-03-23 godofredoc@google.com Add workaround for bug adding unicode strings to test reports. (flutter/flutter#145607) 2024-03-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from 52142e428760 to bc4fa4367edb (1 revision) (flutter/flutter#145626) 2024-03-23 ditman@gmail.com [web][docs] Improve HtmlElementView widget docs. (flutter/flutter#145192) 2024-03-23 jacksongardner@google.com Disable flaky text_editing_integration tests temporarily. (flutter/flutter#145629) 2024-03-22 engine-flutter-autoroll@skia.org Roll Flutter Engine from cc8f752b81e5 to 52142e428760 (4 revisions) (flutter/flutter#145625) 2024-03-22 katelovett@google.com Fix skipping golden comparator for CI environments (flutter/flutter#145619) 2024-03-22 engine-flutter-autoroll@skia.org Roll Flutter Engine from 68301f268278 to cc8f752b81e5 (1 revision) (flutter/flutter#145621) 2024-03-22 engine-flutter-autoroll@skia.org Roll Packages from b7fbe68 to 611aea1 (4 revisions) (flutter/flutter#145615) 2024-03-22 engine-flutter-autoroll@skia.org Roll Flutter Engine from 63ff0dedd8e6 to 68301f268278 (2 revisions) (flutter/flutter#145613) 2024-03-22 engine-flutter-autoroll@skia.org Roll Flutter Engine from 09dadce76828 to 63ff0dedd8e6 (2 revisions) (flutter/flutter#145611) 2024-03-22 katelovett@google.com 2DScrollView - Fix drag when one axis does not have enough content (flutter/flutter#145566) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC dit@google.com,rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose ...
In service of #143348
This PR makes hot reloads reflect changes to transformer configurations under the
assets
section in pubspec.yaml.This PR is optimized for ease of implementation, and should not be merged as-is. If it is merged as-is, seriously consider creating a tech debt issue and assigning it to someone to make sure it gets resolved.
Pre-launch Checklist
///
).