-
Notifications
You must be signed in to change notification settings - Fork 27.8k
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 14774b9 to dbdcead (38 revisions) flutter/flutter@14774b9...dbdcead 2024-03-25 [email protected] Roll Flutter Engine from ef896e942f44 to 04191a122e9a (1 revision) (flutter/flutter#145709) 2024-03-25 [email protected] Update semantics.dart (flutter/flutter#145683) 2024-03-25 [email protected] TwoDimensionalChildDelegate should dispatch creation and disposal events (flutter/flutter#145684) 2024-03-25 [email protected] Memory leaks clean up 1 (flutter/flutter#145691) 2024-03-25 [email protected] Roll Flutter Engine from 2e8d77dbb0f0 to ef896e942f44 (1 revision) (flutter/flutter#145705) 2024-03-25 [email protected] [Fix]: Searchbar doesn't lose focus when tapped outside (flutter/flutter#145232) 2024-03-25 [email protected] Fix typo in hitTest docs (flutter/flutter#145677) 2024-03-25 [email protected] Roll Packages from 611aea1 to 28d126c (1 revision) (flutter/flutter#145690) 2024-03-25 [email protected] [deps] Bump native assets dependencies (flutter/flutter#145612) 2024-03-25 [email protected] Roll Flutter Engine from 857584c458ff to 2e8d77dbb0f0 (1 revision) (flutter/flutter#145678) 2024-03-25 [email protected] Add `AnimationStyle` to `showBottomSheet` and `showModalBottomSheet` (flutter/flutter#145536) 2024-03-25 [email protected] Roll Flutter Engine from ae758d54630d to 857584c458ff (2 revisions) (flutter/flutter#145673) 2024-03-25 [email protected] Roll Flutter Engine from efdde39a2a57 to ae758d54630d (1 revision) (flutter/flutter#145669) 2024-03-25 [email protected] make hot reload reflect changes to asset transformer configurations (flutter/flutter#144660) 2024-03-25 [email protected] Roll Flutter Engine from 0734f47f2a3d to efdde39a2a57 (2 revisions) (flutter/flutter#145668) 2024-03-24 [email protected] Roll Flutter Engine from 7c139e0a4897 to 0734f47f2a3d (1 revision) (flutter/flutter#145662) 2024-03-24 [email protected] Leak clean up. (flutter/flutter#144803) 2024-03-24 [email protected] Turn off randomization for leak detection bots. (flutter/flutter#145624) 2024-03-24 [email protected] Roll Flutter Engine from 2f5afdf62365 to 7c139e0a4897 (1 revision) (flutter/flutter#145655) 2024-03-24 [email protected] Roll Flutter Engine from 7aa8521e640e to 2f5afdf62365 (2 revisions) (flutter/flutter#145651) 2024-03-23 [email protected] Roll Flutter Engine from 689ea4b10b17 to 7aa8521e640e (1 revision) (flutter/flutter#145643) 2024-03-23 [email protected] Roll Flutter Engine from 42d4262b4b20 to 689ea4b10b17 (1 revision) (flutter/flutter#145636) 2024-03-23 [email protected] Reland #128236 "Improve build output for all platforms" (flutter/flutter#145495) 2024-03-23 [email protected] Roll Flutter Engine from 7690eb12ded5 to 42d4262b4b20 (1 revision) (flutter/flutter#145635) 2024-03-23 [email protected] Roll Flutter Engine from 8a51e124fbf1 to 7690eb12ded5 (1 revision) (flutter/flutter#145634) 2024-03-23 [email protected] 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 [email protected] Add workaround for bug adding unicode strings to test reports. (flutter/flutter#145607) 2024-03-23 [email protected] Roll Flutter Engine from 52142e428760 to bc4fa4367edb (1 revision) (flutter/flutter#145626) 2024-03-23 [email protected] [web][docs] Improve HtmlElementView widget docs. (flutter/flutter#145192) 2024-03-23 [email protected] Disable flaky text_editing_integration tests temporarily. (flutter/flutter#145629) 2024-03-22 [email protected] Roll Flutter Engine from cc8f752b81e5 to 52142e428760 (4 revisions) (flutter/flutter#145625) 2024-03-22 [email protected] Fix skipping golden comparator for CI environments (flutter/flutter#145619) 2024-03-22 [email protected] Roll Flutter Engine from 68301f268278 to cc8f752b81e5 (1 revision) (flutter/flutter#145621) 2024-03-22 [email protected] Roll Packages from b7fbe68 to 611aea1 (4 revisions) (flutter/flutter#145615) 2024-03-22 [email protected] Roll Flutter Engine from 63ff0dedd8e6 to 68301f268278 (2 revisions) (flutter/flutter#145613) 2024-03-22 [email protected] Roll Flutter Engine from 09dadce76828 to 63ff0dedd8e6 (2 revisions) (flutter/flutter#145611) 2024-03-22 [email protected] 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 [email protected],[email protected],[email protected] 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 ...
Roll Flutter from 14774b9 to dbdcead (38 revisions) flutter/flutter@14774b9...dbdcead 2024-03-25 [email protected] Roll Flutter Engine from ef896e942f44 to 04191a122e9a (1 revision) (flutter/flutter#145709) 2024-03-25 [email protected] Update semantics.dart (flutter/flutter#145683) 2024-03-25 [email protected] TwoDimensionalChildDelegate should dispatch creation and disposal events (flutter/flutter#145684) 2024-03-25 [email protected] Memory leaks clean up 1 (flutter/flutter#145691) 2024-03-25 [email protected] Roll Flutter Engine from 2e8d77dbb0f0 to ef896e942f44 (1 revision) (flutter/flutter#145705) 2024-03-25 [email protected] [Fix]: Searchbar doesn't lose focus when tapped outside (flutter/flutter#145232) 2024-03-25 [email protected] Fix typo in hitTest docs (flutter/flutter#145677) 2024-03-25 [email protected] Roll Packages from 611aea1 to 28d126c (1 revision) (flutter/flutter#145690) 2024-03-25 [email protected] [deps] Bump native assets dependencies (flutter/flutter#145612) 2024-03-25 [email protected] Roll Flutter Engine from 857584c458ff to 2e8d77dbb0f0 (1 revision) (flutter/flutter#145678) 2024-03-25 [email protected] Add `AnimationStyle` to `showBottomSheet` and `showModalBottomSheet` (flutter/flutter#145536) 2024-03-25 [email protected] Roll Flutter Engine from ae758d54630d to 857584c458ff (2 revisions) (flutter/flutter#145673) 2024-03-25 [email protected] Roll Flutter Engine from efdde39a2a57 to ae758d54630d (1 revision) (flutter/flutter#145669) 2024-03-25 [email protected] make hot reload reflect changes to asset transformer configurations (flutter/flutter#144660) 2024-03-25 [email protected] Roll Flutter Engine from 0734f47f2a3d to efdde39a2a57 (2 revisions) (flutter/flutter#145668) 2024-03-24 [email protected] Roll Flutter Engine from 7c139e0a4897 to 0734f47f2a3d (1 revision) (flutter/flutter#145662) 2024-03-24 [email protected] Leak clean up. (flutter/flutter#144803) 2024-03-24 [email protected] Turn off randomization for leak detection bots. (flutter/flutter#145624) 2024-03-24 [email protected] Roll Flutter Engine from 2f5afdf62365 to 7c139e0a4897 (1 revision) (flutter/flutter#145655) 2024-03-24 [email protected] Roll Flutter Engine from 7aa8521e640e to 2f5afdf62365 (2 revisions) (flutter/flutter#145651) 2024-03-23 [email protected] Roll Flutter Engine from 689ea4b10b17 to 7aa8521e640e (1 revision) (flutter/flutter#145643) 2024-03-23 [email protected] Roll Flutter Engine from 42d4262b4b20 to 689ea4b10b17 (1 revision) (flutter/flutter#145636) 2024-03-23 [email protected] Reland #128236 "Improve build output for all platforms" (flutter/flutter#145495) 2024-03-23 [email protected] Roll Flutter Engine from 7690eb12ded5 to 42d4262b4b20 (1 revision) (flutter/flutter#145635) 2024-03-23 [email protected] Roll Flutter Engine from 8a51e124fbf1 to 7690eb12ded5 (1 revision) (flutter/flutter#145634) 2024-03-23 [email protected] 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 [email protected] Add workaround for bug adding unicode strings to test reports. (flutter/flutter#145607) 2024-03-23 [email protected] Roll Flutter Engine from 52142e428760 to bc4fa4367edb (1 revision) (flutter/flutter#145626) 2024-03-23 [email protected] [web][docs] Improve HtmlElementView widget docs. (flutter/flutter#145192) 2024-03-23 [email protected] Disable flaky text_editing_integration tests temporarily. (flutter/flutter#145629) 2024-03-22 [email protected] Roll Flutter Engine from cc8f752b81e5 to 52142e428760 (4 revisions) (flutter/flutter#145625) 2024-03-22 [email protected] Fix skipping golden comparator for CI environments (flutter/flutter#145619) 2024-03-22 [email protected] Roll Flutter Engine from 68301f268278 to cc8f752b81e5 (1 revision) (flutter/flutter#145621) 2024-03-22 [email protected] Roll Packages from b7fbe68 to 611aea1 (4 revisions) (flutter/flutter#145615) 2024-03-22 [email protected] Roll Flutter Engine from 63ff0dedd8e6 to 68301f268278 (2 revisions) (flutter/flutter#145613) 2024-03-22 [email protected] Roll Flutter Engine from 09dadce76828 to 63ff0dedd8e6 (2 revisions) (flutter/flutter#145611) 2024-03-22 [email protected] 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 [email protected],[email protected],[email protected] 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
///
).