123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- load("@fbsource//tools/build_defs/apple:flag_defs.bzl", "get_preprocessor_flags_for_build_mode")
- load(
- "//tools/build_defs/oss:rn_defs.bzl",
- "ANDROID",
- "APPLE",
- "CXX",
- "YOGA_CXX_TARGET",
- "fb_xplat_cxx_test",
- "get_apple_compiler_flags",
- "get_apple_inspector_flags",
- "react_native_xplat_target",
- "rn_xplat_cxx_library",
- "subdir_glob",
- )
- APPLE_COMPILER_FLAGS = get_apple_compiler_flags()
- rn_xplat_cxx_library(
- name = "androidtextinput",
- srcs = glob(
- ["androidtextinput/**/*.cpp"],
- exclude = glob(["tests/**/*.cpp"]),
- ),
- headers = glob(
- ["androidtextinput/**/*.h"],
- exclude = glob(["tests/**/*.h"]),
- ),
- header_namespace = "",
- exported_headers = subdir_glob(
- [
- ("", "*.h"),
- ("androidtextinput", "*.h"),
- ],
- prefix = "react/components/androidtextinput",
- ),
- compiler_flags = [
- "-fexceptions",
- "-frtti",
- "-std=c++14",
- "-Wall",
- ],
- cxx_tests = [":tests"],
- fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
- fbobjc_labels = ["supermodule:ios/default/public.react_native.infra"],
- fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
- force_static = True,
- platforms = (ANDROID, APPLE, CXX),
- preprocessor_flags = [
- "-DLOG_TAG=\"ReactNative\"",
- "-DWITH_FBSYSTRACE=1",
- ],
- visibility = ["PUBLIC"],
- deps = [
- "//xplat/fbsystrace:fbsystrace",
- "//xplat/folly:container_evicting_cache_map",
- "//xplat/folly:headers_only",
- "//xplat/folly:memory",
- "//xplat/folly:molly",
- "//xplat/third-party/glog:glog",
- YOGA_CXX_TARGET,
- react_native_xplat_target("utils:utils"),
- react_native_xplat_target("fabric/attributedstring:attributedstring"),
- react_native_xplat_target("fabric/core:core"),
- react_native_xplat_target("fabric/debug:debug"),
- react_native_xplat_target("fabric/graphics:graphics"),
- react_native_xplat_target("fabric/textlayoutmanager:textlayoutmanager"),
- react_native_xplat_target("fabric/components/text:text"),
- react_native_xplat_target("fabric/components/view:view"),
- react_native_xplat_target("fabric/components/image:image"),
- react_native_xplat_target("fabric/uimanager:uimanager"),
- react_native_xplat_target("fabric/imagemanager:imagemanager"),
- ],
- )
- fb_xplat_cxx_test(
- name = "tests",
- srcs = glob(["tests/**/*.cpp"]),
- headers = glob(["tests/**/*.h"]),
- compiler_flags = [
- "-fexceptions",
- "-frtti",
- "-std=c++14",
- "-Wall",
- ],
- contacts = ["oncall+react_native@xmail.facebook.com"],
- platforms = (
- # `Apple` and `Android` flavors are disabled because the module depends on `textlayoutmanager` which requires real an Emulator/Simulator to run.
- # At the same time, the code of tests does not rely on the simulator capabilities and it would be wasteful to add `fbandroid_use_instrumentation_test = True`.
- # (Beware of this option though.)
- # ANDROID,
- # APPLE,
- CXX
- ),
- deps = [
- ":androidtextinput",
- "//xplat/folly:molly",
- "//xplat/third-party/gmock:gtest",
- ],
- )
|