From a1ed73dd6436cd12cae17f7bbd361a678557426d Mon Sep 17 00:00:00 2001 From: Jiawei Lv Date: Wed, 29 Jul 2020 15:09:05 -0700 Subject: [PATCH] Make some RN rules no-op for arc focus (#29510) Summary: ## Changelog: [Internal] ## Test Plan: run buck project Reviewed By: cute-jumper Differential Revision: D22495239 fbshipit-source-id: b77c65632ee5fb0efd0d5980f11c48d76a4fdbb6 --- packages/react-native-codegen/DEFS.bzl | 219 +++++++++++++------------ 1 file changed, 116 insertions(+), 103 deletions(-) diff --git a/packages/react-native-codegen/DEFS.bzl b/packages/react-native-codegen/DEFS.bzl index b214f686a81..ade9c179400 100644 --- a/packages/react-native-codegen/DEFS.bzl +++ b/packages/react-native-codegen/DEFS.bzl @@ -1,3 +1,4 @@ +load("@fbsource//tools/build_defs:buckconfig.bzl", "read_bool") load("@fbsource//tools/build_defs:fb_native_wrapper.bzl", "fb_native") load("@fbsource//tools/build_defs:platform_defs.bzl", "IOS", "MACOSX") load("@fbsource//tools/build_defs/apple:flag_defs.bzl", "get_preprocessor_flags_for_build_mode") @@ -184,78 +185,84 @@ def rn_codegen_components( ) # libs - rn_xplat_cxx_library( - name = "generated_components-{}".format(name), - srcs = [ - ":{}".format(generate_event_emitter_cpp_name), - ":{}".format(generate_props_cpp_name), - ":{}".format(generate_shadow_node_cpp_name), - ], - headers = [ - ":{}".format(generate_component_descriptor_h_name), - ":{}".format(generate_event_emitter_h_name), - ":{}".format(generate_props_h_name), - ":{}".format(generate_shadow_node_h_name), - ], - header_namespace = "react/components/{}".format(name), - exported_headers = { - "ComponentDescriptors.h": ":{}".format(generate_component_descriptor_h_name), - "EventEmitters.h": ":{}".format(generate_event_emitter_h_name), - "Props.h": ":{}".format(generate_props_h_name), - "RCTComponentViewHelpers.h": ":{}".format(generate_component_hobjcpp_name), - "ShadowNodes.h": ":{}".format(generate_shadow_node_h_name), - }, - compiler_flags = [ - "-fexceptions", - "-frtti", - "-std=c++14", - "-Wall", - ], - fbobjc_compiler_flags = get_apple_compiler_flags(), - fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), - ios_exported_headers = { - "ComponentViewHelpers.h": ":{}".format(generate_component_hobjcpp_name), - }, - ios_headers = [ - ":{}".format(generate_component_hobjcpp_name), - ], - labels = ["codegen_rule"], - platforms = (ANDROID, APPLE, CXX), - preprocessor_flags = [ - "-DLOG_TAG=\"ReactNative\"", - "-DWITH_FBSYSTRACE=1", - ], - tests = [":generated_tests-{}".format(name)], - visibility = ["PUBLIC"], - deps = [ - "//third-party/glog:glog", - "//xplat/fbsystrace:fbsystrace", - "//xplat/folly:headers_only", - "//xplat/folly:memory", - "//xplat/folly:molly", - YOGA_CXX_TARGET, - react_native_xplat_target("fabric/debug:debug"), - react_native_xplat_target("fabric/core:core"), - react_native_xplat_target("fabric/graphics:graphics"), - react_native_xplat_target("fabric/components/image:image"), - react_native_xplat_target("fabric/imagemanager:imagemanager"), - react_native_xplat_target("fabric/components/view:view"), - ], - ) + if is_running_buck_project(): + rn_xplat_cxx_library(name = "generated_components-{}".format(name), visibility = ["PUBLIC"]) + else: + rn_xplat_cxx_library( + name = "generated_components-{}".format(name), + srcs = [ + ":{}".format(generate_event_emitter_cpp_name), + ":{}".format(generate_props_cpp_name), + ":{}".format(generate_shadow_node_cpp_name), + ], + headers = [ + ":{}".format(generate_component_descriptor_h_name), + ":{}".format(generate_event_emitter_h_name), + ":{}".format(generate_props_h_name), + ":{}".format(generate_shadow_node_h_name), + ], + header_namespace = "react/components/{}".format(name), + exported_headers = { + "ComponentDescriptors.h": ":{}".format(generate_component_descriptor_h_name), + "EventEmitters.h": ":{}".format(generate_event_emitter_h_name), + "Props.h": ":{}".format(generate_props_h_name), + "RCTComponentViewHelpers.h": ":{}".format(generate_component_hobjcpp_name), + "ShadowNodes.h": ":{}".format(generate_shadow_node_h_name), + }, + compiler_flags = [ + "-fexceptions", + "-frtti", + "-std=c++14", + "-Wall", + ], + fbobjc_compiler_flags = get_apple_compiler_flags(), + fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), + ios_exported_headers = { + "ComponentViewHelpers.h": ":{}".format(generate_component_hobjcpp_name), + }, + ios_headers = [ + ":{}".format(generate_component_hobjcpp_name), + ], + labels = ["codegen_rule"], + platforms = (ANDROID, APPLE, CXX), + preprocessor_flags = [ + "-DLOG_TAG=\"ReactNative\"", + "-DWITH_FBSYSTRACE=1", + ], + tests = [":generated_tests-{}".format(name)], + visibility = ["PUBLIC"], + deps = [ + "//third-party/glog:glog", + "//xplat/fbsystrace:fbsystrace", + "//xplat/folly:headers_only", + "//xplat/folly:memory", + "//xplat/folly:molly", + YOGA_CXX_TARGET, + react_native_xplat_target("fabric/debug:debug"), + react_native_xplat_target("fabric/core:core"), + react_native_xplat_target("fabric/graphics:graphics"), + react_native_xplat_target("fabric/components/image:image"), + react_native_xplat_target("fabric/imagemanager:imagemanager"), + react_native_xplat_target("fabric/components/view:view"), + ], + ) - rn_android_library( - name = "generated_components_java-{}".format(name), - srcs = [ - ":{}".format(zip_generated_java_files), - ], - labels = ["codegen_rule"], - visibility = ["PUBLIC"], - deps = [ - react_native_dep("third-party/android/androidx:annotation"), - react_native_target("java/com/facebook/react/bridge:bridge"), - react_native_target("java/com/facebook/react/uimanager:uimanager"), - ], - ) + if is_running_buck_project(): + rn_android_library(name = "generated_components_java-{}".format(name)) + else: + rn_android_library( + name = "generated_components_java-{}".format(name), + srcs = [ + ":{}".format(zip_generated_java_files), + ], + labels = ["codegen_rule"], + visibility = ["PUBLIC"], + deps = [ + react_native_dep("third-party/android/androidx:annotation"), + react_native_target("java/com/facebook/react/bridge:bridge"), + react_native_target("java/com/facebook/react/uimanager:uimanager"), + ], + ) # Tests fb_xplat_cxx_test( @@ -308,35 +315,41 @@ def rn_codegen_cxx_modules( labels = ["codegen_rule"], ) - rn_xplat_cxx_library( - name = "generated_cxx_modules-{}".format(name), - srcs = [ - ":{}".format(generate_module_cpp_name), - ], - headers = [ - ":{}".format(generate_module_h_name), - ], - header_namespace = "react/modules/{}".format(name), - exported_headers = { - "NativeModules.cpp": ":{}".format(generate_module_cpp_name), - "NativeModules.h": ":{}".format(generate_module_h_name), - }, - compiler_flags = [ - "-fexceptions", - "-frtti", - "-std=c++14", - "-Wall", - ], - fbobjc_compiler_flags = get_apple_compiler_flags(), - fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), - labels = ["codegen_rule"], - platforms = (ANDROID, APPLE), - preprocessor_flags = [ - "-DLOG_TAG=\"ReactNative\"", - "-DWITH_FBSYSTRACE=1", - ], - visibility = ["PUBLIC"], - exported_deps = [ - react_native_xplat_target("turbomodule/core:core"), - ], - ) + if is_running_buck_project(): + rn_xplat_cxx_library(name = "generated_cxx_modules-{}".format(name)) + else: + rn_xplat_cxx_library( + name = "generated_cxx_modules-{}".format(name), + srcs = [ + ":{}".format(generate_module_cpp_name), + ], + headers = [ + ":{}".format(generate_module_h_name), + ], + header_namespace = "react/modules/{}".format(name), + exported_headers = { + "NativeModules.cpp": ":{}".format(generate_module_cpp_name), + "NativeModules.h": ":{}".format(generate_module_h_name), + }, + compiler_flags = [ + "-fexceptions", + "-frtti", + "-std=c++14", + "-Wall", + ], + fbobjc_compiler_flags = get_apple_compiler_flags(), + fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), + labels = ["codegen_rule"], + platforms = (ANDROID, APPLE), + preprocessor_flags = [ + "-DLOG_TAG=\"ReactNative\"", + "-DWITH_FBSYSTRACE=1", + ], + visibility = ["PUBLIC"], + exported_deps = [ + react_native_xplat_target("turbomodule/core:core"), + ], + ) + +def is_running_buck_project(): + return read_bool("fbandroid", "is_running_buck_project", False)