Skip to content
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

macOS: Clean up create_ios_framework.py #54543

Merged
merged 1 commit into from
Aug 13, 2024

Conversation

cbracken
Copy link
Member

Over time, this script and others in sky/tools have accumulated a lot of additional and sometimes duplicate code.

This is a first pass cleanup of create_macos_framework.py to extract common utility code to utils.py and refactor for better readability.

The iOS analogue of this patch was #54500.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
  • I listed at least one issue that this PR fixes in the description above.
  • I added new tests to check the change I am making or feature I am adding, or the PR is test-exempt. See testing the engine for instructions on writing and running engine tests.
  • I updated/added relevant documentation (doc comments with ///).
  • I signed the CLA.
  • All existing and new tests are passing.

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

@cbracken
Copy link
Member Author

This doesn't add/change any functionality; just makes use of the common code in sky_utils where possible. Not touching the framework creation and symlink wrangling in this one. 😉

sky/tools/create_macos_framework.py Outdated Show resolved Hide resolved
@cbracken cbracken force-pushed the embed-macos-dsyms branch 2 times, most recently from e099bca to b53c11e Compare August 13, 2024 20:01
@cbracken cbracken added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 13, 2024
Over time, this script and others in sky/tools have accumulated a lot of additional and sometimes duplicate code.

This is a first pass cleanup of create_macos_framework.py to extract common utility code to utils.py and refactor for better readability.

The iOS analogue of this patch was flutter#54500.
@zanderso
Copy link
Member

Reason for revert: Failing roll flutter/flutter#153406

@zanderso zanderso added the revert Label used to revert changes in a closed and merged pull request. label Aug 14, 2024
auto-submit bot pushed a commit that referenced this pull request Aug 14, 2024
@auto-submit auto-submit bot removed the revert Label used to revert changes in a closed and merged pull request. label Aug 14, 2024
auto-submit bot added a commit that referenced this pull request Aug 14, 2024
Reverts: #54543
Initiated by: zanderso
Reason for reverting: Failing roll flutter/flutter#153406
Original PR Author: cbracken

Reviewed By: {zanderso}

This change reverts the following previous change:
Over time, this script and others in sky/tools have accumulated a lot of additional and sometimes duplicate code.

This is a first pass cleanup of create_macos_framework.py to extract common utility code to utils.py and refactor for better readability.

The iOS analogue of this patch was #54500.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 14, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 14, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 14, 2024
…sions) (#153413)

Manual roll requested by zra@google.com

flutter/engine@019f9e3...5909666

2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Dart SDK from 44635f897535 to 733062367c2e (1 revision) (#54541)" (flutter/engine#54552)
2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "macOS: Clean up create_ios_framework.py (#54543)" (flutter/engine#54550)
2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "macOS: refactor create_macos_framework.py (#54546)" (flutter/engine#54549)
2024-08-14 chris@bracken.jp macOS: refactor create_macos_framework.py (flutter/engine#54546)
2024-08-13 flar@google.com [DisplayList] Allow random access to ops through indexing (flutter/engine#54484)
2024-08-13 mit@google.com Update dartdoc for gpu.dart (flutter/engine#54529)
2024-08-13 chris@bracken.jp macOS: Clean up create_ios_framework.py (flutter/engine#54543)
2024-08-13 skia-flutter-autoroll@skia.org Roll Dart SDK from 44635f897535 to 733062367c2e (1 revision) (flutter/engine#54541)
2024-08-13 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 2LTVy4Gv76DcMpz4V... to MeV5i7xXXFPHF5sBK... (flutter/engine#54542)
2024-08-13 1961493+harryterkelsen@users.noreply.github.com [canvaskit] Add animation detection for GIFs (flutter/engine#54483)
2024-08-13 matej.knopp@gmail.com Preserve background frame damage (flutter/engine#54540)
2024-08-13 68449066+zijiehe-google-com@users.noreply.github.com [fuchsia] Use BundledTestRunner from test-scripts (flutter/engine#54404)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from 2LTVy4Gv76Dc to MeV5i7xXXFPH

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC rmistry@google.com,zra@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
cbracken added a commit that referenced this pull request Aug 14, 2024
Over time, this script and others in sky/tools have accumulated a lot of additional and sometimes duplicate code.

This is a first pass cleanup of create_macos_framework.py to extract common utility code to utils.py and refactor for better readability.

The iOS analogue of this patch was #54500.

This is a reland of #54543, which failed to set the `-y` option on zip when zipping `FlutterMacOS.xcframework` but did so for the other zip steps where required. Since there is no case where we *want* to archive dereferenced symlinks, and because it's required for macOS frameworks, we now set this option for all callers in the `sky_tools.create_zip()` function to avoid future cases where someone working on this code misses one. If we ever need it, we can extract a parameter. This patch also references the correct script in its description (the original incorrectly mentioned `create_ios_framework.py`).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
auto-submit bot pushed a commit that referenced this pull request Aug 14, 2024
Over time, this script and others in `sky/tools` have accumulated a lot of additional and sometimes duplicate code.

This is a first pass cleanup of `create_macos_framework.py` to extract common utility code to `sky/utils.py` and refactor for better readability.

The iOS analogue of this patch was #54500.

This is a reland of #54543 (reverted in #54550), which failed to set the `-y` option (preserve symlinks) when zipping `FlutterMacOS.xcframework` but did so for the other zip steps where required. Since there is no case where we *want* to archive dereferenced symlinks, and because it's required for macOS frameworks, we now set this option for all callers in the `sky_tools.create_zip()` function to avoid future cases where someone working on this code misses one. If we ever need it, we can extract a parameter. This patch also references the correct script in its description (the original incorrectly mentioned `create_ios_framework.py`).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
cbracken added a commit to cbracken/flutter_engine that referenced this pull request Aug 14, 2024
This is a refactoring with no semantic changes.

This refactors the macOS framework creation code to be more readable, and extracts it to `sky_utils.py`.

While I was pulling this out, also generalised the code to not hardcode `FlutterMacOS.framework` in case we one day manage to generate the iOS and macOS frameworks with the same name.

This is a reland of flutter#54546 (reverted in flutter#54549), the original was reverted in order to revert flutter#54543 (reverted in flutter#54550), which was reverted because it failed to preserve symlinks while zipping the macOS framework. That patch has been relanded with a fix in flutter#54555. This patch has been rebased to tip-of-tree for attempt two.
auto-submit bot pushed a commit that referenced this pull request Aug 14, 2024
This is a refactoring with no semantic changes.

This refactors the macOS framework creation code to be more readable, and extracts it to `sky_utils.py`.

While I was pulling this out, also generalised the code to not hardcode `FlutterMacOS.framework` in case we one day manage to generate the iOS and macOS frameworks with the same name.

This is a reland of #54546 (reverted in #54549), the original was reverted in order to revert #54543 (reverted in #54550), which was reverted because it failed to preserve symlinks while zipping the macOS framework. That patch has been relanded with a fix in #54555. This patch has been rebased to tip-of-tree for attempt two.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
auto-submit bot added a commit that referenced this pull request Aug 15, 2024
Reverts: #54557
Initiated by: zanderso
Reason for reverting: Failing on framework tests on the roll https://ci.chromium.org/ui/p/flutter/builders/try/Mac_arm64%20run_debug_test_macos/9841/overview
Original PR Author: cbracken

Reviewed By: {jmagman}

This change reverts the following previous change:
This is a refactoring with no semantic changes.

This refactors the macOS framework creation code to be more readable, and extracts it to `sky_utils.py`.

While I was pulling this out, also generalised the code to not hardcode `FlutterMacOS.framework` in case we one day manage to generate the iOS and macOS frameworks with the same name.

This is a reland of #54546 (reverted in #54549), the original was reverted in order to revert #54543 (reverted in #54550), which was reverted because it failed to preserve symlinks while zipping the macOS framework. That patch has been relanded with a fix in #54555. This patch has been rebased to tip-of-tree for attempt two.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
DBowen33 pushed a commit to DBowen33/flutter that referenced this pull request Aug 16, 2024
…sions) (flutter#153413)

Manual roll requested by zra@google.com

flutter/engine@019f9e3...5909666

2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Dart SDK from 44635f897535 to 733062367c2e (1 revision) (flutter#54541)" (flutter/engine#54552)
2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "macOS: Clean up create_ios_framework.py (flutter#54543)" (flutter/engine#54550)
2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "macOS: refactor create_macos_framework.py (flutter#54546)" (flutter/engine#54549)
2024-08-14 chris@bracken.jp macOS: refactor create_macos_framework.py (flutter/engine#54546)
2024-08-13 flar@google.com [DisplayList] Allow random access to ops through indexing (flutter/engine#54484)
2024-08-13 mit@google.com Update dartdoc for gpu.dart (flutter/engine#54529)
2024-08-13 chris@bracken.jp macOS: Clean up create_ios_framework.py (flutter/engine#54543)
2024-08-13 skia-flutter-autoroll@skia.org Roll Dart SDK from 44635f897535 to 733062367c2e (1 revision) (flutter/engine#54541)
2024-08-13 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 2LTVy4Gv76DcMpz4V... to MeV5i7xXXFPHF5sBK... (flutter/engine#54542)
2024-08-13 1961493+harryterkelsen@users.noreply.github.com [canvaskit] Add animation detection for GIFs (flutter/engine#54483)
2024-08-13 matej.knopp@gmail.com Preserve background frame damage (flutter/engine#54540)
2024-08-13 68449066+zijiehe-google-com@users.noreply.github.com [fuchsia] Use BundledTestRunner from test-scripts (flutter/engine#54404)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from 2LTVy4Gv76Dc to MeV5i7xXXFPH

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC rmistry@google.com,zra@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
Buchimi pushed a commit to Buchimi/flutter that referenced this pull request Sep 2, 2024
…sions) (flutter#153413)

Manual roll requested by zra@google.com

flutter/engine@019f9e3...5909666

2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Dart SDK from 44635f897535 to 733062367c2e (1 revision) (flutter#54541)" (flutter/engine#54552)
2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "macOS: Clean up create_ios_framework.py (flutter#54543)" (flutter/engine#54550)
2024-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "macOS: refactor create_macos_framework.py (flutter#54546)" (flutter/engine#54549)
2024-08-14 chris@bracken.jp macOS: refactor create_macos_framework.py (flutter/engine#54546)
2024-08-13 flar@google.com [DisplayList] Allow random access to ops through indexing (flutter/engine#54484)
2024-08-13 mit@google.com Update dartdoc for gpu.dart (flutter/engine#54529)
2024-08-13 chris@bracken.jp macOS: Clean up create_ios_framework.py (flutter/engine#54543)
2024-08-13 skia-flutter-autoroll@skia.org Roll Dart SDK from 44635f897535 to 733062367c2e (1 revision) (flutter/engine#54541)
2024-08-13 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from 2LTVy4Gv76DcMpz4V... to MeV5i7xXXFPHF5sBK... (flutter/engine#54542)
2024-08-13 1961493+harryterkelsen@users.noreply.github.com [canvaskit] Add animation detection for GIFs (flutter/engine#54483)
2024-08-13 matej.knopp@gmail.com Preserve background frame damage (flutter/engine#54540)
2024-08-13 68449066+zijiehe-google-com@users.noreply.github.com [fuchsia] Use BundledTestRunner from test-scripts (flutter/engine#54404)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from 2LTVy4Gv76Dc to MeV5i7xXXFPH

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC rmistry@google.com,zra@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
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants