Skip to content

Manual roll Flutter from 911aa7547ed7 to 043b71954ce7 #8693

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

Merged
merged 10 commits into from
Feb 27, 2025

Conversation

stuartmorgan-g
Copy link
Contributor

#8692 with fixes for indirect effects of --explicit-package-dependencies

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where can I read more about how this file works in the package repo

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know that it's specifically documented anywhere, but its used in ci.yaml (example), and it's rolled by the auto-roller. The generic packages recipe uses that ci.yaml file to control the Flutter version that is checked out.

flutterEngine.getPlugins().add(new TestPlugin());
flutterEngine.getPlugins().add(new IntegrationTestPlugin());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we not need the integration test plugin? was it dead code?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a speculative change, but the fact that this wasn't calling super seems suspicious. Normally plugins are registered by the generated registrant.

This wasn't compiling because it's unconditionally using the integration test plugin, but that plugin is a dev dependency. If this doesn't work, I'll need to make this example app have a non-dev dependency on it instead, but that feels wrong.

@@ -54,7 +54,7 @@ android {
testImplementation 'org.jetbrains.kotlin:kotlin-test'
testImplementation "org.mockito.kotlin:mockito-kotlin:5.4.0"
testImplementation 'org.mockito:mockito-inline:5.1.0'
testImplementation 'androidx.test:core:1.3.0'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI I filed flutter/flutter#164025 to track making these updates easier.

@stuartmorgan-g
Copy link
Contributor Author

Looks like some tests are failing now; I'll investigate further tomorrow.

@stuartmorgan-g
Copy link
Contributor Author

Hm, it looks like integration tests are failing pretty much across the board. @matanlurey Did you test with your changes to see if the instructions here and here are still correct? I'm wondering if having a dev dependency on integration_test is no longer sufficient for FTL tests.

@matanlurey
Copy link
Contributor

Hm, it looks like integration tests are failing pretty much across the board. @matanlurey Did you test with your changes to see if the instructions here and here are still correct? I'm wondering if having a dev dependency on integration_test is no longer sufficient for FTL tests.

Neither of those two steps should have been impacted. The scenario I could imagine breaking is if the result of flutter build apk (which defaults to --release) is what was being deployed.

To test that theory you could move the dependency from dev_dependencies to dependencies.

Otherwise I would slap the config opt-out and assign me a P1, and I'll look at it tomorrow morning, and rollback the flag if there isn't a revert. Bonus points if there is a local repro.

@stuartmorgan-g
Copy link
Contributor Author

@stuartmorgan Can you try changing this to pass --debug (or --profile if perf concerns)?

Running that now. Where exactly will the difference show up? I wasn't sure what part of the project to look at to see the difference in what these commands output.

FYI (@reidbaker FYI as well since he implemented the Android version of --config-only), in generally flutter's structure has been that once the project files have been generated by building once, developers are free to change their build mode later via native tooling. E.g., on iOS you can flutter build once, then open Xcode, and make Debug and Release builds without re-running flutter build. It sounds like that use case has a new failure mode? (In the past there were cases where that didn't work, but they were more niche than having a dev dependency on a plugin.)

@reidbaker
Copy link
Contributor

Fwiw my naive answer is that config only should not care what release mode you use.

The actual build cares because it is the same as changing the running gradle tasks.

@stuartmorgan-g
Copy link
Contributor Author

It looks like re-running flutter build --debug did in fact work. I filed flutter/flutter#164133 to discuss the fact that this is an unfortunate regression, which ideally we would fix.

auto-submit bot pushed a commit that referenced this pull request Feb 26, 2025
This is pulled out of #8693 to land on its own while the other issues with that PR are investigated, since it's a useful change regardless.

This updates all packages in the repo to have `androidx.test:core` 1.4.0 if it's not already higher. This fixes a latent problem where older versions of `androidx.test.core` aren't compatible with targeting the current SDK, because it has activities that are not annotated as exported. This issue is currently being masked by the dependency on `integration_test`, which forced a higher version of that package, but `integration_test` will stop exporting that dependency onto the app as of recent master, dropping all the packages here back to a too-old `androidx.test:core`.
@stuartmorgan-g
Copy link
Contributor Author

CHANGELOG override: minor change to an internal implementation detail of an example does not need a client-facing log entry.

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 27, 2025
@auto-submit auto-submit bot merged commit b5e8daa into flutter:main Feb 27, 2025
82 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 27, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Feb 27, 2025
flutter/packages@c44c228...01d3d5c

