mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 17:15:54 +00:00
d9ff1769aa
Summary: I was shamed by Sebastian's sebmarkbage concerns (totally unrelated to this topic) about introducing another level of indirection into the system and decided to change my original plan not to support text attributes for the <Paragraph> component. So, now <Paragraph> shares <View>, <Text> and <Paragraph> itself capabilities. That reduces the minimum amount of required components for trivial text fragment from three (Paragraph, Text, RawText) to two (Paragraph and RawText). Special thanks for C++ for supporting multiple inheritance. Reviewed By: mdvacca Differential Revision: D7785889 fbshipit-source-id: dd9f2e2650bfbfd76d7d4b538adaf409f9429df3
88 lines
2.7 KiB
Python
88 lines
2.7 KiB
Python
load("//configurations/buck/apple:flag_defs.bzl", "get_application_ios_flags", "get_debug_preprocessor_flags", "OBJC_ARC_PREPROCESSOR_FLAGS")
|
|
load("//ReactNative:DEFS.bzl", "IS_OSS_BUILD", "rn_xplat_cxx_library", "get_apple_inspector_flags", "react_native_xplat_target", "ANDROID", "APPLE")
|
|
|
|
APPLE_COMPILER_FLAGS = []
|
|
|
|
if not IS_OSS_BUILD:
|
|
load("@xplat//configurations/buck/apple:flag_defs.bzl", "get_static_library_ios_flags", "flags")
|
|
APPLE_COMPILER_FLAGS = flags.get_flag_value(get_static_library_ios_flags(), 'compiler_flags')
|
|
|
|
rn_xplat_cxx_library(
|
|
name = "text",
|
|
srcs = glob(
|
|
["**/*.cpp"],
|
|
excludes = glob(["tests/**/*.cpp"]),
|
|
),
|
|
headers = glob(
|
|
["**/*.h"],
|
|
excludes = glob(["tests/**/*.h"]),
|
|
),
|
|
header_namespace = "",
|
|
exported_headers = subdir_glob(
|
|
[
|
|
("", "*.h"),
|
|
("basetext", "*.h"),
|
|
("paragraph", "*.h"),
|
|
("text", "*.h"),
|
|
("rawtext", "*.h"),
|
|
],
|
|
prefix = "fabric/text",
|
|
),
|
|
compiler_flags = [
|
|
"-fexceptions",
|
|
"-frtti",
|
|
"-std=c++14",
|
|
"-Wall",
|
|
],
|
|
fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
|
|
fbobjc_preprocessor_flags = get_debug_preprocessor_flags() + get_apple_inspector_flags(),
|
|
fbobjc_tests = [
|
|
":tests",
|
|
],
|
|
force_static = True,
|
|
macosx_tests_override = [],
|
|
platforms = (ANDROID, APPLE),
|
|
preprocessor_flags = [
|
|
"-DLOG_TAG=\"ReactNative\"",
|
|
"-DWITH_FBSYSTRACE=1",
|
|
],
|
|
tests = [],
|
|
visibility = ["PUBLIC"],
|
|
deps = [
|
|
"xplat//fbsystrace:fbsystrace",
|
|
"xplat//folly:headers_only",
|
|
"xplat//folly:memory",
|
|
"xplat//folly:molly",
|
|
"xplat//third-party/glog:glog",
|
|
"xplat//yoga:yoga",
|
|
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/view:view"),
|
|
],
|
|
)
|
|
|
|
if not IS_OSS_BUILD:
|
|
load("@xplat//build_defs:fb_xplat_cxx_test.bzl", "fb_xplat_cxx_test")
|
|
|
|
fb_xplat_cxx_test(
|
|
name = "tests",
|
|
srcs = glob(["tests/**/*.cpp"]),
|
|
headers = glob(["tests/**/*.h"]),
|
|
contacts = ["oncall+react_native@xmail.facebook.com"],
|
|
compiler_flags = [
|
|
"-fexceptions",
|
|
"-frtti",
|
|
"-std=c++14",
|
|
"-Wall",
|
|
],
|
|
platforms = APPLE,
|
|
deps = [
|
|
"xplat//folly:molly",
|
|
"xplat//third-party/gmock:gtest",
|
|
":text",
|
|
],
|
|
)
|