From 296d7db7a23116e98f857cbefe15b70ac45f8af3 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Fri, 12 Aug 2022 05:05:39 -0700 Subject: [PATCH] Do not store .cpp/.h files inside src/main/java - reactperflogger (#34386) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/34386 Current 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 reactperflogger Changelog: [Internal] [Changed] - Do not store .cpp/.h files inside src/main/java - reactperflogger Reviewed By: cipolleschi Differential Revision: D38584681 fbshipit-source-id: 8b65b3fa47a7f106c7fea79fd739f0e4e37efa2a --- .../src/main/java/com/facebook/react/reactperflogger/BUCK | 2 +- .../src/main/java/com/facebook/react/turbomodule/core/jni/BUCK | 2 +- ReactAndroid/src/main/jni/CMakeLists.txt | 2 +- .../reactperflogger/jni => jni/react/reactperflogger}/BUCK | 0 .../jni => jni/react/reactperflogger}/CMakeLists.txt | 0 .../react/reactperflogger}/reactperflogger/.clang-tidy | 1 + .../reactperflogger}/reactperflogger/JNativeModulePerfLogger.h | 0 .../react/reactperflogger}/reactperflogger/OnLoad.cpp | 0 8 files changed, 4 insertions(+), 3 deletions(-) rename ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni => jni/react/reactperflogger}/BUCK (100%) rename ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni => jni/react/reactperflogger}/CMakeLists.txt (100%) rename ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni => jni/react/reactperflogger}/reactperflogger/.clang-tidy (61%) rename ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni => jni/react/reactperflogger}/reactperflogger/JNativeModulePerfLogger.h (100%) rename ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni => jni/react/reactperflogger}/reactperflogger/OnLoad.cpp (100%) diff --git a/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK b/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK index 194149d9ee8..a9969e56e64 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK @@ -20,6 +20,6 @@ rn_android_library( deps = [ react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"), react_native_dep("libraries/fbjni:java"), - react_native_target("java/com/facebook/react/reactperflogger/jni:jni"), + react_native_target("jni/react/reactperflogger:jni"), ], ) diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK index 06ed578353b..ce8ed0db64f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK @@ -36,7 +36,7 @@ rn_xplat_cxx_library( react_native_xplat_shared_library_target("jsi:jsi"), react_native_xplat_target("react/nativemodule/core:core"), react_native_xplat_target("runtimeexecutor:runtimeexecutor"), - react_native_target("java/com/facebook/react/reactperflogger/jni:jni"), + react_native_target("jni/react/reactperflogger:jni"), ], ) diff --git a/ReactAndroid/src/main/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/CMakeLists.txt index eb4150fa006..eaeded22a3b 100644 --- a/ReactAndroid/src/main/jni/CMakeLists.txt +++ b/ReactAndroid/src/main/jni/CMakeLists.txt @@ -95,7 +95,7 @@ add_react_android_subdir(src/main/jni/first-party/fb) add_react_android_subdir(src/main/jni/first-party/fbgloginit) 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/java/com/facebook/react/reactperflogger/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) diff --git a/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK b/ReactAndroid/src/main/jni/react/reactperflogger/BUCK similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK rename to ReactAndroid/src/main/jni/react/reactperflogger/BUCK diff --git a/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/CMakeLists.txt b/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/CMakeLists.txt rename to ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt diff --git a/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/.clang-tidy b/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/.clang-tidy similarity index 61% rename from ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/.clang-tidy rename to ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/.clang-tidy index c98fd78ff64..8edbbc799e9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/.clang-tidy +++ b/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/.clang-tidy @@ -1,4 +1,5 @@ --- +InheritParentConfig: true Checks: '> clang-diagnostic-*, ' diff --git a/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/JNativeModulePerfLogger.h b/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/JNativeModulePerfLogger.h similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/JNativeModulePerfLogger.h rename to ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/JNativeModulePerfLogger.h diff --git a/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/OnLoad.cpp b/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/OnLoad.cpp similarity index 100% rename from ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/OnLoad.cpp rename to ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/OnLoad.cpp