mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
3d2185203b
Summary: Currently we expose native code (.h, .cpp) inside the src/main/java folder. This is making impossible for users on New Architecture to open the project inside Android Studio. The problem is that the src/main/java is reserved to Java/Kotlin sources only. AGP 7.2 also removed support for mixed source roots: https://developer.android.com/studio/releases/gradle-plugin#duplicate-content-roots This is essentially forcing users to write Java code without any autocompletion as all the React Native Java classes are considered C++ files. I'm addressing this issue folder by folder by moving them from ReactAndroid/src/main/java/com/facebook/... to ReactAndroid/src/main/jni/react/... This is the diff for mapbuffer Changelog: [Internal] [Changed] - Do not store .cpp/.h files inside src/main/java - mapbuffer Reviewed By: cipolleschi Differential Revision: D38699253 fbshipit-source-id: c1c8f8693b6da4e3428f8f280e1ca4d5c5d0f853
65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
load(
|
|
"//tools/build_defs/oss:rn_defs.bzl",
|
|
"ANDROID",
|
|
"APPLE",
|
|
"CXX",
|
|
"get_apple_compiler_flags",
|
|
"get_apple_inspector_flags",
|
|
"get_preprocessor_flags_for_build_mode",
|
|
"react_native_target",
|
|
"react_native_xplat_target",
|
|
"rn_xplat_cxx_library",
|
|
"subdir_glob",
|
|
)
|
|
|
|
APPLE_COMPILER_FLAGS = get_apple_compiler_flags()
|
|
|
|
rn_xplat_cxx_library(
|
|
name = "utils",
|
|
srcs = glob(
|
|
[
|
|
"**/*.cpp",
|
|
"**/*.mm",
|
|
],
|
|
exclude = glob(["tests/**/*.cpp"]),
|
|
),
|
|
headers = glob(
|
|
["**/*.h"],
|
|
exclude = glob(["tests/**/*.h"]),
|
|
),
|
|
header_namespace = "",
|
|
exported_headers = subdir_glob(
|
|
[
|
|
("", "*.h"),
|
|
],
|
|
prefix = "react/utils",
|
|
),
|
|
compiler_flags_pedantic = True,
|
|
fbandroid_deps = [
|
|
react_native_target("jni/react/mapbuffer:jni"),
|
|
react_native_xplat_target("react/renderer/mapbuffer:mapbuffer"),
|
|
],
|
|
fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
|
|
fbobjc_frameworks = ["Foundation"],
|
|
fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
|
|
force_static = True,
|
|
labels = [
|
|
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
"supermodule:xplat/default/public.react_native.infra",
|
|
],
|
|
macosx_tests_override = [],
|
|
platforms = (ANDROID, APPLE, CXX),
|
|
preprocessor_flags = [
|
|
"-DLOG_TAG=\"ReactNative\"",
|
|
"-DWITH_FBSYSTRACE=1",
|
|
],
|
|
tests = [],
|
|
visibility = ["PUBLIC"],
|
|
deps = [
|
|
"//xplat/folly:container_evicting_cache_map",
|
|
"//xplat/jsi:jsi",
|
|
react_native_xplat_target("butter:butter"),
|
|
react_native_xplat_target("react/debug:debug"),
|
|
],
|
|
)
|