1load( 2 "//tools/build_defs/oss:rn_defs.bzl", 3 "ANDROID", 4 "APPLE", 5 "CXX", 6 "YOGA_CXX_TARGET", 7 "fb_xplat_cxx_test", 8 "get_apple_compiler_flags", 9 "get_apple_inspector_flags", 10 "get_preprocessor_flags_for_build_mode", 11 "react_native_target", 12 "react_native_xplat_target", 13 "rn_xplat_cxx_library", 14 "subdir_glob", 15) 16 17APPLE_COMPILER_FLAGS = get_apple_compiler_flags() 18 19rn_xplat_cxx_library( 20 name = "slider", 21 srcs = glob( 22 ["**/*.cpp"], 23 exclude = glob([ 24 "tests/**/*.cpp", 25 "platform/**/*.cpp", 26 ]), 27 ), 28 headers = [], 29 header_namespace = "", 30 exported_headers = subdir_glob( 31 [ 32 ("", "*.h"), 33 ], 34 prefix = "react/renderer/components/slider", 35 ), 36 compiler_flags_pedantic = True, 37 cxx_tests = [":tests"], 38 fbandroid_deps = [ 39 "//xplat/folly:dynamic", 40 react_native_target("jni/react/jni:jni"), 41 react_native_xplat_target("react/renderer/mapbuffer:mapbuffer"), 42 ], 43 fbandroid_exported_headers = subdir_glob( 44 [ 45 ("", "*.h"), 46 ("platform/android/react/renderer/components/slider", "*.h"), 47 ], 48 prefix = "react/renderer/components/slider", 49 ), 50 fbandroid_headers = glob( 51 ["platform/android/react/renderer/components/slider/*.h"], 52 ), 53 fbandroid_srcs = glob( 54 ["platform/android/react/renderer/components/slider/*.cpp"], 55 ), 56 fbobjc_compiler_flags = APPLE_COMPILER_FLAGS, 57 fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), 58 force_static = True, 59 ios_exported_headers = subdir_glob( 60 [ 61 ("", "*.h"), 62 ("platform/ios", "*.h"), 63 ], 64 prefix = "react/renderer/components/slider", 65 ), 66 ios_headers = glob( 67 ["platform/ios/*.h"], 68 ), 69 ios_srcs = glob( 70 ["platform/ios/*.cpp"], 71 ), 72 labels = [ 73 "pfh:ReactNative_CommonInfrastructurePlaceholder", 74 ], 75 platforms = (ANDROID, APPLE, CXX), 76 preprocessor_flags = [ 77 "-DLOG_TAG=\"ReactNative\"", 78 "-DWITH_FBSYSTRACE=1", 79 ], 80 visibility = ["PUBLIC"], 81 deps = [ 82 YOGA_CXX_TARGET, 83 react_native_xplat_target("react/debug:debug"), 84 react_native_xplat_target("react/renderer/debug:debug"), 85 react_native_xplat_target("react/renderer/core:core"), 86 react_native_xplat_target("react/renderer/components/image:image"), 87 react_native_xplat_target("react/renderer/components/view:view"), 88 react_native_xplat_target("react/renderer/graphics:graphics"), 89 react_native_xplat_target("react/renderer/imagemanager:imagemanager"), 90 react_native_xplat_target("react/renderer/uimanager:uimanager"), 91 react_native_xplat_target("react/renderer/componentregistry:componentregistry"), 92 "//xplat/js/react-native-github:generated_components-rncore", 93 ], 94) 95 96fb_xplat_cxx_test( 97 name = "tests", 98 srcs = glob(["tests/**/*.cpp"]), 99 headers = glob(["tests/**/*.h"]), 100 compiler_flags = [ 101 "-fexceptions", 102 "-frtti", 103 "-std=c++17", 104 "-Wall", 105 ], 106 contacts = ["[email protected]"], 107 platforms = ( 108 # `Apple` and `Android` flavors are disabled because the module (built with those flavors) requires Emulator/Simulator (which is expensive and slow). At the same time, we don't really have tests here. 109 # ANDROID, 110 # APPLE, 111 CXX, 112 ), 113 deps = [ 114 ":slider", 115 "//xplat/third-party/gmock:gtest", 116 ], 117) 118