Skip to content

Commit 32c7e3a

Browse files
osdnkfacebook-github-bot
authored andcommitted
Split module codegen buck rules for cpp and objcpp
Summary: Cpp and Objcpp should not be in the same rules since codegen has different purposes. I split them into into two rules and update tests for new names. Reviewed By: TheSavior Differential Revision: D16599257 fbshipit-source-id: 3a8be8c0e289825f9d5db831cc2eec3d2bf9728d
1 parent 6bb41d1 commit 32c7e3a

3 files changed

Lines changed: 35 additions & 14 deletions

File tree

packages/react-native-codegen/BUCK

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,8 @@ rn_xplat_cxx_library(
129129
"PUBLIC",
130130
],
131131
deps = [
132-
"fbsource//xplat/js:React",
133132
":generated_components-codegen_tests",
134-
":generated_modules-codegen_tests",
133+
":generated_objcpp_modules-codegen_tests",
135134
],
136135
)
137136

packages/react-native-codegen/DEFS.bzl

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -194,24 +194,47 @@ def rn_codegen(
194194
)
195195

196196
rn_xplat_cxx_library(
197-
name = "generated_modules-{}".format(name),
197+
name = "generated_cxx_modules-{}".format(name),
198198
tests = [":generated_tests-{}".format(name)],
199-
ios_srcs = [
200-
":{}".format(generate_module_mm_name),
201-
],
202199
srcs = [
203200
":{}".format(generate_module_cpp_name),
204201
],
205202
headers = [
206203
":{}".format(generate_module_h_name),
207204
],
208-
ios_headers = [
209-
":{}".format(generate_module_hobjcpp_name),
210-
],
211205
exported_headers = {
212206
"NativeModules.cpp": ":{}".format(generate_module_cpp_name),
213207
"NativeModules.h": ":{}".format(generate_module_h_name),
214208
},
209+
header_namespace = "react/modules/{}".format(name),
210+
compiler_flags = [
211+
"-fexceptions",
212+
"-frtti",
213+
"-std=c++14",
214+
"-Wall",
215+
],
216+
fbobjc_compiler_flags = get_apple_compiler_flags(),
217+
fbobjc_preprocessor_flags = get_debug_preprocessor_flags() + get_apple_inspector_flags(),
218+
platforms = (ANDROID, APPLE),
219+
preprocessor_flags = [
220+
"-DLOG_TAG=\"ReactNative\"",
221+
"-DWITH_FBSYSTRACE=1",
222+
],
223+
visibility = ["PUBLIC"],
224+
exported_deps = [
225+
react_native_xplat_target("turbomodule/core:core"),
226+
],
227+
)
228+
229+
rn_xplat_cxx_library(
230+
name = "generated_objcpp_modules-{}".format(name),
231+
tests = [":generated_tests-{}".format(name)],
232+
ios_srcs = [
233+
":{}".format(generate_module_mm_name),
234+
],
235+
ios_headers = [
236+
":{}".format(generate_module_hobjcpp_name),
237+
],
215238
ios_exported_headers = {
216239
"RCTNativeModules.h": ":{}".format(generate_module_hobjcpp_name),
217240
"RCTNativeModules.mm": ":{}".format(generate_module_mm_name),
@@ -225,14 +248,15 @@ def rn_codegen(
225248
],
226249
fbobjc_compiler_flags = get_apple_compiler_flags(),
227250
fbobjc_preprocessor_flags = get_debug_preprocessor_flags() + get_apple_inspector_flags(),
228-
platforms = (ANDROID, APPLE),
251+
platforms = (APPLE),
252+
apple_sdks = (IOS),
229253
preprocessor_flags = [
230254
"-DLOG_TAG=\"ReactNative\"",
231255
"-DWITH_FBSYSTRACE=1",
232256
],
233257
visibility = ["PUBLIC"],
234-
exported_deps = [
235-
react_native_xplat_target("turbomodule/core:core"),
258+
deps = [
259+
"fbsource//xplat/js:React",
236260
],
237261
)
238262

packages/react-native-codegen/buck_tests/emptyFile.mm

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
#import <react/components/codegen_tests/ComponentDescriptors.h>
22
#import <react/components/codegen_tests/ComponentViewHelpers.h>
3-
#import <react/modules/codegen_tests/NativeModules.h>
43
#import <react/modules/codegen_tests/RCTNativeModules.h>
54
#import <react/modules/codegen_tests/RCTNativeModules.mm>
6-
#import <react/modules/codegen_tests/NativeModules.cpp>
75

86
// TODO: Import every prop and event to asset they're generated
97

0 commit comments

Comments
 (0)