react-native-reanimated 2.4.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/Common/cpp/AnimatedSensor/AnimatedSensorModule.cpp +72 -0
  2. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +30 -1
  3. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +64 -39
  4. package/Common/cpp/Tools/RuntimeDecorator.cpp +2 -0
  5. package/Common/cpp/headers/AnimatedSensor/AnimatedSensorModule.h +41 -0
  6. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +14 -0
  7. package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +14 -0
  8. package/Common/cpp/headers/SharedItems/MutableValue.h +4 -1
  9. package/Common/cpp/headers/SharedItems/ShareableValue.h +3 -0
  10. package/Common/cpp/headers/SharedItems/ValueWrapper.h +3 -0
  11. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +11 -0
  12. package/Common/cpp/headers/Tools/RuntimeDecorator.h +2 -0
  13. package/README.md +2 -2
  14. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  15. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  16. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  17. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  18. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  19. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  20. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  21. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  22. package/android/.gradle/7.2/gc.properties +0 -0
  23. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  24. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  25. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  26. package/android/.gradle/checksums/checksums.lock +0 -0
  27. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  28. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  29. package/android/.gradle/vcs-1/gc.properties +0 -0
  30. package/android/CMakeLists.txt +198 -0
  31. package/android/README.md +15 -0
  32. package/android/build.gradle +686 -73
  33. package/android/empty.cpp +1 -0
  34. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  35. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  36. package/android/gradle.properties +25 -0
  37. package/android/gradlew +234 -0
  38. package/android/gradlew.bat +89 -0
  39. package/android/react-native-reanimated-64-hermes.aar +0 -0
  40. package/android/react-native-reanimated-64-jsc.aar +0 -0
  41. package/android/react-native-reanimated-65-hermes.aar +0 -0
  42. package/android/react-native-reanimated-65-jsc.aar +0 -0
  43. package/android/react-native-reanimated-66-hermes.aar +0 -0
  44. package/android/react-native-reanimated-66-jsc.aar +0 -0
  45. package/android/react-native-reanimated-67-hermes.aar +0 -0
  46. package/android/react-native-reanimated-67-jsc.aar +0 -0
  47. package/android/react-native-reanimated-68-hermes.aar +0 -0
  48. package/android/react-native-reanimated-68-jsc.aar +0 -0
  49. package/android/rnVersionPatch/62/layoutReanimation/ReanimatedNativeHierarchyManager.java +412 -0
  50. package/android/rnVersionPatch/62/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  51. package/android/rnVersionPatch/63/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  52. package/android/rnVersionPatch/64/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  53. package/android/rnVersionPatch/65/.gitkeep +0 -0
  54. package/android/rnVersionPatch/66/.gitkeep +0 -0
  55. package/android/rnVersionPatch/67/.gitkeep +0 -0
  56. package/android/rnVersionPatch/68/.gitkeep +0 -0
  57. package/android/rnVersionPatch/backup/.gitkeep +0 -0
  58. package/android/settings.gradle +1 -0
  59. package/android/spotless.gradle +9 -0
  60. package/android/src/{AndroidManifest.xml → main/AndroidManifest.xml} +0 -0
  61. package/android/src/main/cpp/AndroidErrorHandler.cpp +42 -0
  62. package/android/src/main/cpp/AndroidLogger.cpp +27 -0
  63. package/android/src/main/cpp/AndroidScheduler.cpp +59 -0
  64. package/android/src/main/cpp/JNIHelper.cpp +59 -0
  65. package/android/src/main/cpp/LayoutAnimations.cpp +103 -0
  66. package/android/src/main/cpp/NativeProxy.cpp +327 -0
  67. package/android/src/main/cpp/OnLoad.cpp +17 -0
  68. package/android/src/main/cpp/TurboModule.cpp +44 -0
  69. package/android/src/main/cpp/headers/AndroidErrorHandler.h +30 -0
  70. package/android/src/main/cpp/headers/AndroidLogger.h +16 -0
  71. package/android/src/main/cpp/headers/AndroidScheduler.h +41 -0
  72. package/android/src/main/cpp/headers/JNIHelper.h +30 -0
  73. package/android/src/main/cpp/headers/LayoutAnimations.h +42 -0
  74. package/android/src/main/cpp/headers/NativeProxy.h +170 -0
  75. package/android/src/main/cpp/headers/TurboModule.h +70 -0
  76. package/android/src/main/java/com/facebook/react/uimanager/UIManagerReanimatedHelper.java +15 -0
  77. package/android/src/main/java/com/swmansion/common/GestureHandlerStateManager.java +5 -0
  78. package/android/src/main/java/com/swmansion/reanimated/AndroidErrorHandler.java +8 -0
  79. package/android/src/main/java/com/swmansion/reanimated/CopiedEvent.java +43 -0
  80. package/android/src/main/java/com/swmansion/reanimated/MapUtils.java +26 -0
  81. package/android/src/main/java/com/swmansion/reanimated/NativeMethodsHelper.java +117 -0
  82. package/android/src/main/java/com/swmansion/reanimated/NativeProxy.java +285 -0
  83. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +682 -0
  84. package/android/src/main/java/com/swmansion/reanimated/ReanimatedJSIModulePackage.java +29 -0
  85. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +251 -0
  86. package/android/src/main/java/com/swmansion/reanimated/ReanimatedPackage.java +96 -0
  87. package/android/src/main/java/com/swmansion/reanimated/Scheduler.java +51 -0
  88. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +11 -0
  89. package/android/src/main/java/com/swmansion/reanimated/Utils.java +32 -0
  90. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +517 -0
  91. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +56 -0
  92. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/NativeMethodsHolder.java +11 -0
  93. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java +410 -0
  94. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  95. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +292 -0
  96. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/Snapshot.java +121 -0
  97. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ViewHierarchyObserver.java +12 -0
  98. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +29 -0
  99. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +87 -0
  100. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +24 -0
  101. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +49 -0
  102. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +38 -0
  103. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +73 -0
  104. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +36 -0
  105. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +41 -0
  106. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +33 -0
  107. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +83 -0
  108. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +5 -0
  109. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +20 -0
  110. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +41 -0
  111. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +139 -0
  112. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +37 -0
  113. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +377 -0
  114. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +71 -0
  115. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +153 -0
  116. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +32 -0
  117. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +40 -0
  118. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +84 -0
  119. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +40 -0
  120. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +41 -0
  121. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorContainer.java +40 -0
  122. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorListener.java +31 -0
  123. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorType.java +35 -0
  124. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +84 -0
  125. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +25 -0
  126. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +86 -0
  127. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +41 -0
  128. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +161 -0
  129. package/ios/LayoutReanimation/REAAnimationsManager.m +14 -4
  130. package/ios/REAModule.m +8 -9
  131. package/ios/REANodesManager.h +4 -1
  132. package/ios/REANodesManager.m +75 -3
  133. package/ios/native/NativeProxy.mm +76 -4
  134. package/ios/sensor/ReanimatedSensor.h +21 -0
  135. package/ios/sensor/ReanimatedSensor.m +169 -0
  136. package/ios/sensor/ReanimatedSensorContainer.h +13 -0
  137. package/ios/sensor/ReanimatedSensorContainer.m +41 -0
  138. package/ios/sensor/ReanimatedSensorType.h +7 -0
  139. package/lib/ConfigHelper.js +2 -2
  140. package/lib/createAnimatedComponent.js +3 -4
  141. package/lib/reanimated1/core/AnimatedFunction.js +1 -1
  142. package/lib/reanimated1/derived/interpolate.js +2 -4
  143. package/lib/reanimated2/Colors.js +2 -1
  144. package/lib/reanimated2/NativeReanimated/NativeReanimated.js +25 -12
  145. package/lib/reanimated2/NativeReanimated/index.js +0 -4
  146. package/lib/reanimated2/ViewDescriptorsSet.js +2 -2
  147. package/lib/reanimated2/animation/styleAnimation.js +2 -1
  148. package/lib/reanimated2/core.js +30 -24
  149. package/lib/reanimated2/globals.d.ts +6 -0
  150. package/lib/reanimated2/hook/index.js +1 -0
  151. package/lib/reanimated2/hook/useAnimatedSensor.js +66 -0
  152. package/lib/reanimated2/interpolation.js +1 -1
  153. package/lib/reanimated2/jestUtils.js +9 -4
  154. package/lib/reanimated2/js-reanimated/JSReanimated.js +23 -2
  155. package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +8 -0
  156. package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +2 -1
  157. package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +32 -42
  158. package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +20 -38
  159. package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +32 -44
  160. package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +8 -16
  161. package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +6 -10
  162. package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +8 -12
  163. package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +20 -36
  164. package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +16 -20
  165. package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +8 -12
  166. package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +32 -48
  167. package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +22 -18
  168. package/lib/reanimated2/mock.js +3 -2
  169. package/mock.js +4 -4
  170. package/package.json +42 -36
  171. package/plugin.js +2 -0
  172. package/react-native-reanimated.d.ts +41 -12
  173. package/src/ConfigHelper.ts +4 -4
  174. package/src/createAnimatedComponent.tsx +3 -3
  175. package/src/reanimated1/core/AnimatedFunction.js +1 -1
  176. package/src/reanimated1/derived/interpolate.js +2 -4
  177. package/src/reanimated2/Colors.ts +2 -1
  178. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +42 -15
  179. package/src/reanimated2/NativeReanimated/index.ts +0 -6
  180. package/src/reanimated2/ViewDescriptorsSet.ts +2 -3
  181. package/src/reanimated2/animation/index.ts +1 -0
  182. package/src/reanimated2/animation/styleAnimation.ts +10 -7
  183. package/src/reanimated2/animation/timing.ts +3 -1
  184. package/src/reanimated2/animation/util.ts +10 -11
  185. package/src/reanimated2/commonTypes.ts +20 -0
  186. package/src/reanimated2/component/FlatList.tsx +2 -1
  187. package/src/reanimated2/core.ts +34 -26
  188. package/src/reanimated2/globals.d.ts +6 -0
  189. package/src/reanimated2/hook/index.ts +1 -0
  190. package/src/reanimated2/hook/useAnimatedSensor.ts +91 -0
  191. package/src/reanimated2/hook/utils.ts +2 -1
  192. package/src/reanimated2/interpolation.ts +2 -6
  193. package/src/reanimated2/jestUtils.ts +9 -4
  194. package/src/reanimated2/js-reanimated/JSReanimated.ts +25 -2
  195. package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +13 -0
  196. package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +2 -3
  197. package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +51 -21
  198. package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +40 -10
  199. package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +48 -12
  200. package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +16 -4
  201. package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +8 -2
  202. package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +16 -4
  203. package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +32 -8
  204. package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +32 -10
  205. package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +16 -4
  206. package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +64 -16
  207. package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +2 -1
  208. package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +26 -19
  209. package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +2 -1
  210. package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +2 -1
  211. package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +2 -1
  212. package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +2 -1
  213. package/src/reanimated2/mock.ts +3 -2
  214. package/android/react-native-reanimated-63-hermes.aar +0 -0
  215. package/android/react-native-reanimated-63-jsc.aar +0 -0
  216. package/android/src/main/java/com/swmansion/reanimated/ReanimatedProxyPackage.java +0 -15
  217. package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
  218. package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
  219. package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
  220. package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
