From 83662e9c3a86a9d5087b930c0c2465942255ebca Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Wed, 17 Aug 2022 04:58:24 -0700 Subject: [PATCH] Do not store .cpp/.h files inside src/main/java - fabricjni (#34435) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/34435 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 fabricjni Changelog: [Internal] [Changed] - Do not store .cpp/.h files inside src/main/java - fabricjni Reviewed By: cipolleschi Differential Revision: D38741130 fbshipit-source-id: f9e3e4514d3ae0ddeac65256928d71d5134d08f8 --- ReactAndroid/cmake-utils/Android-prebuilt.cmake | 2 +- ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK | 2 +- .../main/java/com/facebook/react/fabric/FabricUIManager.java | 2 +- ReactAndroid/src/main/jni/CMakeLists.txt | 2 +- .../react/fabric/jni => jni/react/fabric}/AsyncEventBeat.cpp | 0 .../react/fabric/jni => jni/react/fabric}/AsyncEventBeat.h | 0 .../com/facebook/react/fabric/jni => jni/react/fabric}/BUCK | 0 .../facebook/react/fabric/jni => jni/react/fabric}/Binding.cpp | 0 .../facebook/react/fabric/jni => jni/react/fabric}/Binding.h | 0 .../react/fabric/jni => jni/react/fabric}/CMakeLists.txt | 0 .../react/fabric/jni => jni/react/fabric}/ComponentFactory.cpp | 0 .../react/fabric/jni => jni/react/fabric}/ComponentFactory.h | 0 .../fabric/jni => jni/react/fabric}/CoreComponentsRegistry.cpp | 0 .../fabric/jni => jni/react/fabric}/CoreComponentsRegistry.h | 0 .../react/fabric/jni => jni/react/fabric}/EventBeatManager.cpp | 0 .../react/fabric/jni => jni/react/fabric}/EventBeatManager.h | 0 .../fabric/jni => jni/react/fabric}/EventEmitterWrapper.cpp | 0 .../react/fabric/jni => jni/react/fabric}/EventEmitterWrapper.h | 0 .../react/fabric/jni => jni/react/fabric}/FabricMountItem.cpp | 0 .../react/fabric/jni => jni/react/fabric}/FabricMountItem.h | 0 .../fabric/jni => jni/react/fabric}/FabricMountingManager.cpp | 0 .../fabric/jni => jni/react/fabric}/FabricMountingManager.h | 0 .../fabric/jni => jni/react/fabric}/JBackgroundExecutor.cpp | 0 .../react/fabric/jni => jni/react/fabric}/JBackgroundExecutor.h | 0 .../react/fabric/jni => jni/react/fabric}/JFabricUIManager.cpp | 0 .../react/fabric/jni => jni/react/fabric}/JFabricUIManager.h | 0 .../facebook/react/fabric/jni => jni/react/fabric}/OnLoad.cpp | 0 .../fabric/jni => jni/react/fabric}/ReactNativeConfigHolder.cpp | 0 .../fabric/jni => jni/react/fabric}/ReactNativeConfigHolder.h | 0 .../react/fabric/jni => jni/react/fabric}/StateWrapperImpl.cpp | 0 .../react/fabric/jni => jni/react/fabric}/StateWrapperImpl.h | 0 .../fabric/jni => jni/react/fabric}/SurfaceHandlerBinding.cpp | 0 .../fabric/jni => jni/react/fabric}/SurfaceHandlerBinding.h | 0 .../react/fabric/jni => jni/react/fabric}/viewPropConversions.h | 0 34 files changed, 4 insertions(+), 4 deletions(-) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/AsyncEventBeat.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/AsyncEventBeat.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/BUCK (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/Binding.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/Binding.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/CMakeLists.txt (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/ComponentFactory.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/ComponentFactory.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/CoreComponentsRegistry.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/CoreComponentsRegistry.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/EventBeatManager.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/EventBeatManager.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/EventEmitterWrapper.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/EventEmitterWrapper.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/FabricMountItem.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/FabricMountItem.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/FabricMountingManager.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/FabricMountingManager.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/JBackgroundExecutor.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/JBackgroundExecutor.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/JFabricUIManager.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/JFabricUIManager.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/OnLoad.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/ReactNativeConfigHolder.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/ReactNativeConfigHolder.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/StateWrapperImpl.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/StateWrapperImpl.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/SurfaceHandlerBinding.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/SurfaceHandlerBinding.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/fabric/jni => jni/react/fabric}/viewPropConversions.h (100%) diff --git a/ReactAndroid/cmake-utils/Android-prebuilt.cmake b/ReactAndroid/cmake-utils/Android-prebuilt.cmake index 03be4be02aa8c2..fa4fb15c0733cc 100644 --- a/ReactAndroid/cmake-utils/Android-prebuilt.cmake +++ b/ReactAndroid/cmake-utils/Android-prebuilt.cmake @@ -193,7 +193,7 @@ set_target_properties(fabricjni PROPERTIES IMPORTED_LOCATION ${REACT_NDK_EXPORT_DIR}/${ANDROID_ABI}/libfabricjni.so) -target_include_directories(fabricjni INTERFACE ${REACT_ANDROID_SRC_DIR}/java/com/facebook/react/fabric/jni) +target_include_directories(fabricjni INTERFACE ${REACT_ANDROID_SRC_DIR}/jni/react/fabric) ## react_render_componentregistry add_library(react_render_componentregistry SHARED IMPORTED GLOBAL) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK b/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK index f6cb63b14df4e8..b619d69ccabc21 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK @@ -42,7 +42,6 @@ rn_android_library( react_native_target("java/com/facebook/debug/holder:holder"), react_native_target("java/com/facebook/react/bridge:bridge"), react_native_target("java/com/facebook/react/config:config"), - react_native_target("java/com/facebook/react/fabric/jni:jni"), react_native_target("java/com/facebook/react/module/annotations:annotations"), react_native_target("java/com/facebook/react/modules/core:core"), react_native_target("java/com/facebook/react/modules/i18nmanager:i18nmanager"), @@ -52,5 +51,6 @@ rn_android_library( react_native_target("java/com/facebook/react/views/view:view"), react_native_target("java/com/facebook/react/views/text:text"), react_native_target("java/com/facebook/react/touch:touch"), + react_native_target("jni/react/fabric:jni"), ] + KOTLIN_STDLIB_DEPS, ) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java index 96d624e0d2cb8a..dad32fe91ad0fb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -294,7 +294,7 @@ public int addRootView( * @return a {@link ReadableMap} that contains metadata associated to the React Component that * rendered the Android View received as a parameter. For more details about the keys stored * in the {@link ReadableMap} refer to the "getInspectorDataForInstance" method from - * com/facebook/react/fabric/jni/Binding.cpp file. + * jni/react/fabric/Binding.cpp file. */ @UiThread @ThreadConfined(UI) diff --git a/ReactAndroid/src/main/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/CMakeLists.txt index 4b18e13da4136c..84fd0f5968f4f7 100644 --- a/ReactAndroid/src/main/jni/CMakeLists.txt +++ b/ReactAndroid/src/main/jni/CMakeLists.txt @@ -100,7 +100,7 @@ add_react_android_subdir(src/main/java/com/facebook/react/turbomodule/core/jni) add_react_android_subdir(src/main/jni/react/uimanager) add_react_android_subdir(src/main/jni/react/mapbuffer) add_react_android_subdir(src/main/jni/react/reactnativeblob) -add_react_android_subdir(src/main/java/com/facebook/react/fabric/jni) +add_react_android_subdir(src/main/jni/react/fabric) add_react_android_subdir(src/main/jni/react/hermes/reactexecutor) add_react_android_subdir(src/main/jni/react/hermes/instrumentation/) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.cpp b/ReactAndroid/src/main/jni/react/fabric/AsyncEventBeat.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.cpp rename to ReactAndroid/src/main/jni/react/fabric/AsyncEventBeat.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h b/ReactAndroid/src/main/jni/react/fabric/AsyncEventBeat.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h rename to ReactAndroid/src/main/jni/react/fabric/AsyncEventBeat.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK b/ReactAndroid/src/main/jni/react/fabric/BUCK similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK rename to ReactAndroid/src/main/jni/react/fabric/BUCK diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp b/ReactAndroid/src/main/jni/react/fabric/Binding.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp rename to ReactAndroid/src/main/jni/react/fabric/Binding.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h b/ReactAndroid/src/main/jni/react/fabric/Binding.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h rename to ReactAndroid/src/main/jni/react/fabric/Binding.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CMakeLists.txt rename to ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ComponentFactory.cpp b/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ComponentFactory.cpp rename to ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ComponentFactory.h b/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ComponentFactory.h rename to ReactAndroid/src/main/jni/react/fabric/ComponentFactory.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp b/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp rename to ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.h b/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.h rename to ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventBeatManager.cpp b/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventBeatManager.cpp rename to ReactAndroid/src/main/jni/react/fabric/EventBeatManager.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventBeatManager.h b/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventBeatManager.h rename to ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp b/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp rename to ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h b/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h rename to ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp b/ReactAndroid/src/main/jni/react/fabric/FabricMountItem.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp rename to ReactAndroid/src/main/jni/react/fabric/FabricMountItem.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h b/ReactAndroid/src/main/jni/react/fabric/FabricMountItem.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h rename to ReactAndroid/src/main/jni/react/fabric/FabricMountItem.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp b/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp rename to ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h b/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h rename to ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.cpp b/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.cpp rename to ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.h b/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.h rename to ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.cpp b/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.cpp rename to ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.h b/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.h rename to ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/OnLoad.cpp b/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/OnLoad.cpp rename to ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp b/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp rename to ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.h b/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.h rename to ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp b/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp rename to ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h b/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h rename to ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.cpp b/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.cpp rename to ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.h b/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.h rename to ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h b/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h rename to ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h