flutter icon indicating copy to clipboard operation
flutter copied to clipboard

[native_assets] Stop running link hooks in JIT mode

Open dcharkes opened this issue 1 year ago • 2 comments
trafficstars

Stop running link hooks in debug mode.

Rationale: link hooks only get access to tree-shaking info in release builds, so they can't do anything meaningful in debug builds. Debug builds should be fast as development cycle, so running less is better.

More details:

  • https://github.com/dart-lang/native/issues/1252

Also: rolls packages to latest versions.

Implementation details

The decision whether linking is enabled is made as follows:

  • For normal builds build_info.dart::BuildMode is used to determine whether Dart is compiled in JIT or AOT mode.
  • Testers always run in JIT, so no linking.
  • Native asset dry runs only run for JIT builds (e.g only when hot reload and hot restart are enabled).

Testing

The integration test is updated to output an asset for linking if BuildConfig.linkingEnabled is true, and to output an asset for bundling directly if linking is not enabled.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

dcharkes avatar Jul 10 '24 12:07 dcharkes

FYI @mosuem

dcharkes avatar Jul 10 '24 12:07 dcharkes

@christopherfujino This is ready for review. Let me know if you have any questions.

dcharkes avatar Jul 11 '24 06:07 dcharkes

@andrewkolos can you review this one? I have my hands full with cherrypick release.

christopherfujino avatar Jul 11 '24 17:07 christopherfujino