2025-02-27 engine-flutter-autoroll@skia.org Manual roll Flutter from
043b719 to 1659206 (19 revisions) (flutter/packages#8728)
2025-02-27 stuartmorgan@google.com Manual roll Flutter from 911aa75
to 043b719 (flutter/packages#8693)
2025-02-26 magder@google.com Dependabot to update major and minor
versions of test dependencies, ignore patch (flutter/packages#8712)
2025-02-26 reidbaker@google.com [local_auth] Update to use
flutter.targetSdkVersion (flutter/packages#8695)
2025-02-26 57854043+CaoGiaHieu-dev@users.noreply.github.com
[go_router_builder]: Handle invaild params (flutter/packages#8405)
2025-02-26 stuartmorgan@google.com [pigeon] Timestamp test steps in CI
(flutter/packages#8716)
2025-02-26 43054281+camsim99@users.noreply.github.com
[camera_android_camerax] Fix 90°-off preview rotation
(flutter/packages#8629)
2025-02-26 108667553+aprzedecki@users.noreply.github.com [go_router]
Secured empty matches in canPop (flutter/packages#8557)
2025-02-26 reidbaker@google.com [tool] Update targetsdk version to 35
from 32 (flutter/packages#8694)
2025-02-26 stuartmorgan@google.com [various] Bump androidx.test:core to
1.4.0 (flutter/packages#8710)
2025-02-26 stuartmorgan@google.com [camera] Disable flaky tests
(flutter/packages#8708)
2025-02-26 mdebbar@google.com [url_launcher][web] Prevent browser from
navigating when followLink isn't called (flutter/packages#8675)
2025-02-26 stuartmorgan@google.com [various] Remove plugin-level
`integration_test` dependencies (flutter/packages#8711)
2025-02-26 stuartmorgan@google.com [ci] Lengthen custom tests timeout
(flutter/packages#8715)

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-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
zhouyuanbo pushed a commit to zhouyuanbo/video_player_android_2.8.2 that referenced this pull request Mar 14, 2025
This is pulled out of flutter/packages#8693 to land on its own while the other issues with that PR are investigated, since it's a useful change regardless.

This updates all packages in the repo to have `androidx.test:core` 1.4.0 if it's not already higher. This fixes a latent problem where older versions of `androidx.test.core` aren't compatible with targeting the current SDK, because it has activities that are not annotated as exported. This issue is currently being masked by the dependency on `integration_test`, which forced a higher version of that package, but `integration_test` will stop exporting that dependency onto the app as of recent master, dropping all the packages here back to a too-old `androidx.test:core`.
dko5ki23t pushed a commit to dko5ki23t/google_maps_flutter_improved that referenced this pull request May 24, 2025
This is pulled out of flutter/packages#8693 to land on its own while the other issues with that PR are investigated, since it's a useful change regardless.

This updates all packages in the repo to have `androidx.test:core` 1.4.0 if it's not already higher. This fixes a latent problem where older versions of `androidx.test.core` aren't compatible with targeting the current SDK, because it has activities that are not annotated as exported. This issue is currently being masked by the dependency on `integration_test`, which forced a higher version of that package, but `integration_test` will stop exporting that dependency onto the app as of recent master, dropping all the packages here back to a too-old `androidx.test:core`.
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
This is pulled out of flutter#8693 to land on its own while the other issues with that PR are investigated, since it's a useful change regardless.

This updates all packages in the repo to have `androidx.test:core` 1.4.0 if it's not already higher. This fixes a latent problem where older versions of `androidx.test.core` aren't compatible with targeting the current SDK, because it has activities that are not annotated as exported. This issue is currently being masked by the dependency on `integration_test`, which forced a higher version of that package, but `integration_test` will stop exporting that dependency onto the app as of recent master, dropping all the packages here back to a too-old `androidx.test:core`.
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
flutter#8692 with fixes for indirect effects of `--explicit-package-dependencies`
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
This is pulled out of flutter#8693 to land on its own while the other issues with that PR are investigated, since it's a useful change regardless.

This updates all packages in the repo to have `androidx.test:core` 1.4.0 if it's not already higher. This fixes a latent problem where older versions of `androidx.test.core` aren't compatible with targeting the current SDK, because it has activities that are not annotated as exported. This issue is currently being masked by the dependency on `integration_test`, which forced a higher version of that package, but `integration_test` will stop exporting that dependency onto the app as of recent master, dropping all the packages here back to a too-old `androidx.test:core`.
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
flutter#8692 with fixes for indirect effects of `--explicit-package-dependencies`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App override: no changelog needed Override the check requiring CHANGELOG updates for most changes p: flutter_plugin_android_lifecycle platform-android
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants