react-native-tvos 0.74.3-0 → 0.74.5-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -2
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Image/RCTImageLoader.mm +2 -6
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/Network/RCTNetworkTask.mm +4 -3
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +0 -13
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/README.md +2 -0
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/React-RCTFabric.podspec +1 -1
- package/React/Views/RCTComponentData.m +11 -3
- package/React-Core.podspec +1 -1
- package/ReactAndroid/api/ReactAndroid.api +0 -9
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/publish.gradle +56 -39
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.java +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +9 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +0 -5
- package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/React-FabricImage.podspec +1 -1
- package/ReactCommon/React-Mapbuffer.podspec +1 -1
- package/ReactCommon/React-nativeconfig.podspec +1 -1
- package/ReactCommon/React-rncore.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
- package/ReactCommon/react/debug/React-debug.podspec +1 -1
- package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +4 -3
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
- package/ReactCommon/react/utils/React-utils.podspec +1 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/package.json +9 -9
- package/scripts/cocoapods/helpers.rb +4 -0
- package/scripts/cocoapods/new_architecture.rb +10 -23
- package/scripts/cocoapods/privacy_manifest_utils.rb +11 -5
- package/scripts/cocoapods/utils.rb +12 -1
- package/scripts/react_native_pods.rb +4 -0
- package/scripts/react_native_pods_utils/script_phases.sh +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +2 -1
- package/sdks/hermes-engine/utils/build-apple-framework.sh +11 -14
- package/sdks/hermes-engine/utils/build-hermes-xcode.sh +11 -5
- package/sdks/hermes-engine/utils/build-ios-framework.sh +17 -8
- package/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh +1 -1
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/package.json +5 -5
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/fmt.podspec +1 -1
- package/types/public/ReactNativeTVTypes.d.ts +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +0 -70
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
37
37
|
s.pod_target_xcconfig = {
|
|
38
38
|
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers\"",
|
|
39
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
39
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
|
|
40
40
|
}
|
|
41
41
|
s.header_dir = "cxxreact"
|
|
42
42
|
|
|
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
|
|
|
37
37
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
38
38
|
s.pod_target_xcconfig = {
|
|
39
39
|
"HEADER_SEARCH_PATHS" => "\"${PODS_ROOT}/hermes-engine/destroot/include\" \"$(PODS_TARGET_SRCROOT)/..\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"",
|
|
40
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
40
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
|
|
41
41
|
}
|
|
42
42
|
s.header_dir = "reacthermes"
|
|
43
43
|
s.dependency "React-cxxreact", version
|
|
@@ -29,7 +29,7 @@ Pod::Spec.new do |s|
|
|
|
29
29
|
s.header_dir = "."
|
|
30
30
|
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_TARGET_SRCROOT}/../..\"",
|
|
31
31
|
"USE_HEADERMAP" => "YES",
|
|
32
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
32
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
33
33
|
"GCC_WARN_PEDANTIC" => "YES" }
|
|
34
34
|
|
|
35
35
|
if ENV['USE_FRAMEWORKS']
|
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.source_files = "JsErrorHandler.{cpp,h}"
|
|
37
37
|
s.pod_target_xcconfig = {
|
|
38
38
|
"USE_HEADERMAP" => "YES",
|
|
39
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
39
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
|
|
40
40
|
}
|
|
41
41
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
42
42
|
|
|
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
|
|
|
33
33
|
s.source_files = "jsireact/*.{cpp,h}"
|
|
34
34
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
35
35
|
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"",
|
|
36
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
36
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
|
|
37
37
|
s.header_dir = "jsireact"
|
|
38
38
|
|
|
39
39
|
s.dependency "React-cxxreact", version
|
|
@@ -38,7 +38,7 @@ Pod::Spec.new do |s|
|
|
|
38
38
|
s.compiler_flags = folly_compiler_flags
|
|
39
39
|
s.pod_target_xcconfig = {
|
|
40
40
|
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/..\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"",
|
|
41
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
41
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
42
42
|
"DEFINES_MODULE" => "YES"
|
|
43
43
|
}.merge!(use_frameworks ? {
|
|
44
44
|
"PUBLIC_HEADERS_FOLDER_PATH" => "#{module_name}.framework/Headers/#{header_dir}"
|
|
@@ -27,7 +27,7 @@ Pod::Spec.new do |s|
|
|
|
27
27
|
s.source = source
|
|
28
28
|
s.source_files = "**/*.{cpp,h}"
|
|
29
29
|
s.header_dir = "react/debug"
|
|
30
|
-
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
30
|
+
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
31
31
|
"DEFINES_MODULE" => "YES" }
|
|
32
32
|
|
|
33
33
|
if ENV['USE_FRAMEWORKS']
|
|
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
|
|
|
33
33
|
s.source = source
|
|
34
34
|
s.source_files = "*.{cpp,h}"
|
|
35
35
|
s.header_dir = "react/featureflags"
|
|
36
|
-
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
36
|
+
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
37
37
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
|
|
38
38
|
"DEFINES_MODULE" => "YES" }
|
|
39
39
|
|
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
37
37
|
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/Headers/Private/React-Core\"",
|
|
38
38
|
"USE_HEADERMAP" => "YES",
|
|
39
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
39
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
40
40
|
"GCC_WARN_PEDANTIC" => "YES" }
|
|
41
41
|
if ENV['USE_FRAMEWORKS']
|
|
42
42
|
s.header_mappings_dir = './'
|
|
@@ -47,7 +47,7 @@ Pod::Spec.new do |s|
|
|
|
47
47
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
48
48
|
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths,
|
|
49
49
|
"USE_HEADERMAP" => "YES",
|
|
50
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
50
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
51
51
|
"GCC_WARN_PEDANTIC" => "YES" }
|
|
52
52
|
if ENV['USE_FRAMEWORKS']
|
|
53
53
|
s.header_mappings_dir = './'
|
|
@@ -125,9 +125,10 @@ static const std::shared_ptr<void> constructCoordinator(
|
|
|
125
125
|
bridgeModuleDecorator = unwrapManagedObject(optionalModuleDecorator.value());
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
RCTComponentData *componentData =
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
RCTComponentData *componentData =
|
|
129
|
+
[[RCTComponentData alloc] initWithManagerClass:viewManagerClass
|
|
130
|
+
bridge:bridge != nil ? bridge : (RCTBridge *)bridgeProxy
|
|
131
|
+
eventDispatcher:eventDispatcher];
|
|
131
132
|
return wrapManagedObject([[RCTLegacyViewManagerInteropCoordinator alloc]
|
|
132
133
|
initWithComponentData:componentData
|
|
133
134
|
bridge:bridge
|
|
@@ -45,7 +45,7 @@ Pod::Spec.new do |s|
|
|
|
45
45
|
s.header_dir = "react/renderer/debug"
|
|
46
46
|
s.exclude_files = "tests"
|
|
47
47
|
s.pod_target_xcconfig = {
|
|
48
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
48
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
49
49
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
|
|
50
50
|
"DEFINES_MODULE" => "YES"
|
|
51
51
|
}
|
|
@@ -57,7 +57,7 @@ Pod::Spec.new do |s|
|
|
|
57
57
|
s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
|
|
58
58
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(" "),
|
|
59
59
|
"DEFINES_MODULE" => "YES",
|
|
60
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
60
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
|
|
61
61
|
|
|
62
62
|
s.dependency "glog"
|
|
63
63
|
s.dependency "RCT-Folly/Fabric", folly_version
|
|
@@ -50,7 +50,7 @@ Pod::Spec.new do |s|
|
|
|
50
50
|
s.pod_target_xcconfig = {
|
|
51
51
|
"USE_HEADERMAP" => "NO",
|
|
52
52
|
"HEADER_SEARCH_PATHS" => header_search_paths,
|
|
53
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
53
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
54
54
|
"DEFINES_MODULE" => "YES",
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -43,7 +43,7 @@ Pod::Spec.new do |s|
|
|
|
43
43
|
s.header_dir = "react/renderer/runtimescheduler"
|
|
44
44
|
s.exclude_files = "tests"
|
|
45
45
|
s.pod_target_xcconfig = {
|
|
46
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
46
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
47
47
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' ')}
|
|
48
48
|
|
|
49
49
|
if ENV['USE_FRAMEWORKS']
|
|
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
|
|
|
37
37
|
s.header_dir = "react/runtime"
|
|
38
38
|
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/React-Core\" \"${PODS_TARGET_SRCROOT}/../..\"",
|
|
39
39
|
"USE_HEADERMAP" => "YES",
|
|
40
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
40
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
41
41
|
"GCC_WARN_PEDANTIC" => "YES" }
|
|
42
42
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
43
43
|
|
|
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
|
|
|
35
35
|
s.header_dir = "react/runtime/hermes"
|
|
36
36
|
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_TARGET_SRCROOT}/../..\" \"${PODS_TARGET_SRCROOT}/../../hermes/executor\" \"$(PODS_ROOT)/boost\"",
|
|
37
37
|
"USE_HEADERMAP" => "YES",
|
|
38
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
38
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
39
39
|
"GCC_WARN_PEDANTIC" => "YES" }
|
|
40
40
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
41
41
|
|
|
@@ -42,7 +42,7 @@ Pod::Spec.new do |s|
|
|
|
42
42
|
s.header_dir = "ReactCommon"
|
|
43
43
|
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths,
|
|
44
44
|
"USE_HEADERMAP" => "YES",
|
|
45
|
-
"CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
45
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
46
46
|
"GCC_WARN_PEDANTIC" => "YES" }
|
|
47
47
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
48
48
|
|
|
@@ -39,7 +39,7 @@ Pod::Spec.new do |s|
|
|
|
39
39
|
s.compiler_flags = folly_compiler_flags
|
|
40
40
|
s.header_dir = "react/utils"
|
|
41
41
|
s.exclude_files = "tests"
|
|
42
|
-
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
42
|
+
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
43
43
|
"HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
|
|
44
44
|
"DEFINES_MODULE" => "YES" }
|
|
45
45
|
|
|
@@ -32,5 +32,5 @@ Pod::Spec.new do |s|
|
|
|
32
32
|
s.source = source
|
|
33
33
|
s.source_files = "**/*.{cpp,h}"
|
|
34
34
|
s.header_dir = "reactperflogger"
|
|
35
|
-
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" =>
|
|
35
|
+
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
|
|
36
36
|
end
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tvos",
|
|
3
|
-
"version": "0.74.
|
|
3
|
+
"version": "0.74.5-0",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -111,13 +111,13 @@
|
|
|
111
111
|
"@react-native-community/cli": "13.6.9",
|
|
112
112
|
"@react-native-community/cli-platform-android": "13.6.9",
|
|
113
113
|
"@react-native-community/cli-platform-ios": "13.6.9",
|
|
114
|
-
"@react-native/assets-registry": "0.74.
|
|
115
|
-
"@react-native/codegen": "0.74.
|
|
116
|
-
"@react-native/community-cli-plugin": "0.74.
|
|
117
|
-
"@react-native/gradle-plugin": "0.74.
|
|
118
|
-
"@react-native/js-polyfills": "0.74.
|
|
119
|
-
"@react-native/normalize-colors": "0.74.
|
|
120
|
-
"@react-native-tvos/virtualized-lists": "0.74.
|
|
114
|
+
"@react-native/assets-registry": "0.74.87",
|
|
115
|
+
"@react-native/codegen": "0.74.87",
|
|
116
|
+
"@react-native/community-cli-plugin": "0.74.87",
|
|
117
|
+
"@react-native/gradle-plugin": "0.74.87",
|
|
118
|
+
"@react-native/js-polyfills": "0.74.87",
|
|
119
|
+
"@react-native/normalize-colors": "0.74.87",
|
|
120
|
+
"@react-native-tvos/virtualized-lists": "0.74.5-0",
|
|
121
121
|
"abort-controller": "^3.0.0",
|
|
122
122
|
"anser": "^1.4.9",
|
|
123
123
|
"ansi-regex": "^5.0.0",
|
|
@@ -164,6 +164,6 @@
|
|
|
164
164
|
]
|
|
165
165
|
},
|
|
166
166
|
"devDependencies": {
|
|
167
|
-
"react-native-core": "npm:react-native@0.74.
|
|
167
|
+
"react-native-core": "npm:react-native@0.74.5"
|
|
168
168
|
}
|
|
169
169
|
}
|
|
@@ -51,5 +51,9 @@ module Helpers
|
|
|
51
51
|
:compiler_flags => '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -Wno-comma -Wno-shorten-64-to-32'
|
|
52
52
|
}
|
|
53
53
|
end
|
|
54
|
+
|
|
55
|
+
def self.cxx_language_standard
|
|
56
|
+
return "c++20"
|
|
57
|
+
end
|
|
54
58
|
end
|
|
55
59
|
end
|
|
@@ -9,34 +9,21 @@ require_relative "./utils.rb"
|
|
|
9
9
|
require_relative "./helpers.rb"
|
|
10
10
|
|
|
11
11
|
class NewArchitectureHelper
|
|
12
|
-
@@cplusplus_version = "c++20"
|
|
13
|
-
|
|
14
12
|
@@NewArchWarningEmitted = false # Used not to spam warnings to the user.
|
|
15
13
|
|
|
16
14
|
def self.set_clang_cxx_language_standard_if_needed(installer)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# The React-Core pod may have a suffix added by Cocoapods, so we test whether 'React-Core' is a substring, and do not require exact match
|
|
21
|
-
if target.name.include? 'React-Core'
|
|
22
|
-
language_standard = target.resolved_build_setting("CLANG_CXX_LANGUAGE_STANDARD", resolve_against_xcconfig: true).values[0]
|
|
23
|
-
end
|
|
24
|
-
end
|
|
15
|
+
projects = installer.aggregate_targets
|
|
16
|
+
.map{ |t| t.user_project }
|
|
17
|
+
.uniq{ |p| p.path }
|
|
25
18
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.map{ |t| t.user_project }
|
|
29
|
-
.uniq{ |p| p.path }
|
|
19
|
+
projects.each do |project|
|
|
20
|
+
Pod::UI.puts("Setting CLANG_CXX_LANGUAGE_STANDARD to #{ Helpers::Constants::cxx_language_standard } on #{ project.path }")
|
|
30
21
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
project.build_configurations.each do |config|
|
|
35
|
-
config.build_settings["CLANG_CXX_LANGUAGE_STANDARD"] = language_standard
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
project.save()
|
|
22
|
+
project.build_configurations.each do |config|
|
|
23
|
+
config.build_settings["CLANG_CXX_LANGUAGE_STANDARD"] = Helpers::Constants::cxx_language_standard
|
|
39
24
|
end
|
|
25
|
+
|
|
26
|
+
project.save()
|
|
40
27
|
end
|
|
41
28
|
end
|
|
42
29
|
|
|
@@ -103,7 +90,7 @@ class NewArchitectureHelper
|
|
|
103
90
|
current_config["HEADER_SEARCH_PATHS"] = current_headers.empty? ?
|
|
104
91
|
header_search_paths_string :
|
|
105
92
|
"#{current_headers} #{header_search_paths_string}"
|
|
106
|
-
current_config["CLANG_CXX_LANGUAGE_STANDARD"] =
|
|
93
|
+
current_config["CLANG_CXX_LANGUAGE_STANDARD"] = Helpers::Constants::cxx_language_standard
|
|
107
94
|
|
|
108
95
|
|
|
109
96
|
spec.dependency "React-Core"
|
|
@@ -50,7 +50,7 @@ module PrivacyManifestUtils
|
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
def self.get_application_targets(user_project)
|
|
53
|
-
return user_project.targets.filter { |t| t.symbol_type == :application }
|
|
53
|
+
return user_project.targets.filter { |t| t.respond_to?(:symbol_type) && t.symbol_type == :application }
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
def self.read_privacyinfo_file(file_path)
|
|
@@ -67,7 +67,7 @@ module PrivacyManifestUtils
|
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
def self.ensure_reference(file_path, user_project, target)
|
|
70
|
-
reference_exists = target.resources_build_phase.files_references.any? { |file_ref| file_ref
|
|
70
|
+
reference_exists = target.resources_build_phase.files_references.any? { |file_ref| file_ref&.path&.end_with? "PrivacyInfo.xcprivacy" }
|
|
71
71
|
unless reference_exists
|
|
72
72
|
# We try to find the main group, but if it doesn't exist, we default to adding the file to the project root – both work
|
|
73
73
|
file_root = user_project.root_object.main_group.children.find { |group|
|
|
@@ -79,8 +79,11 @@ module PrivacyManifestUtils
|
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
def self.get_privacyinfo_file_path(user_project, targets)
|
|
82
|
+
|
|
82
83
|
file_refs = targets.flat_map { |target| target.resources_build_phase.files_references }
|
|
83
|
-
existing_file = file_refs.find { |file_ref| file_ref
|
|
84
|
+
existing_file = file_refs.find { |file_ref| file_ref&.path&.end_with?("PrivacyInfo.xcprivacy") }
|
|
85
|
+
|
|
86
|
+
|
|
84
87
|
if existing_file
|
|
85
88
|
return existing_file.real_path
|
|
86
89
|
end
|
|
@@ -89,7 +92,9 @@ module PrivacyManifestUtils
|
|
|
89
92
|
info_plist_path = user_project.files.find { |file_ref| file_ref.name == "Info.plist" }
|
|
90
93
|
if info_plist_path.nil?
|
|
91
94
|
# return path that is sibling to .xcodeproj
|
|
95
|
+
|
|
92
96
|
path = user_project.path
|
|
97
|
+
|
|
93
98
|
return File.join(File.dirname(path), "PrivacyInfo.xcprivacy")
|
|
94
99
|
end
|
|
95
100
|
return File.join(File.dirname(info_plist_path.real_path),"PrivacyInfo.xcprivacy")
|
|
@@ -120,6 +125,7 @@ module PrivacyManifestUtils
|
|
|
120
125
|
end
|
|
121
126
|
end
|
|
122
127
|
end
|
|
128
|
+
|
|
123
129
|
return used_apis
|
|
124
130
|
end
|
|
125
131
|
|
|
@@ -127,7 +133,7 @@ module PrivacyManifestUtils
|
|
|
127
133
|
privacy_manifests = user_project
|
|
128
134
|
.files
|
|
129
135
|
.select { |p|
|
|
130
|
-
p
|
|
136
|
+
p&.path&.end_with?('PrivacyInfo.xcprivacy')
|
|
131
137
|
}
|
|
132
138
|
return privacy_manifests
|
|
133
139
|
end
|
|
@@ -165,7 +171,7 @@ module PrivacyManifestUtils
|
|
|
165
171
|
"NSPrivacyTracking" => false,
|
|
166
172
|
"NSPrivacyAccessedAPITypes" => get_core_accessed_apis
|
|
167
173
|
}
|
|
168
|
-
path = File.join(user_project
|
|
174
|
+
path = File.join(user_project&.path.parent, "PrivacyInfo.xcprivacy")
|
|
169
175
|
Xcodeproj::Plist.write_to_path(privacy_manifest, path)
|
|
170
176
|
Pod::UI.puts "Your app does not have a privacy manifest! A template has been generated containing Required Reasons API usage in the core React Native library. Please add the PrivacyInfo.xcprivacy file to your project and complete data use, tracking and any additional required reasons your app is using according to Apple's guidance: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files. Then, you will need to manually add this file to your project in Xcode.".red
|
|
171
177
|
end
|
|
@@ -244,7 +244,18 @@ class ReactNativePodsUtils
|
|
|
244
244
|
end
|
|
245
245
|
|
|
246
246
|
if !file_manager.exist?("#{file_path}.local")
|
|
247
|
-
|
|
247
|
+
# When installing pods with a yarn alias, yarn creates a fake yarn and node executables
|
|
248
|
+
# in a temporary folder.
|
|
249
|
+
# Using `type -a` we are able to retrieve all the paths of an executable and we can
|
|
250
|
+
# exclude the temporary ones.
|
|
251
|
+
# see https://github.com/facebook/react-native/issues/43285 for more info
|
|
252
|
+
node_binary = `type -a node`.split("\n").map { |path|
|
|
253
|
+
path.gsub!("node is ", "")
|
|
254
|
+
}.select { |b|
|
|
255
|
+
return !b.start_with?("/var")
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
node_binary = node_binary[0]
|
|
248
259
|
system("echo 'export NODE_BINARY=#{node_binary}' > #{file_path}.local")
|
|
249
260
|
end
|
|
250
261
|
end
|
|
@@ -267,6 +267,10 @@ def get_folly_config()
|
|
|
267
267
|
return Helpers::Constants.folly_config
|
|
268
268
|
end
|
|
269
269
|
|
|
270
|
+
def rct_cxx_language_standard()
|
|
271
|
+
return Helpers::Constants.cxx_language_standard
|
|
272
|
+
end
|
|
273
|
+
|
|
270
274
|
# Function that executes after React Native has been installed to configure some flags and build settings.
|
|
271
275
|
#
|
|
272
276
|
# Parameters
|
|
@@ -104,7 +104,7 @@ moveOutputs () {
|
|
|
104
104
|
mkdir -p "$RCT_SCRIPT_OUTPUT_DIR"
|
|
105
105
|
|
|
106
106
|
# Copy all output to output_dir
|
|
107
|
-
cp -R -X "$TEMP_OUTPUT_DIR/." "$RCT_SCRIPT_OUTPUT_DIR" || exit 1
|
|
107
|
+
/bin/cp -R -X "$TEMP_OUTPUT_DIR/." "$RCT_SCRIPT_OUTPUT_DIR" || exit 1
|
|
108
108
|
echo "$LIBRARY_NAME output has been written to $RCT_SCRIPT_OUTPUT_DIR:" >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
|
|
109
109
|
ls -1 "$RCT_SCRIPT_OUTPUT_DIR" >> "${SCRIPT_OUTPUT_FILE_0}" 2>&1
|
|
110
110
|
}
|
|
@@ -24,7 +24,7 @@ Pod::Spec.new do |spec|
|
|
|
24
24
|
spec.license = package['license']
|
|
25
25
|
spec.author = "Facebook"
|
|
26
26
|
spec.source = source
|
|
27
|
-
spec.platforms = { :osx => "10.13", :ios => "13.4", :tvos => "13.4" }
|
|
27
|
+
spec.platforms = { :osx => "10.13", :ios => "13.4", :tvos => "13.4", :visionos => "1.0" }
|
|
28
28
|
|
|
29
29
|
spec.preserve_paths = '**/*.*'
|
|
30
30
|
spec.source_files = ''
|
|
@@ -46,6 +46,7 @@ Pod::Spec.new do |spec|
|
|
|
46
46
|
ss.header_mappings_dir = "destroot/include"
|
|
47
47
|
ss.ios.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
|
|
48
48
|
ss.tvos.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
|
|
49
|
+
ss.visionos.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
|
|
49
50
|
ss.osx.vendored_frameworks = "destroot/Library/Frameworks/macosx/hermes.framework"
|
|
50
51
|
end
|
|
51
52
|
|
|
@@ -17,6 +17,8 @@ REACT_NATIVE_PATH=${REACT_NATIVE_PATH:-$CURR_SCRIPT_DIR/../../..}
|
|
|
17
17
|
|
|
18
18
|
NUM_CORES=$(sysctl -n hw.ncpu)
|
|
19
19
|
|
|
20
|
+
PLATFORMS=("macosx" "iphoneos" "iphonesimulator" "catalyst" "xros" "xrsimulator" "appletvos" "appletvsimulator")
|
|
21
|
+
|
|
20
22
|
if [[ -z "$JSI_PATH" ]]; then
|
|
21
23
|
JSI_PATH="$REACT_NATIVE_PATH/ReactCommon/jsi"
|
|
22
24
|
fi
|
|
@@ -41,6 +43,10 @@ function get_tvos_deployment_target {
|
|
|
41
43
|
use_env_var_or_ruby_prop "${IOS_DEPLOYMENT_TARGET}" "deployment_target('tvos')"
|
|
42
44
|
}
|
|
43
45
|
|
|
46
|
+
function get_visionos_deployment_target {
|
|
47
|
+
use_env_var_or_ruby_prop "${XROS_DEPLOYMENT_TARGET}" "deployment_target('visionos')"
|
|
48
|
+
}
|
|
49
|
+
|
|
44
50
|
function get_mac_deployment_target {
|
|
45
51
|
use_env_var_or_ruby_prop "${MAC_DEPLOYMENT_TARGET}" "deployment_target('osx')"
|
|
46
52
|
}
|
|
@@ -164,21 +170,12 @@ function build_apple_framework {
|
|
|
164
170
|
}
|
|
165
171
|
|
|
166
172
|
function prepare_dest_root_for_ci {
|
|
173
|
+
mkdir -p "destroot/bin"
|
|
174
|
+
for platform in "${PLATFORMS[@]}"; do
|
|
175
|
+
mkdir -p "destroot/Library/Frameworks/$platform"
|
|
176
|
+
cp -R "./build_$platform/API/hermes/hermes.framework"* "destroot/Library/Frameworks/$platform"
|
|
177
|
+
done
|
|
167
178
|
|
|
168
|
-
mkdir -p "destroot/Library/Frameworks/macosx"
|
|
169
|
-
mkdir -p "destroot/bin"
|
|
170
|
-
mkdir -p "destroot/Library/Frameworks/iphoneos"
|
|
171
|
-
mkdir -p "destroot/Library/Frameworks/iphonesimulator"
|
|
172
|
-
mkdir -p "destroot/Library/Frameworks/appletvos"
|
|
173
|
-
mkdir -p "destroot/Library/Frameworks/appletvsimulator"
|
|
174
|
-
mkdir -p "destroot/Library/Frameworks/catalyst"
|
|
175
|
-
|
|
176
|
-
cp -R "./build_macosx/API/hermes/hermes.framework"* "destroot/Library/Frameworks/macosx"
|
|
177
|
-
cp -R "./build_iphoneos/API/hermes/hermes.framework"* "destroot/Library/Frameworks/iphoneos"
|
|
178
|
-
cp -R "./build_iphonesimulator/API/hermes/hermes.framework"* "destroot/Library/Frameworks/iphonesimulator"
|
|
179
|
-
cp -R "./build_appletvos/API/hermes/hermes.framework"* "destroot/Library/Frameworks/appletvos"
|
|
180
|
-
cp -R "./build_appletvsimulator/API/hermes/hermes.framework"* "destroot/Library/Frameworks/appletvsimulator"
|
|
181
|
-
cp -R "./build_catalyst/API/hermes/hermes.framework"* "destroot/Library/Frameworks/catalyst"
|
|
182
179
|
cp "./build_macosx/bin/"* "destroot/bin"
|
|
183
180
|
|
|
184
181
|
# Copy over Hermes and JSI API headers.
|
|
@@ -10,24 +10,30 @@ release_version="$1"; shift
|
|
|
10
10
|
hermesc_path="$1"; shift
|
|
11
11
|
jsi_path="$1"; shift
|
|
12
12
|
|
|
13
|
-
# Based on platform name returns the framework copy destination. Used later by `vendored_frameworks` in Podspec.
|
|
13
|
+
# Based on platform name returns the framework copy destination. Used later by `vendored_frameworks` in Podspec.
|
|
14
14
|
# Fallbacks to "ios" if platform is not recognized.
|
|
15
15
|
function get_platform_copy_destination {
|
|
16
16
|
if [[ $1 == "macosx" ]]; then
|
|
17
17
|
echo "macosx"
|
|
18
18
|
return
|
|
19
|
+
elif [[ $1 == "xros" || $1 == "xrsimulator" ]]; then
|
|
20
|
+
echo "xros"
|
|
21
|
+
return
|
|
19
22
|
fi
|
|
20
|
-
|
|
23
|
+
|
|
21
24
|
echo "ios"
|
|
22
25
|
}
|
|
23
26
|
|
|
24
27
|
function get_deployment_target {
|
|
25
28
|
if [[ $1 == "macosx" ]]; then
|
|
26
|
-
echo ${MACOSX_DEPLOYMENT_TARGET}
|
|
29
|
+
echo "${MACOSX_DEPLOYMENT_TARGET}"
|
|
30
|
+
return
|
|
31
|
+
elif [[ $1 == "xrsimulator" || $1 == "xros" ]]; then
|
|
32
|
+
echo "${XROS_DEPLOYMENT_TARGET}"
|
|
27
33
|
return
|
|
28
34
|
fi
|
|
29
|
-
|
|
30
|
-
echo ${IPHONEOS_DEPLOYMENT_TARGET}
|
|
35
|
+
|
|
36
|
+
echo "${IPHONEOS_DEPLOYMENT_TARGET}"
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
enable_debugger="false"
|
|
@@ -10,9 +10,9 @@ fi
|
|
|
10
10
|
set -e
|
|
11
11
|
|
|
12
12
|
# Given a specific target, retrieve the right architecture for it
|
|
13
|
-
# $1 the target you want to build. Allowed values: iphoneos, iphonesimulator, catalyst
|
|
13
|
+
# $1 the target you want to build. Allowed values: iphoneos, iphonesimulator, catalyst, xros, xrsimulator
|
|
14
14
|
function get_architecture {
|
|
15
|
-
if [[ $1 == "iphoneos" ]]; then
|
|
15
|
+
if [[ $1 == "iphoneos" || $1 == "xros" || $1 == "xrsimulator" ]]; then
|
|
16
16
|
echo "arm64"
|
|
17
17
|
elif [[ $1 == "iphonesimulator" ]]; then
|
|
18
18
|
echo "x86_64;arm64"
|
|
@@ -28,18 +28,25 @@ function get_architecture {
|
|
|
28
28
|
fi
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
function get_deployment_target {
|
|
32
|
+
if [[ $1 == "xros" || $1 == "xrsimulator" ]]; then
|
|
33
|
+
echo "$(get_visionos_deployment_target)"
|
|
34
|
+
elif [[ $1 == "appletvos" || $1 == "appletvsimulator" ]]; then
|
|
35
|
+
echo "$(get_tvos_deployment_target)"
|
|
36
|
+
else
|
|
37
|
+
echo "$(get_ios_deployment_target)"
|
|
38
|
+
fi
|
|
39
|
+
}
|
|
40
|
+
|
|
31
41
|
# build a single framework
|
|
32
42
|
# $1 is the target to build
|
|
33
43
|
function build_framework {
|
|
34
44
|
if [ ! -d destroot/Library/Frameworks/universal/hermes.xcframework ]; then
|
|
35
|
-
|
|
36
|
-
if [[ "$1" == "appletvos" || "$1" == "appletvsimulator" ]]; then
|
|
37
|
-
ios_deployment_target=$(get_tvos_deployment_target)
|
|
38
|
-
fi
|
|
45
|
+
deployment_target=$(get_deployment_target "$1")
|
|
39
46
|
|
|
40
47
|
architecture=$(get_architecture "$1")
|
|
41
48
|
|
|
42
|
-
build_apple_framework "$1" "$architecture" "$
|
|
49
|
+
build_apple_framework "$1" "$architecture" "$deployment_target"
|
|
43
50
|
else
|
|
44
51
|
echo "Skipping; Clean \"destroot\" to rebuild".
|
|
45
52
|
fi
|
|
@@ -48,7 +55,7 @@ function build_framework {
|
|
|
48
55
|
# group the frameworks together to create a universal framework
|
|
49
56
|
function build_universal_framework {
|
|
50
57
|
if [ ! -d destroot/Library/Frameworks/universal/hermes.xcframework ]; then
|
|
51
|
-
create_universal_framework "iphoneos" "iphonesimulator" "appletvos" "appletvsimulator" "catalyst"
|
|
58
|
+
create_universal_framework "iphoneos" "iphonesimulator" "appletvos" "appletvsimulator" "catalyst" "xros" "xrsimulator"
|
|
52
59
|
else
|
|
53
60
|
echo "Skipping; Clean \"destroot\" to rebuild".
|
|
54
61
|
fi
|
|
@@ -65,6 +72,8 @@ function create_framework {
|
|
|
65
72
|
build_framework "appletvos"
|
|
66
73
|
build_framework "appletvsimulator"
|
|
67
74
|
build_framework "catalyst"
|
|
75
|
+
build_framework "xros"
|
|
76
|
+
build_framework "xrsimulator"
|
|
68
77
|
|
|
69
78
|
build_universal_framework
|
|
70
79
|
else
|
|
@@ -19,7 +19,7 @@ pushd destroot/Library/Frameworks > /dev/null || exit 1
|
|
|
19
19
|
|
|
20
20
|
echo '' > dummy.c
|
|
21
21
|
|
|
22
|
-
platforms=( "macosx" "ios" ) # Add other platforms here if needed
|
|
22
|
+
platforms=( "macosx" "ios" "xros" ) # Add other platforms here if needed
|
|
23
23
|
|
|
24
24
|
for platform in "${platforms[@]}"
|
|
25
25
|
do
|
|
Binary file
|
|
Binary file
|
|
Binary file
|