From 1246300e93652ea71fc0fecdb9c65fb3247d4fad Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Mon, 15 Aug 2022 04:07:31 -0700 Subject: [PATCH] Do not store .cpp/.h files inside src/main/java - uimanager 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 uimanager Changelog: [Internal] [Changed] - Do not store .cpp/.h files inside src/main/java - uimanager Reviewed By: dmitryrykun Differential Revision: D38656400 fbshipit-source-id: f52487160fa6c05ec382842e2a6125a5c4cb1e86 --- ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK | 2 +- ReactAndroid/src/main/jni/CMakeLists.txt | 2 +- .../facebook/react/uimanager/jni => jni/react/uimanager}/BUCK | 0 .../react/uimanager/jni => jni/react/uimanager}/CMakeLists.txt | 0 .../react/uimanager}/ComponentNameResolverManager.cpp | 0 .../jni => jni/react/uimanager}/ComponentNameResolverManager.h | 0 .../react/uimanager/jni => jni/react/uimanager}/OnLoad.cpp | 0 7 files changed, 2 insertions(+), 2 deletions(-) rename ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni => jni/react/uimanager}/BUCK (100%) rename ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni => jni/react/uimanager}/CMakeLists.txt (100%) rename ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni => jni/react/uimanager}/ComponentNameResolverManager.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni => jni/react/uimanager}/ComponentNameResolverManager.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni => jni/react/uimanager}/OnLoad.cpp (100%) diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK index 87ee60ed353..27ad7f64b71 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK @@ -76,7 +76,6 @@ rn_android_library( react_native_target("java/com/facebook/debug/tags:tags"), 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/uimanager/jni:jni"), react_native_target("java/com/facebook/react/common:common"), react_native_target("java/com/facebook/react/common/mapbuffer:mapbuffer"), react_native_target("java/com/facebook/react/config:config"), @@ -86,6 +85,7 @@ rn_android_library( react_native_target("java/com/facebook/react/touch:touch"), react_native_target("java/com/facebook/react/uimanager/annotations:annotations"), react_native_target("java/com/facebook/react/uimanager/util:util"), + react_native_target("jni/react/uimanager:jni"), react_native_target("res:uimanager"), ], exported_deps = [ diff --git a/ReactAndroid/src/main/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/CMakeLists.txt index eaeded22a3b..bd0a7727c76 100644 --- a/ReactAndroid/src/main/jni/CMakeLists.txt +++ b/ReactAndroid/src/main/jni/CMakeLists.txt @@ -98,7 +98,7 @@ add_react_android_subdir(src/main/jni/react/jni) add_react_android_subdir(src/main/jni/react/reactperflogger) add_react_android_subdir(src/main/java/com/facebook/react/jscexecutor) add_react_android_subdir(src/main/java/com/facebook/react/turbomodule/core/jni) -add_react_android_subdir(src/main/java/com/facebook/react/uimanager/jni) +add_react_android_subdir(src/main/jni/react/uimanager) add_react_android_subdir(src/main/java/com/facebook/react/common/mapbuffer/jni) 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) diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK b/ReactAndroid/src/main/jni/react/uimanager/BUCK similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK rename to ReactAndroid/src/main/jni/react/uimanager/BUCK diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/CMakeLists.txt rename to ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp b/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverManager.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp rename to ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverManager.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h b/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverManager.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h rename to ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverManager.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/OnLoad.cpp b/ReactAndroid/src/main/jni/react/uimanager/OnLoad.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/OnLoad.cpp rename to ReactAndroid/src/main/jni/react/uimanager/OnLoad.cpp