From ba2dae3318aedaa96177e870767d734749e7c17f Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Thu, 18 Aug 2022 05:53:29 -0700 Subject: [PATCH] Do not store .cpp/.h files inside src/main/java - turbomodule - take 2 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 turbomodule I've also updated all the internal usages and references to the new path. Changelog: [Internal] [Changed] - Do not store .cpp/.h files inside src/main/java - turbomodule Reviewed By: cipolleschi Differential Revision: D38820638 fbshipit-source-id: febb3f8cef18b30e82c3a4776baa85d0c0d19e4b --- ReactAndroid/cmake-utils/Android-prebuilt.cmake | 2 +- .../src/main/java/com/facebook/react/turbomodule/core/BUCK | 2 +- ReactAndroid/src/main/jni/CMakeLists.txt | 2 +- ReactAndroid/src/main/jni/react/jni/BUCK | 2 +- .../react/turbomodule/core/jni => jni/react/turbomodule}/BUCK | 0 .../core/jni => jni/react/turbomodule}/CMakeLists.txt | 0 .../react/turbomodule}/ReactCommon/CallInvokerHolder.cpp | 0 .../react/turbomodule}/ReactCommon/CallInvokerHolder.h | 0 .../ReactCommon/CompositeTurboModuleManagerDelegate.cpp | 0 .../ReactCommon/CompositeTurboModuleManagerDelegate.h | 0 .../core/jni => jni/react/turbomodule}/ReactCommon/OnLoad.cpp | 0 .../react/turbomodule}/ReactCommon/TurboModuleManager.cpp | 0 .../react/turbomodule}/ReactCommon/TurboModuleManager.h | 0 .../react/turbomodule}/ReactCommon/TurboModuleManagerDelegate.h | 0 14 files changed, 4 insertions(+), 4 deletions(-) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/BUCK (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/CMakeLists.txt (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/ReactCommon/CallInvokerHolder.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/ReactCommon/CallInvokerHolder.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/ReactCommon/CompositeTurboModuleManagerDelegate.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/ReactCommon/CompositeTurboModuleManagerDelegate.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/ReactCommon/OnLoad.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/ReactCommon/TurboModuleManager.cpp (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/ReactCommon/TurboModuleManager.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni => jni/react/turbomodule}/ReactCommon/TurboModuleManagerDelegate.h (100%) diff --git a/ReactAndroid/cmake-utils/Android-prebuilt.cmake b/ReactAndroid/cmake-utils/Android-prebuilt.cmake index fa4fb15c073..eb145f4550c 100644 --- a/ReactAndroid/cmake-utils/Android-prebuilt.cmake +++ b/ReactAndroid/cmake-utils/Android-prebuilt.cmake @@ -111,7 +111,7 @@ set_target_properties(turbomodulejsijni ${REACT_NDK_EXPORT_DIR}/${ANDROID_ABI}/libturbomodulejsijni.so) target_include_directories(turbomodulejsijni INTERFACE - ${REACT_ANDROID_SRC_DIR}/java/com/facebook/react/turbomodule/core/jni) + ${REACT_ANDROID_SRC_DIR}/jni/react/turbomodule) ## react_render_core add_library(react_render_core SHARED IMPORTED GLOBAL) diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK index 308b2ba6e95..529ec92053e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK @@ -28,12 +28,12 @@ rn_android_library( react_native_dep("third-party/java/jsr-305:jsr-305"), react_native_target("java/com/facebook/react/common:common"), react_native_target("java/com/facebook/react/reactperflogger:reactperflogger"), - react_native_target("java/com/facebook/react/turbomodule/core/jni:jni"), react_native_target("java/com/facebook/debug/holder:holder"), react_native_target("java/com/facebook/react/bridge:interfaces"), 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/module/model:model"), + react_native_target("jni/react/turbomodule:jni"), ":callinvokerholder", ], exported_deps = [ diff --git a/ReactAndroid/src/main/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/CMakeLists.txt index 84fd0f5968f..6b8945cf780 100644 --- a/ReactAndroid/src/main/jni/CMakeLists.txt +++ b/ReactAndroid/src/main/jni/CMakeLists.txt @@ -96,7 +96,7 @@ add_react_android_subdir(src/main/jni/first-party/yogajni) add_react_android_subdir(src/main/jni/react/jni) add_react_android_subdir(src/main/jni/react/reactperflogger) 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/turbomodule) 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) diff --git a/ReactAndroid/src/main/jni/react/jni/BUCK b/ReactAndroid/src/main/jni/react/jni/BUCK index d73153a9a61..06a1f72e91e 100644 --- a/ReactAndroid/src/main/jni/react/jni/BUCK +++ b/ReactAndroid/src/main/jni/react/jni/BUCK @@ -62,7 +62,7 @@ rn_xplat_cxx_library( "//xplat/folly:json", "//fbandroid/xplat/fbgloginit:fbgloginit", "//xplat/fbsystrace:fbsystrace", - react_native_target("java/com/facebook/react/turbomodule/core/jni:callinvokerholder"), + react_native_target("jni/react/turbomodule:callinvokerholder"), react_native_xplat_target("cxxreact:bridge"), react_native_xplat_target("cxxreact:jsbigstring"), react_native_xplat_target("cxxreact:module"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK b/ReactAndroid/src/main/jni/react/turbomodule/BUCK similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK rename to ReactAndroid/src/main/jni/react/turbomodule/BUCK diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/CMakeLists.txt rename to ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.cpp b/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.cpp rename to ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.h b/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.h rename to ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CompositeTurboModuleManagerDelegate.cpp b/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CompositeTurboModuleManagerDelegate.cpp rename to ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CompositeTurboModuleManagerDelegate.h b/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CompositeTurboModuleManagerDelegate.h rename to ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp b/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp rename to ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp b/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp rename to ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h b/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h rename to ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManagerDelegate.h b/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManagerDelegate.h rename to ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h