mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: This is a core part of the Timeline feature (aka Time Travel Debugger). With these new primitives, any external library can initiate "saving" all the previous interface changes (commits) and unwind to any previous one (in order to introspect and validate visual side-effects). The next diff in the stack will implement UI for this feature integrated into Debug menu on iOS. Changelog: [Internal] Fabric-specific internal change. Reviewed By: sammy-SC Differential Revision: D25926660 fbshipit-source-id: 2e5f6892351d3053db8f64c1cf6ff445b0867ad7
85 lines
2.4 KiB
Python
85 lines
2.4 KiB
Python
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",
|
|
"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 = "timeline",
|
|
srcs = glob(
|
|
["**/*.cpp"],
|
|
exclude = glob(["tests/**/*.cpp"]),
|
|
),
|
|
headers = glob(
|
|
["**/*.h"],
|
|
exclude = glob(["tests/**/*.h"]),
|
|
),
|
|
header_namespace = "",
|
|
exported_headers = subdir_glob(
|
|
[
|
|
("", "*.h"),
|
|
],
|
|
prefix = "react/renderer/timeline",
|
|
),
|
|
compiler_flags = [
|
|
"-fexceptions",
|
|
"-frtti",
|
|
"-std=c++14",
|
|
"-Wall",
|
|
],
|
|
fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
|
|
fbobjc_labels = ["supermodule:ios/isolation/infra.react_native"],
|
|
fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
|
|
force_static = True,
|
|
macosx_tests_override = [],
|
|
platforms = (ANDROID, APPLE, CXX),
|
|
preprocessor_flags = [
|
|
"-DLOG_TAG=\"ReactNative\"",
|
|
"-DWITH_FBSYSTRACE=1",
|
|
],
|
|
tests = [":tests"],
|
|
visibility = ["PUBLIC"],
|
|
deps = [
|
|
"fbsource//xplat/fbsystrace:fbsystrace",
|
|
"fbsource//xplat/folly:headers_only",
|
|
"fbsource//xplat/folly:memory",
|
|
"fbsource//xplat/folly:molly",
|
|
"//third-party/glog:glog",
|
|
react_native_xplat_target("react/utils:utils"),
|
|
react_native_xplat_target("react/renderer/debug:debug"),
|
|
react_native_xplat_target("react/renderer/core:core"),
|
|
react_native_xplat_target("react/renderer/components/root:root"),
|
|
react_native_xplat_target("react/renderer/mounting:mounting"),
|
|
react_native_xplat_target("react/renderer/uimanager:uimanager"),
|
|
],
|
|
)
|
|
|
|
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 = (ANDROID, APPLE, CXX),
|
|
deps = [
|
|
"fbsource//xplat/folly:molly",
|
|
"fbsource//xplat/third-party/gmock:gtest",
|
|
":timeline",
|
|
],
|
|
)
|