Skip to content

Commit 39ffe50

Browse files
committed
chore(ios): harmonize dependencies and version handling
- depend on firebase_core in preference to Firebase/Core (or CoreOnly) - do not specify override versions where unnecessary - include Firebase SDK version override logic in all podspecs
1 parent 6c99008 commit 39ffe50

File tree

17 files changed

+55
-57
lines changed

17 files changed

+55
-57
lines changed

packages/cloud_firestore/cloud_firestore/example/ios/Podfile

+14-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,20 @@ flutter_ios_podfile_setup
2929

3030
target 'Runner' do
3131
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
32-
33-
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '6.33.0'
32+
33+
if defined?($FirebaseSDKVersion)
34+
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version for FirebaseFirestore framwork: '#{$FirebaseSDKVersion}'"
35+
firebase_sdk_version = $FirebaseSDKVersion
36+
else
37+
firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.expand_path('..', File.dirname(__FILE__)))), 'firebase_core/ios/firebase_sdk_version.rb')
38+
if File.exist?(firebase_core_script)
39+
require firebase_core_script
40+
firebase_sdk_version = firebase_sdk_version!
41+
Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core for FirebaseFirestore framework'"
42+
end
43+
end
44+
45+
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => $firebase_sdk_version
3446
end
3547

3648
post_install do |installer|

packages/cloud_firestore/cloud_firestore/ios/cloud_firestore.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -34,8 +33,7 @@ Pod::Spec.new do |s|
3433
s.dependency 'Flutter'
3534

3635
s.dependency 'firebase_core'
37-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
38-
s.dependency 'Firebase/Firestore', "~> #{firebase_sdk_version}"
36+
s.dependency 'Firebase/Firestore', firebase_sdk_version
3937

