mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
358a6e9f70
Ignoring code comments as the codebase is old and redirects exist. Might be some Sonarcloud updates to follow.
169 lines
4.9 KiB
Ruby
169 lines
4.9 KiB
Ruby
source 'https://cdn.cocoapods.org/'
|
||
|
||
# Uncomment this line to define a global platform for your project
|
||
platform :ios, '15.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.4'
|
||
# $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/element-hq/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
|