forked from element-hq/element-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Podfile
169 lines (134 loc) · 4.89 KB
/
Podfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
source 'https://cdn.cocoapods.org/'
# Uncomment this line to define a global platform for your project
platform :ios, '14.0'
# By default, ignore all warnings from any pod
inhibit_all_warnings!
# Use frameworks to allow usage of pods written in Swift
use_frameworks!
# Different flavours of pods to MatrixSDK. Can be one of:
# - a String indicating an official MatrixSDK released version number
# - `:local` (to use Development Pods)
# - `{ :branch => 'sdk branch name'}` to depend on specific branch of MatrixSDK repo
# - `{ :specHash => {sdk spec hash}` to depend on specific pod options (:git => …, :podspec => …) for MatrixSDK repo. Used by Fastfile during CI
#
# Warning: our internal tooling depends on the name of this variable name, so be sure not to change it
$matrixSDKVersion = '= 0.27.2'
# $matrixSDKVersion = :local
# $matrixSDKVersion = { :branch => 'develop'}
# $matrixSDKVersion = { :specHash => { git: 'https://git.io/fork123', branch: 'fix' } }
########################################
case $matrixSDKVersion
when :local
$matrixSDKVersionSpec = { :path => '../matrix-ios-sdk/MatrixSDK.podspec' }
when Hash
spec_mode, sdk_spec = $matrixSDKVersion.first # extract first and only key/value pair; key is spec_mode, value is sdk_spec
case spec_mode
when :branch
# :branch => sdk branch name
sdk_spec = { :git => 'https://github.com/matrix-org/matrix-ios-sdk.git', :branch => sdk_spec.to_s } unless sdk_spec.is_a?(Hash)
when :specHash
# :specHash => {sdk spec Hash}
sdk_spec = sdk_spec
end
$matrixSDKVersionSpec = sdk_spec
when String # specific MatrixSDK released version
$matrixSDKVersionSpec = $matrixSDKVersion
end
# Method to import the MatrixSDK
def import_MatrixSDK
pod 'MatrixSDK', $matrixSDKVersionSpec, :inhibit_warnings => false
pod 'MatrixSDK/JingleCallStack', $matrixSDKVersionSpec, :inhibit_warnings => false
end
########################################
def import_MatrixKit_pods
pod 'libPhoneNumber-iOS', '~> 0.9.13'
pod 'Down', '~> 0.11.0'
end
def import_SwiftUI_pods
pod 'Introspect', '~> 0.1'
pod 'DSBottomSheet', '~> 0.3'
pod 'ZXingObjC', '~> 3.6.5'
end
abstract_target 'RiotPods' do
pod 'GBDeviceInfo', '~> 7.1.0'
pod 'Reusable', '~> 4.1'
pod 'KeychainAccess', '~> 4.2.2'
pod 'WeakDictionary', '~> 2.0'
# PostHog for analytics
pod 'PostHog', '~> 2.0.0'
pod 'Sentry', '~> 7.15.0'
pod 'OLMKit'
pod 'zxcvbn-ios'
# Tools
pod 'SwiftGen'
pod 'SwiftLint'
pod 'SwiftFormat/CLI'
target "Riot" do
import_MatrixSDK
import_MatrixKit_pods
import_SwiftUI_pods
pod 'UICollectionViewRightAlignedLayout', '~> 0.0.3'
pod 'UICollectionViewLeftAlignedLayout', '~> 1.0.2'
pod 'KTCenterFlowLayout', '~> 1.3.1'
pod 'FlowCommoniOS', '~> 1.12.0'
pod 'ReadMoreTextView', '~> 3.0.1'
pod 'SwiftBase32', '~> 0.9.0'
pod 'SwiftJWT', '~> 3.6.200'
pod 'SideMenu', '~> 6.5'
pod 'DSWaveformImage', '~> 6.1.1'
pod 'FLEX', '~> 4.5.0', :configurations => ['Debug'], :inhibit_warnings => true
target 'RiotTests' do
inherit! :search_paths
end
end
target "RiotSwiftUI" do
import_SwiftUI_pods
end
target "RiotSwiftUITests" do
import_SwiftUI_pods
end
target "RiotNSE" do
import_MatrixSDK
import_MatrixKit_pods
end
target "BroadcastUploadExtension" do
import_MatrixSDK
end
# Disabled due to crypto corruption issues.
# https://github.com/vector-im/element-ios/issues/7618
# target "RiotShareExtension" do
# import_MatrixSDK
# import_MatrixKit_pods
# end
#
# target "SiriIntents" do
# import_MatrixSDK
# import_MatrixKit_pods
# end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
# Disable bitcode for each pod framework
# Because the WebRTC pod (included by the JingleCallStack pod) does not support it.
# Plus the app does not enable it
config.build_settings['ENABLE_BITCODE'] = 'NO'
# Force ReadMoreTextView to use Swift 5.2 version (as there is no code changes to perform)
if target.name.include? 'ReadMoreTextView'
config.build_settings['SWIFT_VERSION'] = '5.2'
end
# Stop Xcode 12 complaining about old IPHONEOS_DEPLOYMENT_TARGET from pods
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
# Disable nullability checks
config.build_settings['WARNING_CFLAGS'] ||= ['$(inherited)','-Wno-nullability-completeness']
config.build_settings['OTHER_SWIFT_FLAGS'] ||= ['$(inherited)', '-Xcc', '-Wno-nullability-completeness']
end
# Fix Xcode 14 resource bundle signing issues
# https://github.com/CocoaPods/CocoaPods/issues/11402#issuecomment-1259231655
if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle"
target.build_configurations.each do |config|
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
end
end
end
end