mirror of
https://github.com/status-im/status-react.git
synced 2025-01-10 11:06:25 +00:00
761a7df06f
This commit does many things : - Upgrade `react-native ` to `0.72.5` - Upgrade `react-native-reanimated` to `3.5.4` - Upgrade `react-native-navigation` to `7.37.0` - `ndkVersion` has been bumped to `25.2.9519653` - `cmakeVersion` has been bumped to `3.22.1` - `kotlinVersion` has been bumped to `1.7.22` - `AGP` has been bumped to `7.4.2` - `Gradle` has been upgraded to `8.0.1` - Android `CompileSDK` and `TargetSDK` have been bumped to 33 - `@react-native-async-storage/async-storage` has been upgraded to `1.19.3` - `@walletconnect/client` has been nuked - some of the old `react-native-reanimated` code has been nuked - `react-native-keychain` fork has been replaced with `8.1.2` - On Android we are currently relying on `Hermes` Engine. - On iOS we are currently relying on `JSC` - We are not enabling new architecture for now (I have plans for that in the future) ref: https://github.com/status-im/status-mobile/issues/18138 IOS only PR : https://github.com/status-im/status-mobile/pull/16721 Android only PR : https://github.com/status-im/status-mobile/pull/17062 - `make run-metro` now has a target of `android` which was `clojure` earlier, this will increase the time it takes to start metro terminal but this is needed otherwise you will get a nasty error while developing for android locally.
88 lines
3.1 KiB
Ruby
88 lines
3.1 KiB
Ruby
# Resolve react_native_pods.rb with node to allow for hoisting
|
|
require Pod::Executable.execute_command('node', ['-p',
|
|
'require.resolve(
|
|
"react-native/scripts/react_native_pods.rb",
|
|
{paths: [process.argv[1]]},
|
|
)', __dir__]).strip
|
|
|
|
platform :ios, min_ios_version_supported
|
|
prepare_react_native_project!
|
|
|
|
linkage = ENV['USE_FRAMEWORKS']
|
|
if linkage != nil
|
|
Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
|
|
use_frameworks! :linkage => linkage.to_sym
|
|
end
|
|
|
|
# If inside a Nix shell, allow pod install
|
|
inside_nix_shell = ENV['IN_NIX_SHELL']
|
|
allow_pod_install = !inside_nix_shell.nil?
|
|
|
|
unless allow_pod_install
|
|
puts "ERROR: 'pod install' must be run inside a Nix shell. Please ensure you're inside a nix shell and try again."
|
|
exit 1
|
|
end
|
|
|
|
abstract_target 'Status' do
|
|
# Pods for StatusQuo
|
|
config = use_native_modules!
|
|
|
|
# Flags change depending on the env values.
|
|
flags = get_default_flags()
|
|
|
|
use_react_native!(
|
|
:path => config[:reactNativePath],
|
|
:hermes_enabled => false,
|
|
:fabric_enabled => flags[:fabric_enabled],
|
|
# An absolute path to your application root.
|
|
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
|
)
|
|
|
|
pod 'react-native-image-resizer', :path => '../node_modules/react-native-image-resizer'
|
|
pod 'react-native-config', :path => '../node_modules/react-native-config'
|
|
|
|
pod 'SSZipArchive', '2.4.3'
|
|
|
|
permissions_path = '../node_modules/react-native-permissions/ios'
|
|
pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone/Permission-Microphone.podspec"
|
|
pod 'Permission-Camera', :path => "#{permissions_path}/Camera/Permission-Camera.podspec"
|
|
pod "react-native-status-keycard", path: "../node_modules/react-native-status-keycard"
|
|
pod "react-native-status", path: "../modules/react-native-status"
|
|
pod "Keycard", git: "https://github.com/status-im/Keycard.swift.git"
|
|
pod 'secp256k1', git: "https://github.com/status-im/secp256k1.swift.git", submodules: true
|
|
|
|
target 'StatusIm' do
|
|
|
|
target 'StatusImTests' do
|
|
inherit! :complete
|
|
# Pods for testing
|
|
end
|
|
end
|
|
|
|
target 'StatusImPR' do
|
|
end
|
|
|
|
post_install do |installer|
|
|
# some of libs wouldn't be build for x86_64 otherwise and that is
|
|
# necessary for ios simulators
|
|
installer.pods_project.targets.each do |target|
|
|
target.build_configurations.each do |config|
|
|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
|
|
# fix for no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'?
|
|
# ref : https://github.com/facebook/react-native/issues/37748
|
|
# TODO : remove after upgrading to react-native 0.72.x
|
|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']
|
|
end
|
|
# We need to remove the predefinition of IPHONEOS_DEPLOYMENT_TARGET from RNCK lib to use our own.
|
|
case target.name
|
|
when 'ReactNativeCameraKit'
|
|
target.build_configurations.each do |config|
|
|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
use_native_modules!
|
|
end
|