amis-rpc-design/node_modules/react-native/ReactCommon/react/nativemodule/samples/BUCK
2023-10-07 19:42:30 +08:00

104 lines
3.2 KiB
Python

load("//tools/build_defs/oss:rn_defs.bzl", "ANDROID", "APPLE", "FBJNI_TARGET", "get_objc_arc_preprocessor_flags", "get_preprocessor_flags_for_build_mode", "get_static_library_ios_flags", "react_native_dep", "react_native_target", "react_native_xplat_target", "rn_android_library", "rn_xplat_cxx_library", "subdir_glob")
oncall("react_native")
rn_xplat_cxx_library(
name = "samples",
srcs = glob(
["ReactCommon/**/*.cpp"],
),
header_namespace = "",
exported_headers = subdir_glob(
[
("ReactCommon", "*.h"),
],
prefix = "ReactCommon",
),
compiler_flags_pedantic = True,
fbandroid_deps = [
react_native_target("jni/react/jni:jni"),
FBJNI_TARGET,
],
fbandroid_exported_headers = subdir_glob(
[
("platform/android/ReactCommon", "*.h"),
],
prefix = "ReactCommon",
),
fbandroid_srcs = glob(
[
"platform/android/**/*.cpp",
],
),
fbobjc_compiler_flags = [
"-fobjc-arc-exceptions",
],
fbobjc_inherited_buck_flags = get_static_library_ios_flags(),
fbobjc_preprocessor_flags = get_objc_arc_preprocessor_flags() + get_preprocessor_flags_for_build_mode(),
force_static = True,
ios_deps = [
"//xplat/FBBaseLite:FBBaseLite",
"//xplat/js/react-native-github:RCTCxxBridge",
"//xplat/js/react-native-github:RCTCxxModule",
"//xplat/js/react-native-github:RCTLinking",
"//xplat/js/react-native-github:RCTPushNotification",
"//xplat/js/react-native-github:ReactInternal",
],
ios_exported_headers = subdir_glob(
[
("platform/ios/ReactCommon", "*.h"),
],
prefix = "ReactCommon",
),
ios_frameworks = [
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
],
ios_srcs = glob(
[
"platform/ios/**/*.cpp",
"platform/ios/**/*.mm",
],
),
labels = [
"pfh:ReactNative_CommonInfrastructurePlaceholder",
],
platforms = (ANDROID, APPLE),
preprocessor_flags = [
"-DLOG_TAG=\"ReactNative\"",
"-DWITH_FBSYSTRACE=1",
],
visibility = [
"PUBLIC",
],
deps = [
react_native_xplat_target("cxxreact:module"),
],
exported_deps = [
"//xplat/jsi:jsi",
react_native_xplat_target("react/nativemodule/core:core"),
],
)
rn_android_library(
name = "impl",
srcs = glob(["platform/android/*.java"]),
autoglob = False,
language = "JAVA",
required_for_source_only_abi = True,
visibility = [
"PUBLIC",
],
deps = [
"//fbandroid/java/com/facebook/debug/log:log",
react_native_dep("third-party/java/jsr-305:jsr-305"),
react_native_dep("third-party/java/jsr-330:jsr-330"),
react_native_target("java/com/facebook/react/bridge:bridge"),
react_native_target("java/com/facebook/react/common:common"),
react_native_target("java/com/facebook/react/module/annotations:annotations"),
":samples",
],
exported_deps = [
react_native_target("java/com/facebook/react/turbomodule/core/interfaces:interfaces"),
],
)