[vector_graphics_compiler] Use Abi.current() for engine-artifact lookup on Linux ARM64#11781
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging. 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. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). 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. |
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
There was a problem hiding this comment.
Code Review
This pull request adds support for linux-arm64 hosts in the vector graphics compiler. It dynamically determines the platform directory for pathops and the tessellator loader using Abi.current() instead of hardcoding linux-x64. Additionally, the package version is bumped to 1.2.4 in pubspec.yaml and documented in CHANGELOG.md. There are no review comments to address.
4dcc545 to
0cb286c
Compare
On Linux ARM64 hosts, asset bundling fails with `Could not locate libpathops at .../engine/linux-x64/libpath_ops.so`. Flutter ships the engine binary at `.../engine/linux-arm64/...`, but _initialize_path_ops_io.dart and _initialize_tessellator_io.dart hardcode `'linux-x64'` on Linux. Switch the Linux branch to pick `'linux-arm64'` when Abi.current() == Abi.linuxArm64, otherwise keep `'linux-x64'`. Behavior on existing hosts is unchanged. Fixes flutter/flutter#158865.
0cb286c to
b6a9376
Compare
Thanks for the contribution! Where is this item reflected in the PR? |
On Linux ARM64 hosts,
vector_graphics_compilerfails with:Flutter ships the engine binary at
.../engine/linux-arm64/libpath_ops.so, but_initialize_path_ops_io.dartand_initialize_tessellator_io.darthardcode'linux-x64'on Linux and never look at the arm64 directory.This change switches the Linux branch in both loaders to pick
'linux-arm64'when
Abi.current() == Abi.linuxArm64, and otherwise keeps the existing'linux-x64'value. Behavior on windows-x64, darwin, and linux-x64 hosts isunchanged. Bumps the package to
1.2.4with a CHANGELOG entry.Fixes flutter/flutter#158865.
Pre-Review Checklist
[shared_preferences]///).