iOS: Generate FBReactNativeSpec ObjC++ files at build time
Summary: Removes the generated FBReactNativeSpec files from source control. ## Generating FBReactNativeSpec files The files will be generated automatically by CocoaPods when the `RNTesterPods` Xcode workspace is generated: ``` cd packages/rn-tester pod install ``` The spec files can be re-generated by invoking the script directly: ``` ./scripts/generate-native-modules-specs.sh ``` Changelog: [Internal] Reviewed By: RSNara Differential Revision: D24261167 fbshipit-source-id: acb7ac856e5e519932e4f587f79e24f49cd84a91
This commit is contained in:
Родитель
5333ad8a61
Коммит
9218e0c2e6
|
@ -100,6 +100,7 @@ package-lock.json
|
|||
!/packages/rn-tester/Pods/__offline_mirrors__
|
||||
|
||||
# react-native-codegen
|
||||
/Libraries/FBReactNativeSpec/FBReactNativeSpec
|
||||
/packages/react-native-codegen/lib
|
||||
/ReactCommon/fabric/components/rncore/
|
||||
/schema-native-modules.json
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
load("//tools/build_defs/oss:rn_defs.bzl", "fb_apple_library", "react_native_xplat_target_apple", "subdir_glob")
|
||||
|
||||
fb_apple_library(
|
||||
name = "FBReactNativeSpecApple",
|
||||
srcs = glob(["FBReactNativeSpec/**/*.mm"]),
|
||||
exported_headers = subdir_glob(
|
||||
[
|
||||
("FBReactNativeSpec", "*.h"),
|
||||
],
|
||||
prefix = "FBReactNativeSpec",
|
||||
),
|
||||
contacts = ["oncall+react_native@xmail.facebook.com"],
|
||||
extension_api_only = True,
|
||||
frameworks = [
|
||||
"Foundation",
|
||||
"UIKit",
|
||||
],
|
||||
labels = ["supermodule:xplat/default/public.react_native.infra"],
|
||||
reexport_all_header_dependencies = True,
|
||||
deps = [
|
||||
"//xplat/js/react-native-github:RCTTypeSafety",
|
||||
"//xplat/js/react-native-github/Libraries/RCTRequired:RCTRequired",
|
||||
react_native_xplat_target_apple("react/nativemodule/core:core"),
|
||||
],
|
||||
)
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -130,7 +130,7 @@ rn_apple_library(
|
|||
exported_deps = [
|
||||
"//xplat/js:RCTLinkingApple",
|
||||
"//xplat/js:RCTPushNotificationApple",
|
||||
"//xplat/js:generated_objcpp_modules-react-nativeApple",
|
||||
"//xplat/js/react-native-github:ReactInternalApple",
|
||||
"//xplat/js/react-native-github/Libraries/FBReactNativeSpec:FBReactNativeSpecApple",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -8,6 +8,7 @@ load(
|
|||
"IOS",
|
||||
"MACOSX",
|
||||
"YOGA_CXX_TARGET",
|
||||
"fb_apple_library",
|
||||
"fb_xplat_cxx_test",
|
||||
"get_apple_compiler_flags",
|
||||
"get_apple_inspector_flags",
|
||||
|
@ -15,6 +16,7 @@ load(
|
|||
"react_native_dep",
|
||||
"react_native_target",
|
||||
"react_native_xplat_target",
|
||||
"react_native_xplat_target_apple",
|
||||
"rn_android_library",
|
||||
"rn_xplat_cxx_library",
|
||||
)
|
||||
|
@ -139,36 +141,29 @@ def rn_codegen_modules(
|
|||
labels = ["codegen_rule"],
|
||||
)
|
||||
|
||||
rn_xplat_cxx_library(
|
||||
name = "generated_objcpp_modules-{}".format(name),
|
||||
fb_apple_library(
|
||||
name = "generated_objcpp_modules-{}Apple".format(name),
|
||||
extension_api_only = True,
|
||||
header_namespace = "",
|
||||
apple_sdks = (IOS),
|
||||
sdks = (IOS),
|
||||
compiler_flags = [
|
||||
"-fexceptions",
|
||||
"-frtti",
|
||||
"-std=c++14",
|
||||
"-Wall",
|
||||
"-Wno-unused-private-field",
|
||||
],
|
||||
fbobjc_compiler_flags = get_apple_compiler_flags(),
|
||||
fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
|
||||
ios_exported_headers = {
|
||||
exported_headers = {
|
||||
"{}/{}.h".format(native_module_spec_name, native_module_spec_name): ":{}".format(generate_module_hobjcpp_name),
|
||||
},
|
||||
ios_headers = [
|
||||
headers = [
|
||||
":{}".format(generate_module_hobjcpp_name),
|
||||
],
|
||||
ios_srcs = [
|
||||
srcs = [
|
||||
":{}".format(generate_module_mm_name),
|
||||
],
|
||||
labels = ["codegen_rule"],
|
||||
platforms = (APPLE),
|
||||
preprocessor_flags = [
|
||||
"-DLOG_TAG=\"ReactNative\"",
|
||||
"-DWITH_FBSYSTRACE=1",
|
||||
],
|
||||
visibility = ["PUBLIC"],
|
||||
deps = [
|
||||
"//xplat/js:React",
|
||||
exported_deps = [
|
||||
"//xplat/js/react-native-github:RCTTypeSafety",
|
||||
"//xplat/js/react-native-github/Libraries/RCTRequired:RCTRequired",
|
||||
react_native_xplat_target_apple("react/nativemodule/core:core"),
|
||||
],
|
||||
)
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче