-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Move macOS Podfile logic into the tool #72020
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
8235f6e
to
7557763
Compare
7557763
to
3eb5bd3
Compare
Rebased on #72372, removed |
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! I love seeing fewer of our internal build details baked into checked-in project files.
def flutter_root | ||
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) | ||
unless File.exist?(generated_xcode_build_settings_path) | ||
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" |
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.
Nit: "make sure 'flutter pub get' is executed first" (to make parsing out the command part easier)
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.
return true if line =~ /^\s*macos:/ | ||
} | ||
return false | ||
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run flutter pub get" |
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.
Same.
3eb5bd3
to
56dfbd1
Compare
Description
macOS variants of #59209 and #59044 and the CocoaPods linking part of #70224
.flutter-plugins-dependencies
instead of the old.flutter-plugins
to only embed themacos
-enabled plugins via CocoaPods.s.dependency 'FlutterMacOS'
and CocoaPods will try to download it from the CoocaPods trunk if the Podfile doesn'tpod 'FlutterMacOS', :path => relative/file
. This has the advantage of making the Podfile.lock stable so:path: Flutter/ephemeral/.symlinks/flutter/darwin-x64-release
becomes:path: Flutter/ephemeral/
and doesn't change if you run in different build modes, so can be checked into the user's repo if desired.podhelper.rb
. Plugins will now link on the frameworks in the artifact cache. This means the engine artifacts don't need to be symlinked and referred to by CocoaPods, which could have been hairy if any codesigning or (future) ARM thinning actually edited these files.FLUTTER_FRAMEWORK_DIR
build setting.Related Issues
Fixes #46618
#59044
#71953
#70735
One fewer instance of #48918
Tests
Updated plugin_lint_mac