@@ -0,0 +1,198 @@
1
+ cmake_minimum_required(VERSION 3.5.1)
2
+
3
+ set (CMAKE_VERBOSE_MAKEFILE ON)
4
+ set (CMAKE_CXX_STANDARD 14)
5
+ set (CMAKE_CXX_FLAGS "-DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -DFOLLY_HAVE_MEMRCHR=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_MOBILE=1 -DON_ANDROID -DONANDROID -DFOR_HERMES=${FOR_HERMES} -fexceptions -fno-omit-frame-pointer -frtti -Wno-sign-compare")
6
+
7
+ if(${NATIVE_DEBUG})
8
+ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
9
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
10
+ endif()
11
+
12
+ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
13
+ set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "")
14
+
15
+ set (PACKAGE_NAME "reanimated")
16
+ set (SRC_DIR ${CMAKE_SOURCE_DIR}/src)
17
+
18
+ if(${CLIENT_SIDE_BUILD})
19
+ set (NODE_MODULES_DIR "${CMAKE_SOURCE_DIR}/../../")
20
+ set (COMMON_SRC_DIR "${CMAKE_SOURCE_DIR}/../Common")
21
+ else()
22
+ set (NODE_MODULES_DIR "../node_modules")
23
+ set (COMMON_SRC_DIR "${SRC_DIR}/main/Common")
24
+ endif()
25
+
26
+ set (RN_SO_DIR ${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/jni/first-party/react/jni)
27
+ set (FBJNI_HEADERS_DIR ${RN_SO_DIR}/../../fbjni/headers)
28
+
29
+ # reanimated shared
30
+
31
+ file(GLOB sources_tools "${COMMON_SRC_DIR}/cpp/Tools/*.cpp")
32
+ file(GLOB sources_native_modules "${COMMON_SRC_DIR}/cpp/NativeModules/*.cpp")
33
+ file(GLOB sources_shared_items "${COMMON_SRC_DIR}/cpp/SharedItems/*.cpp")
34
+ file(GLOB sources_registries "${COMMON_SRC_DIR}/cpp/Registries/*.cpp")
35
+ file(GLOB sources_android "${SRC_DIR}/main/cpp/*.cpp")
36
+
37
+ if(${REACT_NATIVE_TARGET_VERSION} LESS 66)
38
+ set (
39
+ INCLUDE_JSI_CPP
40
+ "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi/jsi/jsi.cpp"
41
+ )
42
+ set (
43
+ INCLUDE_JSIDYNAMIC_CPP
44
+ "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi/jsi/JSIDynamic.cpp"
45
+ )
46
+ endif()
47
+
48
+ add_library(
49
+ ${PACKAGE_NAME}
50
+ SHARED
51
+ ${sources_native_modules}
52
+ ${sources_shared_items}
53
+ ${sources_registries}
54
+ ${sources_android}
55
+ ${source_tools}
56
+ ${INCLUDE_JSI_CPP}
57
+ ${INCLUDE_JSIDYNAMIC_CPP}
58
+ "${COMMON_SRC_DIR}/cpp/Tools/JSIStoreValueUser.cpp"
59
+ "${COMMON_SRC_DIR}/cpp/Tools/Mapper.cpp"
60
+ "${COMMON_SRC_DIR}/cpp/Tools/RuntimeDecorator.cpp"
61
+ "${COMMON_SRC_DIR}/cpp/Tools/Scheduler.cpp"
62
+ "${COMMON_SRC_DIR}/cpp/Tools/WorkletEventHandler.cpp"
63
+ "${COMMON_SRC_DIR}/cpp/Tools/FeaturesConfig.cpp"
64
+ "${COMMON_SRC_DIR}/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp"
65
+ "${COMMON_SRC_DIR}/cpp/AnimatedSensor/AnimatedSensorModule.cpp"
66
+ )
67
+
68
+ # includes
69
+
70
+ file (GLOB LIBFBJNI_INCLUDE_DIR ${FBJNI_HEADERS_DIR})
71
+
72
+ target_include_directories(
73
+ ${PACKAGE_NAME}
74
+ PRIVATE
75
+ "${LIBFBJNI_INCLUDE_DIR}"
76
+ "${BUILD_DIR}/third-party-ndk/boost/boost_${BOOST_VERSION}"
77
+ "${BUILD_DIR}/third-party-ndk/double-conversion"
78
+ "${BUILD_DIR}/third-party-ndk/folly"
79
+ "${BUILD_DIR}/third-party-ndk/glog/exported"
80
+ "${NODE_MODULES_DIR}/react-native/React"
81
+ "${NODE_MODULES_DIR}/react-native/React/Base"
82
+ "${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/jni"
83
+ "${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni"
84
+ "${NODE_MODULES_DIR}/react-native/ReactCommon"
85
+ "${NODE_MODULES_DIR}/react-native/ReactCommon/callinvoker"
86
+ "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi"
87
+ "${NODE_MODULES_DIR}/react-native/ReactCommon/turbomodule/core"
88
+ "${NODE_MODULES_DIR}/react-native/ReactCommon/turbomodule"
89
+ "${NODE_MODULES_DIR}/hermes-engine/android/include/"
90
+ "${COMMON_SRC_DIR}/cpp/headers/Tools"
91
+ "${COMMON_SRC_DIR}/cpp/headers/SpecTools"
92
+ "${COMMON_SRC_DIR}/cpp/headers/NativeModules"
93
+ "${COMMON_SRC_DIR}/cpp/headers/SharedItems"
94
+ "${COMMON_SRC_DIR}/cpp/headers/Registries"
95
+ "${COMMON_SRC_DIR}/cpp/headers/LayoutAnimations"
96
+ "${COMMON_SRC_DIR}/cpp/headers/AnimatedSensor"
97
+ "${COMMON_SRC_DIR}/cpp/hidden_headers"
98
+ "${SRC_DIR}/main/cpp/headers"
99
+ )
100
+
101
+ # find libraries
102
+
103
+ file (GLOB LIBRN_DIR "${RN_SO_DIR}/${ANDROID_ABI}")
104
+ file (GLOB HERMES_DIR "${BUILD_DIR}/third-party-ndk/hermes/jni/${ANDROID_ABI}")
105
+
106
+ find_library(
107
+ LOG_LIB
108
+ log
109
+ )
110
+ find_library(
111
+ HERMES_LIB
112
+ hermes
113
+ PATHS ${HERMES_DIR}
114
+ NO_CMAKE_FIND_ROOT_PATH
115
+ )
116
+ find_library(
117
+ JSEXECUTOR_LIB
118
+ jscexecutor
119
+ PATHS ${LIBRN_DIR}
120
+ NO_CMAKE_FIND_ROOT_PATH
121
+ )
122
+ find_library(
123
+ FOLLY_JSON_LIB
124
+ folly_json
125
+ PATHS ${LIBRN_DIR}
126
+ NO_CMAKE_FIND_ROOT_PATH
127
+ )
128
+ find_library(
129
+ REACT_NATIVE_JNI_LIB
130
+ reactnativejni
131
+ PATHS ${LIBRN_DIR}
132
+ NO_CMAKE_FIND_ROOT_PATH
133
+ )
134
+
135
+ find_library(
136
+ GLOG_LIB
137
+ glog
138
+ PATHS ${LIBRN_DIR}
139
+ NO_CMAKE_FIND_ROOT_PATH
140
+ )
141
+
142
+ find_library(
143
+ FBJNI_LIB
144
+ fbjni
145
+ PATHS ${LIBRN_DIR}
146
+ NO_CMAKE_FIND_ROOT_PATH
147
+ )
148
+
149
+ if(${REACT_NATIVE_TARGET_VERSION} LESS 66)
150
+ set (JSI_LIB "")
151
+ else()
152
+ find_library(
153
+ JSI_LIB
154
+ jsi
155
+ PATHS ${LIBRN_DIR}
156
+ NO_CMAKE_FIND_ROOT_PATH
157
+ )
158
+ endif()
159
+
160
+ # build shared lib
161
+
162
+ set_target_properties(${PACKAGE_NAME} PROPERTIES LINKER_LANGUAGE CXX)
163
+
164
+ if(${FOR_HERMES})
165
+ target_link_libraries(
166
+ ${PACKAGE_NAME}
167
+ ${LOG_LIB}
168
+ ${JSI_LIB}
169
+ ${HERMES_LIB}
170
+ ${GLOG_LIB}
171
+ ${FBJNI_LIB}
172
+ ${FOLLY_JSON_LIB}
173
+ ${REACT_NATIVE_JNI_LIB}
174
+ android
175
+ )
176
+ else()
177
+ target_link_libraries(
178
+ ${PACKAGE_NAME}
179
+ ${LOG_LIB}
180
+ ${JSI_LIB}
181
+ ${JSEXECUTOR_LIB}
182
+ ${GLOG_LIB}
183
+ ${FBJNI_LIB}
184
+ ${FOLLY_JSON_LIB}
185
+ ${REACT_NATIVE_JNI_LIB}
186
+ android
187
+ )
188
+ endif()
189
+
190
+ if(${REACT_NATIVE_TARGET_VERSION} LESS 64)
191
+ add_library(
192
+ turbomodulejsijni
193
+ # Sets the library as a shared library.
194
+ SHARED
195
+ # Provides a relative path to your source file(s).
196
+ ./empty.cpp
197
+ )
198
+ endif()
@@ -0,0 +1,15 @@
1
+
2
+ README
3
+ ======
4
+
5
+ If you want to publish the lib as a maven dependency, follow these steps before publishing a new version to npm:
6
+
7
+ 1. Be sure to have the Android [SDK](https://developer.android.com/studio/index.html) and [NDK](https://developer.android.com/ndk/guides/index.html) installed
8
+ 2. Be sure to have a `local.properties` file in this folder that points to the Android SDK and NDK
9
+ ```
10
+ ndk.dir=/Users/{username}/Library/Android/sdk/ndk-bundle
11
+ sdk.dir=/Users/{username}/Library/Android/sdk
12
+ ```
13
+ 3. Delete the `maven` folder
14
+ 4. Run `sudo ./gradlew installArchives`
15
+ 5. Verify that latest set of generated files is in the maven folder with the correct version number