From d35aab45b9a2cb79f234fd0d599cc50793866ee2 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Tue, 16 Aug 2022 06:04:37 -0700 Subject: [PATCH] Do not store .cpp/.h files inside src/main/java - reactnativeblob (#34421) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/34421 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 reactnativeblob Changelog: [Internal] [Changed] - Do not store .cpp/.h files inside src/main/java - reactnativeblob Reviewed By: cipolleschi Differential Revision: D38703092 fbshipit-source-id: 3d4391d8ee5587b199efa4001f68c6d4ed3ce2c2 --- .../src/main/java/com/facebook/react/modules/blob/BUCK | 2 +- ReactAndroid/src/main/jni/CMakeLists.txt | 3 ++- .../react/modules/blob/jni => jni/react/reactnativeblob}/BUCK | 0 .../blob/jni => jni/react/reactnativeblob}/BlobCollector.cpp | 0 .../blob/jni => jni/react/reactnativeblob}/BlobCollector.h | 0 .../blob/jni => jni/react/reactnativeblob}/CMakeLists.txt | 0 .../modules/blob/jni => jni/react/reactnativeblob}/OnLoad.cpp | 0 7 files changed, 3 insertions(+), 2 deletions(-) rename ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni => jni/react/reactnativeblob}/BUCK (100%) rename ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni => jni/react/reactnativeblob}/BlobCollector.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni => jni/react/reactnativeblob}/BlobCollector.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni => jni/react/reactnativeblob}/CMakeLists.txt (100%) rename ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni => jni/react/reactnativeblob}/OnLoad.cpp (100%) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK index 77a681228e3531..9986f483230d88 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK @@ -31,7 +31,7 @@ rn_android_library( react_native_target("java/com/facebook/react/bridge:bridge"), react_native_target("java/com/facebook/react/common:common"), react_native_target("java/com/facebook/react/module/annotations:annotations"), - react_native_target("java/com/facebook/react/modules/blob/jni:jni"), + react_native_target("jni/react/reactnativeblob:jni"), react_native_target("java/com/facebook/react/modules/network:network"), react_native_target("java/com/facebook/react/modules/websocket:websocket"), ], diff --git a/ReactAndroid/src/main/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/CMakeLists.txt index d23049148de46c..4b18e13da4136c 100644 --- a/ReactAndroid/src/main/jni/CMakeLists.txt +++ b/ReactAndroid/src/main/jni/CMakeLists.txt @@ -99,7 +99,8 @@ add_react_android_subdir(src/main/jni/react/jscexecutor) 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/java/com/facebook/react/modules/blob/jni) 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/modules/blob/jni/BUCK b/ReactAndroid/src/main/jni/react/reactnativeblob/BUCK similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK rename to ReactAndroid/src/main/jni/react/reactnativeblob/BUCK diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.cpp b/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.cpp rename to ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.h b/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.h rename to ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/CMakeLists.txt rename to ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/OnLoad.cpp b/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/OnLoad.cpp rename to ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp