Dart plugin registration generation depends on the target main file
being set as a define so that it's available in the environment, but the
resident runner wasn't setting it. That worked for initial builds
because of the re-entrant call to `assemble` (which does set it), but
caused Hot Restart to always re-generate the wrapper using
lib/main.dart.
This ensures that the define is set in that codepath as well.
Fixes https://github.com/flutter/flutter/issues/91535
* Revert "Mark last failing test after gradle update as flaky. (#91423)"
This reverts commit 46a52d03bddc74a78135d39ef2084503cc2156d7.
* Revert "fix android template for Gradle 7 (#91411)"
This reverts commit 51d06d537fe37dd8f42002346d8545a489aed427.
* Revert "Add explicit version for mac and windows openjdk. (#91408)"
This reverts commit bf429f2771f486602579bd5ff85ee2cfbb0794af.
* Revert "Update the openjdk version used by linux android tests. (#91405)"
This reverts commit 2144ab8b45b8da12a94838b092c8ebc62085457f.
* Revert "Migrate to Gradle 7.0.2 / AGP 7.0.1 (#90642)"
This reverts commit b6459f9b633279f84a92eabc6bc5f82304fc1eae.
* Don't generate plugin registry in ResidentWebRunner
generateDartPluginRegistry was being set to true unconditionally in
ResidentRunner, bypassing the primary check in
DartPluginRegistrantTarget, and the targetPlatform was not set in that
codepath, bypassing the second after the changes in
https://github.com/flutter/flutter/pull/87991. This caused web hot
restarts to be slower due to doing unnecessary work.
This ensures that generateDartPluginRegistry is false in the
ResidentWebRunner to skip that unnecessary step.
Fixes https://github.com/flutter/flutter/issues/91262
* Formatting
Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
Building an application for a desktop platform that transitively included any Dart-based plugins (such as path_provider) broke `flutter test`, because its compilation was overriding the provided main (in this case, the test main) with `generated_main.dart` if it was present. This PR:
- Changes the `flutter test` compilation path to update `generated_main.dart`, so that the tests will work, and will include any registered Dart plugins.
- Makes using `generated_main.dart` during recompile opt-in, to try to reduce the chance of a similar bug happening with other codepaths in the future.
Fixes https://github.com/flutter/flutter/issues/88794