-
Notifications
You must be signed in to change notification settings - Fork 28.5k
Build/copy macOS frameworks to built products instead of ephemeral directory #72378
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
Conversation
@@ -38,53 +38,36 @@ abstract class UnpackMacOS extends Target { | |||
]; | |||
|
|||
@override | |||
List<Source> get outputs => const <Source>[]; | |||
List<Source> get outputs => const <Source>[ | |||
Source.pattern('{OUTPUT_DIR}/FlutterMacOS.framework/FlutterMacOS'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Either it's already been copied to build/macos/Build/Products/Debug
or it hasn't, so we don't need unpack_macos.d
anymore. The subclasses include Source.artifact(Artifact.flutterMacOSFramework, mode: x)
which will cause re-copies on flutter upgrades.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
'- .DS_Store/', | ||
basePath, | ||
environment.outputDir.path, | ||
]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update the comment on this class, which currently says we're using cp -R
.
817cce6
to
5f4394b
Compare
Google testing failed, but I don't see any test results for that PR in FRoB, failing or otherwise. Since it 8000 passed before my comment-only change I'll call it good. |
Description
macOS version of #69699 and part of #70224.
Flutter/ephemeral
, instead targetBUILT_PRODUCTS_DIR
(for examplebuild/macos/Build/Products/Debug/
).FRAMEWORK_SEARCH_PATHS
build setting from template and all example projects to prefer the built products directory, which we always get for free. I didn't write a migrator since leaving this around in existing apps is harmless--theinherited
part means it will find our copied framework first.This:
flutter build macos --debug
is run right before running in Release/archiving in Xcode and some pieces build before the xcconfig can be updated.$CONFIGURATION
s so we don't have to keep track of whether to rebuild or recopy frameworks when switching from Debug to Release. Either the frameworks are inbuild/macos/Build/Products/{Debug,Release}/
or they aren't.Related Issues
#72372
Blocked by #72020, which changes plugins from linking on
Flutter/ephemeral/FlutterMacOS.framework
to instead linking directly on the framework in the engine artifacts.Tests
Updated macos_test
Already validated by macos_content_validation_test