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 = "androidprogressbar", 21 srcs = glob( 22 ["**/*.cpp"], 23 exclude = glob([ 24 "tests/**/*.cpp", 25 ]), 26 ), 27 headers = [], 28 header_namespace = "", 29 exported_headers = subdir_glob( 30 [ 31 ("", "*.h"), 32 ], 33 prefix = "react/renderer/components/progressbar", 34 ), 35 cxx_tests = [":tests"], 36 fbandroid_deps = [ 37 react_native_target("jni/react/jni:jni"), 38 ], 39 fbandroid_exported_headers = subdir_glob( 40 [ 41 ("", "*.h"), 42 ("android/react/renderer/components/progressbar", "*.h"), 43 ], 44 prefix = "react/renderer/components/progressbar", 45 ), 46 fbandroid_headers = glob( 47 ["android/react/renderer/components/progressbar/*.h"], 48 ), 49 fbandroid_srcs = glob( 50 ["android/react/renderer/components/progressbar/*.cpp"], 51 ), 52 fbobjc_compiler_flags = APPLE_COMPILER_FLAGS, 53 fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), 54 force_static = True, 55 ios_exported_headers = subdir_glob( 56 [ 57 ("", "*.h"), 58 ("platform/ios", "*.h"), 59 ], 60 prefix = "react/renderer/components/progressbar", 61 ), 62 ios_headers = glob( 63 ["platform/ios/*.h"], 64 ), 65 ios_srcs = glob( 66 ["platform/ios/*.cpp"], 67 ), 68 labels = [ 69 "pfh:ReactNative_CommonInfrastructurePlaceholder", 70 "supermodule:xplat/default/public.react_native.infra", 71 ], 72 platforms = (ANDROID, APPLE, CXX), 73 preprocessor_flags = [ 74 "-DLOG_TAG=\"ReactNative\"", 75 "-DWITH_FBSYSTRACE=1", 76 ], 77 visibility = ["PUBLIC"], 78 deps = [ 79 "//third-party/glog:glog", 80 "//xplat/fbsystrace:fbsystrace", 81 "//xplat/folly:headers_only_do_not_use", 82 "//xplat/folly:memory", 83 "//xplat/folly:molly", 84 YOGA_CXX_TARGET, 85 react_native_xplat_target("react/debug:debug"), 86 react_native_xplat_target("react/renderer/debug:debug"), 87 react_native_xplat_target("react/renderer/core:core"), 88 react_native_xplat_target("react/renderer/components/image:image"), 89 react_native_xplat_target("react/renderer/components/view:view"), 90 react_native_xplat_target("react/renderer/graphics:graphics"), 91 react_native_xplat_target("react/renderer/imagemanager:imagemanager"), 92 react_native_xplat_target("react/renderer/uimanager:uimanager"), 93 react_native_xplat_target("react/renderer/componentregistry:componentregistry"), 94 "//xplat/js/react-native-github:generated_components-rncore", 95 ], 96) 97 98fb_xplat_cxx_test( 99 name = "tests", 100 srcs = glob(["tests/**/*.cpp"]), 101 headers = glob(["tests/**/*.h"]), 102 compiler_flags = [ 103 "-fexceptions", 104 "-frtti", 105 "-std=c++17", 106 "-Wall", 107 ], 108 contacts = ["[email protected]"], 109 platforms = ( 110 # `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. 111 # ANDROID, 112 # APPLE, 113 CXX, 114 ), 115 deps = [ 116 "//xplat/folly:molly", 117 "//xplat/third-party/gmock:gtest", 118 ], 119) 120