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:
Héctor Ramos 2020-10-21 20:38:03 -07:00 коммит произвёл Facebook GitHub Bot
Родитель 5333ad8a61
Коммит 9218e0c2e6
6 изменённых файлов: 16 добавлений и 4657 удалений

1
.gitignore поставляемый
Просмотреть файл

@ -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"),
],
)