4038
s.static_framework = true
4139
s.pod_target_xcconfig = {

packages/cloud_functions/cloud_functions/ios/cloud_functions.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ require 'yaml'
22
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
33
library_version = pubspec['version'].gsub('+', '-')
44

5-
firebase_sdk_version = '6.33.0'
65
if defined?($FirebaseSDKVersion)
76
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
87
firebase_sdk_version = $FirebaseSDKVersion
@@ -34,8 +33,7 @@ Pod::Spec.new do |s|
3433

3534
# Firebase dependencies
3635
s.dependency 'firebase_core'
37-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
38-
s.dependency 'Firebase/Functions', "~> #{firebase_sdk_version}"
36+
s.dependency 'Firebase/Functions', firebase_sdk_version
3937

4038
s.static_framework = true
4139
s.pod_target_xcconfig = {

packages/firebase_admob/ios/firebase_admob.podspec

-14
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,6 @@ require 'yaml'
66
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
77
library_version = pubspec['version'].gsub('+', '-')
88

9-
firebase_sdk_version = '6.33.0'
10-
if defined?($FirebaseSDKVersion)
11-
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
12-
firebase_sdk_version = $FirebaseSDKVersion
13-
else
14-
firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb')
15-
if File.exist?(firebase_core_script)
16-
require firebase_core_script
17-
firebase_sdk_version = firebase_sdk_version!
18-
Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'"
19-
end
20-
end
21-
229
Pod::Spec.new do |s|
2310
s.name = pubspec['name']
2411
s.version = library_version
@@ -32,7 +19,6 @@ Pod::Spec.new do |s|
3219
s.public_header_files = 'Classes/**/*.h'
3320
s.dependency 'Flutter'
3421
s.dependency 'firebase_core'
35-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
3622
s.dependency 'Google-Mobile-Ads-SDK'
3723

3824
s.ios.deployment_target = '8.0'

packages/firebase_analytics/firebase_analytics/ios/firebase_analytics.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -34,8 +33,7 @@ Pod::Spec.new do |s|
3433
s.dependency 'Flutter'
3534

3635
s.dependency 'firebase_core'
37-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
38-
s.dependency 'Firebase/Analytics', "~> #{firebase_sdk_version}"
36+
s.dependency 'Firebase/Analytics', firebase_sdk_version
3937

4038
s.static_framework = true
4139
s.pod_target_xcconfig = {

packages/firebase_auth/firebase_auth/ios/firebase_auth.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -33,8 +32,7 @@ Pod::Spec.new do |s|
3332
s.dependency 'Flutter'
3433

3534
s.dependency 'firebase_core'
36-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
37-
s.dependency 'Firebase/Auth', "~> #{firebase_sdk_version}"
35+
s.dependency 'Firebase/Auth', firebase_sdk_version
3836

3937
s.static_framework = true
4038
s.pod_target_xcconfig = {

packages/firebase_core/firebase_core/ios/firebase_core.podspec

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -34,7 +33,7 @@ Pod::Spec.new do |s|
3433
s.dependency 'Flutter'
3534

3635
# Firebase dependencies
37-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
36+
s.dependency 'Firebase/CoreOnly', firebase_sdk_version
3837

3938
s.static_framework = true
4039
s.pod_target_xcconfig = {

packages/firebase_crashlytics/firebase_crashlytics/ios/firebase_crashlytics.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -32,8 +31,7 @@ Pod::Spec.new do |s|
3231
s.ios.deployment_target = '8.0'
3332

3433
s.dependency 'firebase_core'
35-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
36-
s.dependency 'Firebase/Crashlytics', "~> #{firebase_sdk_version}"
34+
s.dependency 'Firebase/Crashlytics', firebase_sdk_version
3735

3836
s.static_framework = true
3937
s.pod_target_xcconfig = {

packages/firebase_database/ios/firebase_database.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -33,8 +32,7 @@ Pod::Spec.new do |s|
3332
s.dependency 'Flutter'
3433

3534
s.dependency 'firebase_core'
36-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
37-
s.dependency 'Firebase/Database', "~> #{firebase_sdk_version}"
35+
s.dependency 'Firebase/Database', firebase_sdk_version
3836

3937
s.static_framework = true
4038
s.pod_target_xcconfig = {

packages/firebase_dynamic_links/ios/firebase_dynamic_links.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -31,8 +30,7 @@ Pod::Spec.new do |s|
3130
s.ios.deployment_target = '8.0'
3231
s.static_framework = true
3332
s.dependency 'firebase_core'
34-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
35-
s.dependency 'Firebase/DynamicLinks', "~> #{firebase_sdk_version}"
33+
s.dependency 'Firebase/DynamicLinks', firebase_sdk_version
3634

3735
s.pod_target_xcconfig = {
3836
'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-dl\\\"",

packages/firebase_in_app_messaging/ios/firebase_in_app_messaging.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -29,8 +28,7 @@ Pod::Spec.new do |s|
2928
s.public_header_files = 'Classes/**/*.h'
3029
s.dependency 'Flutter'
3130
s.dependency 'firebase_core'
32-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
33-
s.dependency 'Firebase/InAppMessaging', "~> #{firebase_sdk_version}"
31+
s.dependency 'Firebase/InAppMessaging', firebase_sdk_version
3432
s.static_framework = true
3533

3634
s.ios.deployment_target = '8.0'

packages/firebase_messaging/firebase_messaging/ios/firebase_messaging.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -34,8 +33,7 @@ Pod::Spec.new do |s|
3433
s.dependency 'Flutter'
3534

3635
s.dependency 'firebase_core'
37-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
38-
s.dependency 'Firebase/Messaging', "~> #{firebase_sdk_version}"
36+
s.dependency 'Firebase/Messaging', firebase_sdk_version
3937
s.static_framework = true
4038
s.pod_target_xcconfig = {
4139
'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-fcm\\\"",

packages/firebase_ml_custom/ios/firebase_ml_custom.podspec

+14-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ require 'yaml'
77
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
88
libraryVersion = pubspec['version'].gsub('+', '-')
99

10+
if defined?($FirebaseSDKVersion)
11+
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
12+
firebase_sdk_version = $FirebaseSDKVersion
13+
else
14+
firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb')
15+
if File.exist?(firebase_core_script)
16+
require firebase_core_script
17+
firebase_sdk_version = firebase_sdk_version!
18+
Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'"
19+
end
20+
end
21+
1022
Pod::Spec.new do |s|
1123
s.name = 'firebase_ml_custom'
1224
s.version = '0.0.1'
@@ -21,7 +33,8 @@ A new Flutter plugin.
2133
s.source_files = 'Classes/**/*'
2234
s.public_header_files = 'Classes/**/*.h'
2335
s.dependency 'Flutter'
24-
s.dependency 'Firebase/MLModelInterpreter', "~> 6.33.0"
36+
s.dependency 'firebase_core'
37+
s.dependency 'Firebase/MLModelInterpreter', firebase_sdk_version
2538
s.ios.deployment_target = '9.0'
2639
s.static_framework = true
2740

packages/firebase_ml_vision/ios/firebase_ml_vision.podspec

+14-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ require 'yaml'
66
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
77
libraryVersion = pubspec['version'].gsub('+', '-')
88

9+
if defined?($FirebaseSDKVersion)
10+
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
11+
firebase_sdk_version = $FirebaseSDKVersion
12+
else
13+
firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb')
14+
if File.exist?(firebase_core_script)
15+
require firebase_core_script
16+
firebase_sdk_version = firebase_sdk_version!
17+
Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'"
18+
end
19+
end
20+
921
Pod::Spec.new do |s|
1022
s.name = 'firebase_ml_vision'
1123
s.version = '0.1.1'
@@ -21,8 +33,8 @@ An SDK that brings Google's machine learning expertise to Android and iOS apps i
2133
s.source_files = 'Classes/**/*'
2234
s.public_header_files = 'Classes/**/*.h'
2335
s.dependency 'Flutter'
24-
s.dependency 'Firebase/Core'
25-
s.dependency 'Firebase/MLVision'
36+
s.dependency 'firebase_core'
37+
s.dependency 'Firebase/MLVision', firebase_sdk_version
2638
s.ios.deployment_target = '9.0'
2739
s.static_framework = true
2840

packages/firebase_performance/ios/firebase_performance.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ require 'yaml'
66
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
77
library_version = pubspec['version'].gsub('+', '-')
88

9-
firebase_sdk_version = '6.33.0'
109
if defined?($FirebaseSDKVersion)
1110
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
1211
firebase_sdk_version = $FirebaseSDKVersion
@@ -32,8 +31,7 @@ Pod::Spec.new do |s|
3231
s.public_header_files = 'Classes/**/*.h'
3332
s.dependency 'Flutter'
3433
s.dependency 'firebase_core'
35-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
36-
s.dependency 'Firebase/Performance', "~> #{firebase_sdk_version}"
34+
s.dependency 'Firebase/Performance', firebase_sdk_version
3735
s.ios.deployment_target = '8.0'
3836
s.static_framework = true
3937

packages/firebase_remote_config/ios/firebase_remote_config.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -33,8 +32,7 @@ Pod::Spec.new do |s|
3332
s.dependency 'Flutter'
3433

3534
s.dependency 'firebase_core'
36-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
37-
s.dependency 'Firebase/RemoteConfig', "~> #{firebase_sdk_version}"
35+
s.dependency 'Firebase/RemoteConfig', firebase_sdk_version
3836

3937
s.static_framework = true
4038
s.pod_target_xcconfig = {

packages/firebase_storage/firebase_storage/ios/firebase_storage.podspec

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'yaml'
33
pubspec = YAML.load_file(File.join('..', 'pubspec.yaml'))
44
library_version = pubspec['version'].gsub('+', '-')
55

6-
firebase_sdk_version = '6.33.0'
76
if defined?($FirebaseSDKVersion)
87
Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
98
firebase_sdk_version = $FirebaseSDKVersion
@@ -33,8 +32,7 @@ Pod::Spec.new do |s|
3332
s.dependency 'Flutter'
3433

3534
s.dependency 'firebase_core'
36-
s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}"
37-
s.dependency 'Firebase/Storage', "~> #{firebase_sdk_version}"
35+
s.dependency 'Firebase/Storage', firebase_sdk_version
3836

3937
s.static_framework = true
4038
s.pod_target_xcconfig = {

0 commit comments

Comments
 (0)