@@ -2,22 +2,66 @@ require "json"
2
2
require_relative './scripts/reanimated_utils'
3
3
4
4
reanimated_package_json = JSON . parse ( File . read ( File . join ( __dir__ , "package.json" ) ) )
5
- config = find_config ( )
6
- assert_latest_react_native_with_new_architecture ( config , reanimated_package_json )
7
- assert_minimal_react_native_version ( config )
5
+ $ config = find_config ( )
6
+ assert_latest_react_native_with_new_architecture ( $ config, reanimated_package_json )
7
+ assert_minimal_react_native_version ( $ config)
8
8
9
- fabric_enabled = ENV [ 'RCT_NEW_ARCH_ENABLED' ] == '1'
9
+ $new_arch_enabled = ENV [ 'RCT_NEW_ARCH_ENABLED' ] == '1'
10
10
is_release = ENV [ 'PRODUCTION' ] == '1'
11
- using_hermes = ENV [ 'USE_HERMES' ] == nil || ENV [ 'USE_HERMES' ] == '1'
12
11
13
- folly_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -DREACT_NATIVE_MINOR_VERSION=' + config [ :react_native_minor_version ] . to_s
12
+ folly_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -DREACT_NATIVE_MINOR_VERSION=' + $ config[ :react_native_minor_version ] . to_s
14
13
folly_compiler_flags = folly_flags + ' ' + '-Wno-comma -Wno-shorten-64-to-32'
15
14
boost_compiler_flags = '-Wno-documentation'
16
- fabric_flags = fabric_enabled ? '-DRCT_NEW_ARCH_ENABLED' : ''
17
- example_flag = config [ :is_reanimated_example_app ] ? '-DIS_REANIMATED_EXAMPLE_APP' : ''
15
+ fabric_flags = $new_arch_enabled ? '-DRCT_NEW_ARCH_ENABLED' : ''
16
+ example_flag = $ config[ :is_reanimated_example_app ] ? '-DIS_REANIMATED_EXAMPLE_APP' : ''
18
17
version_flag = '-DREANIMATED_VERSION=' + reanimated_package_json [ "version" ]
19
18
debug_flag = is_release ? '-DNDEBUG' : ''
20
- ios_min_version = config [ :react_native_minor_version ] >= 73 ? '10.0' : '9.0'
19
+ ios_min_version = $config[ :react_native_minor_version ] >= 73 ? '13.4' : '9.0'
20
+
21
+ def self . install_modules_dependencies_legacy ( s )
22
+ using_hermes = ENV [ 'USE_HERMES' ] == nil || ENV [ 'USE_HERMES' ] == '1'
23
+ s . dependency "React-Core"
24
+ if $new_arch_enabled
25
+ s . dependency "React-RCTFabric"
26
+ s . dependency "React-Codegen"
27
+ end
28
+ s . dependency "RCT-Folly"
29
+ s . dependency "RCTRequired"
30
+ s . dependency "RCTTypeSafety"
31
+ s . dependency 'FBLazyVector'
32
+ if $config[ :react_native_minor_version ] <= 71
33
+ s . dependency 'FBReactNativeSpec'
34
+ end
35
+ s . dependency 'React-Core'
36
+ s . dependency 'React-CoreModules'
37
+ s . dependency 'React-Core/DevSupport'
38
+ if !$config[ :is_tvos_target ]
39
+ s . dependency 'React-RCTActionSheet'
40
+ end
41
+ s . dependency 'React-RCTNetwork'
42
+ s . dependency 'React-RCTAnimation'
43
+ s . dependency 'React-RCTLinking'
44
+ s . dependency 'React-RCTBlob'
45
+ s . dependency 'React-RCTSettings'
46
+ s . dependency 'React-RCTText'
47
+ s . dependency 'React-RCTImage'
48
+ s . dependency 'React-Core/RCTWebSocket'
49
+ s . dependency 'React-cxxreact'
50
+ s . dependency 'React-jsi'
51
+ s . dependency 'React-jsiexecutor'
52
+ s . dependency 'React-jsinspector'
53
+ s . dependency 'Yoga'
54
+ s . dependency 'DoubleConversion'
55
+ s . dependency 'glog'
56
+ if using_hermes && !$config[ :is_tvos_target ] && $config[ :react_native_minor_version ] >= 70
57
+ s . dependency 'React-hermes'
58
+ s . dependency 'hermes-engine'
59
+ end
60
+ s . dependency 'React-callinvoker'
61
+ if $config[ :react_native_minor_version ] >= 72 && !$new_arch_enabled
62
+ s . dependency 'React-RCTAppDelegate'
63
+ end
64
+ end
21
65
22
66
Pod ::Spec . new do |s |
23
67
@@ -29,7 +73,6 @@ Pod::Spec.new do |s|
29
73
DESC
30
74
s . homepage = "https://github.com/software-mansion/react-native-reanimated"
31
75
s . license = "MIT"
32
- # s.license = { :type => "MIT", :file => "FILE_LICENSE" }
33
76
s . author = { "author" => "author@domain.cn" }
34
77
s . platforms = { :ios => ios_min_version , :tvos => "9.0" , :osx => "10.14" }
35
78
s . source = { :git => "https://github.com/software-mansion/react-native-reanimated.git" , :tag => "#{ s . version } " }
@@ -53,53 +96,14 @@ Pod::Spec.new do |s|
53
96
}
54
97
s . compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + ' -DHERMES_ENABLE_DEBUGGER'
55
98
s . xcconfig = {
56
- "HEADER_SEARCH_PATHS" => "\" $(PODS_ROOT)/boost\" \" $(PODS_ROOT)/boost-for-react-native\" \" $(PODS_ROOT)/glog\" \" $(PODS_ROOT)/RCT-Folly\" \" $(PODS_ROOT)/Headers/Public/React-hermes\" \" $(PODS_ROOT)/Headers/Public/hermes-engine\" \" $(PODS_ROOT)/#{ config [ :react_native_common_dir ] } \" " ,
99
+ "HEADER_SEARCH_PATHS" => "\" $(PODS_ROOT)/boost\" \" $(PODS_ROOT)/boost-for-react-native\" \" $(PODS_ROOT)/glog\" \" $(PODS_ROOT)/RCT-Folly\" \" $(PODS_ROOT)/Headers/Public/React-hermes\" \" $(PODS_ROOT)/Headers/Public/hermes-engine\" \" $(PODS_ROOT)/#{ $ config[ :react_native_common_dir ] } \" " ,
57
100
"OTHER_CFLAGS" => "$(inherited)" + " " + folly_flags + " " + fabric_flags + " " + example_flag + " " + version_flag + " " + debug_flag
58
101
}
59
-
60
102
s . requires_arc = true
61
-
62
- s . dependency "React-Core"
63
- if fabric_enabled
64
- s . dependency "React-RCTFabric"
65
- s . dependency "React-Codegen"
66
- end
67
- s . dependency "RCT-Folly"
68
- s . dependency "RCTRequired"
69
- s . dependency "RCTTypeSafety"
70
103
s . dependency "ReactCommon/turbomodule/core"
71
- s . dependency 'FBLazyVector'
72
- if config [ :react_native_minor_version ] <= 71
73
- s . dependency 'FBReactNativeSpec'
74
- end
75
- s . dependency 'React-Core'
76
- s . dependency 'React-CoreModules'
77
- s . dependency 'React-Core/DevSupport'
78
- if !config [ :is_tvos_target ]
79
- s . dependency 'React-RCTActionSheet'
80
- end
81
- s . dependency 'React-RCTNetwork'
82
- s . dependency 'React-RCTAnimation'
83
- s . dependency 'React-RCTLinking'
84
- s . dependency 'React-RCTBlob'
85
- s . dependency 'React-RCTSettings'
86
- s . dependency 'React-RCTText'
87
- s . dependency 'React-RCTImage'
88
- s . dependency 'React-Core/RCTWebSocket'
89
- s . dependency 'React-cxxreact'
90
- s . dependency 'React-jsi'
91
- s . dependency 'React-jsiexecutor'
92
- s . dependency 'React-jsinspector'
93
- s . dependency 'Yoga'
94
- s . dependency 'DoubleConversion'
95
- s . dependency 'glog'
96
- if using_hermes && !config [ :is_tvos_target ] && config [ :react_native_minor_version ] >= 70
97
- s . dependency 'React-hermes'
98
- s . dependency 'hermes-engine'
99
- end
100
- s . dependency 'React-callinvoker'
101
-
102
- if config [ :react_native_minor_version ] >= 72 && !fabric_enabled
103
- s . dependency 'React-RCTAppDelegate'
104
+ if defined? ( install_modules_dependencies ( ) ) != nil
105
+ install_modules_dependencies ( s )
106
+ else
107
+ install_modules_dependencies_legacy ( s )
104
108
end
105
109
end
0 commit comments