Skip to content

Commit c1c5df3

Browse files
j-piaseckifacebook-github-bot
authored andcommitted
Classify legacy bridge JNI headers as private (#58811)
Summary: Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour. The remaining headers of `reactnativejni` are not classified yet. Changelog: [Internal] Differential Revision: D122764164
1 parent 024b474 commit c1c5df3

6 files changed

Lines changed: 11 additions & 0 deletions

File tree

‎packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ target_link_libraries(reactnativejni
8080
glog_init
8181
logger
8282
react_cxxreact
83+
react_cxxstableapi
8384
react_renderer_runtimescheduler
8485
reactnativejni_common
8586
runtimeexecutor

‎packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/PrivateGuard.h>
11+
1012
#include <cxxreact/NativeModule.h>
1113
#include <fbjni/fbjni.h>
1214
#include <optional>

‎packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8+
#include <react/cxxstableapi/PrivateGuard.h>
9+
810
#include <memory>
911

1012
#include <cxxreact/JSExecutor.h>

‎packages/react-native/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/PrivateGuard.h>
11+
1012
#include <memory>
1113

1214
#include <android/asset_manager.h>

‎packages/react-native/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/PrivateGuard.h>
11+
1012
#include <vector>
1113

1214
#include <cxxreact/JSExecutor.h>

‎packages/react-native/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8+
#include <react/cxxstableapi/PrivateGuard.h>
9+
810
#include <string>
911

1012
#include <cxxreact/CxxModule.h>

0 commit comments

Comments
 (0)