mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-24 23:49:33 +01:00
mobile: fix patches
This commit is contained in:
@@ -1,833 +0,0 @@
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock b/node_modules/react-native-reanimated/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock
|
||||
deleted file mode 100644
|
||||
index fabf460..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/dependencies-accessors/gc.properties b/node_modules/react-native-reanimated/android/.gradle/7.2/dependencies-accessors/gc.properties
|
||||
deleted file mode 100644
|
||||
index e69de29..0000000
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/executionHistory/executionHistory.bin b/node_modules/react-native-reanimated/android/.gradle/7.2/executionHistory/executionHistory.bin
|
||||
deleted file mode 100644
|
||||
index a73e625..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/7.2/executionHistory/executionHistory.bin and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/executionHistory/executionHistory.lock b/node_modules/react-native-reanimated/android/.gradle/7.2/executionHistory/executionHistory.lock
|
||||
deleted file mode 100644
|
||||
index 3c6c4ff..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/7.2/executionHistory/executionHistory.lock and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/fileChanges/last-build.bin b/node_modules/react-native-reanimated/android/.gradle/7.2/fileChanges/last-build.bin
|
||||
deleted file mode 100644
|
||||
index f76dd23..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/7.2/fileChanges/last-build.bin and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/fileHashes.bin b/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/fileHashes.bin
|
||||
deleted file mode 100644
|
||||
index 2c5c450..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/fileHashes.bin and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/fileHashes.lock b/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/fileHashes.lock
|
||||
deleted file mode 100644
|
||||
index f611649..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/fileHashes.lock and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/resourceHashesCache.bin b/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/resourceHashesCache.bin
|
||||
deleted file mode 100644
|
||||
index be6673f..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/7.2/fileHashes/resourceHashesCache.bin and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/7.2/gc.properties b/node_modules/react-native-reanimated/android/.gradle/7.2/gc.properties
|
||||
deleted file mode 100644
|
||||
index e69de29..0000000
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock
|
||||
deleted file mode 100644
|
||||
index 17defa6..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/cache.properties b/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/cache.properties
|
||||
deleted file mode 100644
|
||||
index 1184471..0000000
|
||||
--- a/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/cache.properties
|
||||
+++ /dev/null
|
||||
@@ -1,2 +0,0 @@
|
||||
-#Fri Jul 01 09:56:56 UTC 2022
|
||||
-gradle.version=7.2
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/outputFiles.bin b/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/outputFiles.bin
|
||||
deleted file mode 100644
|
||||
index 2467136..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/buildOutputCleanup/outputFiles.bin and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/checksums/checksums.lock b/node_modules/react-native-reanimated/android/.gradle/checksums/checksums.lock
|
||||
deleted file mode 100644
|
||||
index 3c0a9ad..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/checksums/checksums.lock and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/checksums/md5-checksums.bin b/node_modules/react-native-reanimated/android/.gradle/checksums/md5-checksums.bin
|
||||
deleted file mode 100644
|
||||
index bbd404e..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/checksums/md5-checksums.bin and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/checksums/sha1-checksums.bin b/node_modules/react-native-reanimated/android/.gradle/checksums/sha1-checksums.bin
|
||||
deleted file mode 100644
|
||||
index 89c4caa..0000000
|
||||
Binary files a/node_modules/react-native-reanimated/android/.gradle/checksums/sha1-checksums.bin and /dev/null differ
|
||||
diff --git a/node_modules/react-native-reanimated/android/.gradle/vcs-1/gc.properties b/node_modules/react-native-reanimated/android/.gradle/vcs-1/gc.properties
|
||||
deleted file mode 100644
|
||||
index e69de29..0000000
|
||||
diff --git a/node_modules/react-native-reanimated/android/CMakeLists.txt b/node_modules/react-native-reanimated/android/CMakeLists.txt
|
||||
index 063582c..472019c 100644
|
||||
--- a/node_modules/react-native-reanimated/android/CMakeLists.txt
|
||||
+++ b/node_modules/react-native-reanimated/android/CMakeLists.txt
|
||||
@@ -3,49 +3,47 @@ cmake_minimum_required(VERSION 3.5.1)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set (CMAKE_CXX_STANDARD 14)
|
||||
-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")
|
||||
+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 -fexceptions -fno-omit-frame-pointer -frtti -Wno-sign-compare")
|
||||
|
||||
-if(${NATIVE_DEBUG})
|
||||
+if (${NATIVE_DEBUG})
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
|
||||
-endif()
|
||||
+endif ()
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "")
|
||||
|
||||
-set (PACKAGE_NAME "reanimated")
|
||||
-set (BUILD_DIR ${CMAKE_SOURCE_DIR}/build)
|
||||
-set (SRC_DIR ${CMAKE_SOURCE_DIR}/src)
|
||||
+set(PACKAGE_NAME "reanimated")
|
||||
+set(BUILD_DIR ${CMAKE_SOURCE_DIR}/build)
|
||||
+set(SRC_DIR ${CMAKE_SOURCE_DIR}/src)
|
||||
|
||||
-if(${CLIENT_SIDE_BUILD})
|
||||
- set (NODE_MODULES_DIR "${CMAKE_SOURCE_DIR}/../../")
|
||||
- set (COMMON_SRC_DIR "${CMAKE_SOURCE_DIR}/../Common")
|
||||
-else()
|
||||
- set (NODE_MODULES_DIR "../node_modules")
|
||||
- set (COMMON_SRC_DIR "${SRC_DIR}/main/Common")
|
||||
-endif()
|
||||
+if (${CLIENT_SIDE_BUILD})
|
||||
+ set(COMMON_SRC_DIR "${CMAKE_SOURCE_DIR}/../Common")
|
||||
+else ()
|
||||
+ set(COMMON_SRC_DIR "${SRC_DIR}/main/Common")
|
||||
+endif ()
|
||||
|
||||
-set (RN_SO_DIR ${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/jni/first-party/react/jni)
|
||||
-set (FBJNI_HEADERS_DIR ${RN_SO_DIR}/../../fbjni/headers)
|
||||
+set(RN_SO_DIR ${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/jni/first-party/react/jni)
|
||||
+set(FBJNI_HEADERS_DIR ${RN_SO_DIR}/../../fbjni/headers)
|
||||
|
||||
# reanimated shared
|
||||
|
||||
-file(GLOB sources_tools "${COMMON_SRC_DIR}/cpp/Tools/*.cpp")
|
||||
-file(GLOB sources_native_modules "${COMMON_SRC_DIR}/cpp/NativeModules/*.cpp")
|
||||
-file(GLOB sources_shared_items "${COMMON_SRC_DIR}/cpp/SharedItems/*.cpp")
|
||||
-file(GLOB sources_registries "${COMMON_SRC_DIR}/cpp/Registries/*.cpp")
|
||||
-file(GLOB sources_android "${SRC_DIR}/main/cpp/*.cpp")
|
||||
-
|
||||
-if(${REACT_NATIVE_TARGET_VERSION} LESS 66)
|
||||
- set (
|
||||
- INCLUDE_JSI_CPP
|
||||
- "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi/jsi/jsi.cpp"
|
||||
- )
|
||||
- set (
|
||||
- INCLUDE_JSIDYNAMIC_CPP
|
||||
- "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi/jsi/JSIDynamic.cpp"
|
||||
- )
|
||||
-endif()
|
||||
+file(GLOB sources_tools "${COMMON_SRC_DIR}/cpp/Tools/*.cpp")
|
||||
+file(GLOB sources_native_modules "${COMMON_SRC_DIR}/cpp/NativeModules/*.cpp")
|
||||
+file(GLOB sources_shared_items "${COMMON_SRC_DIR}/cpp/SharedItems/*.cpp")
|
||||
+file(GLOB sources_registries "${COMMON_SRC_DIR}/cpp/Registries/*.cpp")
|
||||
+file(GLOB sources_android "${SRC_DIR}/main/cpp/*.cpp")
|
||||
+
|
||||
+if (${REACT_NATIVE_TARGET_VERSION} LESS 66)
|
||||
+ set(
|
||||
+ INCLUDE_JSI_CPP
|
||||
+ "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi/jsi/jsi.cpp"
|
||||
+ )
|
||||
+ set(
|
||||
+ INCLUDE_JSIDYNAMIC_CPP
|
||||
+ "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi/jsi/JSIDynamic.cpp"
|
||||
+ )
|
||||
+endif ()
|
||||
|
||||
add_library(
|
||||
${PACKAGE_NAME}
|
||||
@@ -69,7 +67,7 @@ add_library(
|
||||
|
||||
# includes
|
||||
|
||||
-file (GLOB LIBFBJNI_INCLUDE_DIR ${FBJNI_HEADERS_DIR})
|
||||
+file(GLOB LIBFBJNI_INCLUDE_DIR ${FBJNI_HEADERS_DIR})
|
||||
|
||||
target_include_directories(
|
||||
${PACKAGE_NAME}
|
||||
@@ -88,7 +86,6 @@ target_include_directories(
|
||||
"${NODE_MODULES_DIR}/react-native/ReactCommon/jsi"
|
||||
"${NODE_MODULES_DIR}/react-native/ReactCommon/turbomodule/core"
|
||||
"${NODE_MODULES_DIR}/react-native/ReactCommon/turbomodule"
|
||||
- "${NODE_MODULES_DIR}/hermes-engine/android/include/"
|
||||
"${COMMON_SRC_DIR}/cpp/headers/Tools"
|
||||
"${COMMON_SRC_DIR}/cpp/headers/SpecTools"
|
||||
"${COMMON_SRC_DIR}/cpp/headers/NativeModules"
|
||||
@@ -102,41 +99,12 @@ target_include_directories(
|
||||
|
||||
# find libraries
|
||||
|
||||
-file (GLOB LIBRN_DIR "${RN_SO_DIR}/${ANDROID_ABI}")
|
||||
-file (GLOB HERMES_DIR "${BUILD_DIR}/third-party-ndk/hermes/jni/${ANDROID_ABI}")
|
||||
+file(GLOB LIBRN_DIR "${RN_SO_DIR}/${ANDROID_ABI}")
|
||||
|
||||
find_library(
|
||||
LOG_LIB
|
||||
log
|
||||
)
|
||||
-find_library(
|
||||
- HERMES_LIB
|
||||
- hermes
|
||||
- PATHS ${HERMES_DIR}
|
||||
- NO_CMAKE_FIND_ROOT_PATH
|
||||
-)
|
||||
-find_library(
|
||||
- JSEXECUTOR_LIB
|
||||
- jscexecutor
|
||||
- PATHS ${LIBRN_DIR}
|
||||
- NO_CMAKE_FIND_ROOT_PATH
|
||||
-)
|
||||
-
|
||||
-if(${REACT_NATIVE_TARGET_VERSION} LESS 69)
|
||||
- find_library(
|
||||
- FOLLY_LIB
|
||||
- folly_json
|
||||
- PATHS ${LIBRN_DIR}
|
||||
- NO_CMAKE_FIND_ROOT_PATH
|
||||
- )
|
||||
-else()
|
||||
- find_library(
|
||||
- FOLLY_LIB
|
||||
- folly_runtime
|
||||
- PATHS ${LIBRN_DIR}
|
||||
- NO_CMAKE_FIND_ROOT_PATH
|
||||
- )
|
||||
-endif()
|
||||
|
||||
find_library(
|
||||
REACT_NATIVE_JNI_LIB
|
||||
@@ -144,14 +112,12 @@ find_library(
|
||||
PATHS ${LIBRN_DIR}
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
-
|
||||
find_library(
|
||||
GLOG_LIB
|
||||
glog
|
||||
PATHS ${LIBRN_DIR}
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
-
|
||||
find_library(
|
||||
FBJNI_LIB
|
||||
fbjni
|
||||
@@ -159,22 +125,53 @@ find_library(
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
|
||||
-if(${REACT_NATIVE_TARGET_VERSION} LESS 66)
|
||||
- set (JSI_LIB "")
|
||||
-else()
|
||||
- find_library(
|
||||
- JSI_LIB
|
||||
- jsi
|
||||
- PATHS ${LIBRN_DIR}
|
||||
- NO_CMAKE_FIND_ROOT_PATH
|
||||
- )
|
||||
-endif()
|
||||
+if (${REACT_NATIVE_TARGET_VERSION} LESS 69)
|
||||
+ find_library(
|
||||
+ FOLLY_LIB
|
||||
+ folly_json
|
||||
+ PATHS ${LIBRN_DIR}
|
||||
+ NO_CMAKE_FIND_ROOT_PATH
|
||||
+ )
|
||||
+else ()
|
||||
+ find_library(
|
||||
+ FOLLY_LIB
|
||||
+ folly_runtime
|
||||
+ PATHS ${LIBRN_DIR}
|
||||
+ NO_CMAKE_FIND_ROOT_PATH
|
||||
+ )
|
||||
+endif ()
|
||||
+
|
||||
+if (${REACT_NATIVE_TARGET_VERSION} LESS 66)
|
||||
+ set(JSI_LIB "")
|
||||
+else ()
|
||||
+ find_library(
|
||||
+ JSI_LIB
|
||||
+ jsi
|
||||
+ PATHS ${LIBRN_DIR}
|
||||
+ NO_CMAKE_FIND_ROOT_PATH
|
||||
+ )
|
||||
+endif ()
|
||||
|
||||
# build shared lib
|
||||
|
||||
set_target_properties(${PACKAGE_NAME} PROPERTIES LINKER_LANGUAGE CXX)
|
||||
|
||||
-if(${FOR_HERMES})
|
||||
+
|
||||
+if (${JS_RUNTIME} STREQUAL "hermes")
|
||||
+ string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_HERMES=1")
|
||||
+ target_include_directories(
|
||||
+ ${PACKAGE_NAME}
|
||||
+ PRIVATE
|
||||
+ "${JS_RUNTIME_DIR}/android/include"
|
||||
+ )
|
||||
+ file(GLOB HERMES_DIR "${BUILD_DIR}/third-party-ndk/hermes/jni/${ANDROID_ABI}")
|
||||
+ find_library(
|
||||
+ HERMES_LIB
|
||||
+ hermes
|
||||
+ PATHS ${HERMES_DIR}
|
||||
+ NO_CMAKE_FIND_ROOT_PATH
|
||||
+ )
|
||||
+
|
||||
target_link_libraries(
|
||||
${PACKAGE_NAME}
|
||||
${LOG_LIB}
|
||||
@@ -186,7 +183,40 @@ if(${FOR_HERMES})
|
||||
${REACT_NATIVE_JNI_LIB}
|
||||
android
|
||||
)
|
||||
-else()
|
||||
+elseif (${JS_RUNTIME} STREQUAL "v8")
|
||||
+ string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_V8=1")
|
||||
+ target_include_directories(
|
||||
+ ${PACKAGE_NAME}
|
||||
+ PRIVATE
|
||||
+ "${JS_RUNTIME_DIR}/src"
|
||||
+ )
|
||||
+ file(GLOB V8_SO_DIR "${JS_RUNTIME_DIR}/android/build/intermediates/library_jni/*/jni/${ANDROID_ABI}")
|
||||
+ find_library(
|
||||
+ V8EXECUTOR_LIB
|
||||
+ v8executor
|
||||
+ PATHS ${V8_SO_DIR}
|
||||
+ NO_CMAKE_FIND_ROOT_PATH
|
||||
+ )
|
||||
+ target_link_libraries(
|
||||
+ ${PACKAGE_NAME}
|
||||
+ ${LOG_LIB}
|
||||
+ ${JSI_LIB}
|
||||
+ ${FOLLY_LIB}
|
||||
+ ${V8EXECUTOR_LIB}
|
||||
+ ${GLOG_LIB}
|
||||
+ ${FBJNI_LIB}
|
||||
+ ${REACT_NATIVE_JNI_LIB}
|
||||
+ android
|
||||
+ )
|
||||
+else ()
|
||||
+ set(ignoreMe "${JS_RUNTIME_DIR}")
|
||||
+ string(APPEND CMAKE_CXX_FLAGS " -DJS_RUNTIME_JSC=1")
|
||||
+ find_library(
|
||||
+ JSEXECUTOR_LIB
|
||||
+ jscexecutor
|
||||
+ PATHS ${LIBRN_DIR}
|
||||
+ NO_CMAKE_FIND_ROOT_PATH
|
||||
+ )
|
||||
target_link_libraries(
|
||||
${PACKAGE_NAME}
|
||||
${LOG_LIB}
|
||||
@@ -198,9 +228,9 @@ else()
|
||||
${REACT_NATIVE_JNI_LIB}
|
||||
android
|
||||
)
|
||||
-endif()
|
||||
+endif ()
|
||||
|
||||
-if(${REACT_NATIVE_TARGET_VERSION} LESS 64)
|
||||
+if (${REACT_NATIVE_TARGET_VERSION} LESS 64)
|
||||
add_library(
|
||||
turbomodulejsijni
|
||||
# Sets the library as a shared library.
|
||||
@@ -208,4 +238,4 @@ if(${REACT_NATIVE_TARGET_VERSION} LESS 64)
|
||||
# Provides a relative path to your source file(s).
|
||||
./empty.cpp
|
||||
)
|
||||
-endif()
|
||||
+endif ()
|
||||
\ No newline at end of file
|
||||
diff --git a/node_modules/react-native-reanimated/android/build.gradle b/node_modules/react-native-reanimated/android/build.gradle
|
||||
index dfb79c8..323e5ec 100644
|
||||
--- a/node_modules/react-native-reanimated/android/build.gradle
|
||||
+++ b/node_modules/react-native-reanimated/android/build.gradle
|
||||
@@ -1,10 +1,9 @@
|
||||
+
|
||||
+import com.android.Version
|
||||
+
|
||||
import java.nio.file.Paths
|
||||
import org.apache.tools.ant.filters.ReplaceTokens
|
||||
-
|
||||
-import java.util.regex.Matcher
|
||||
-import java.util.regex.Pattern
|
||||
import groovy.json.JsonSlurper
|
||||
-import java.util.zip.ZipFile
|
||||
|
||||
/**
|
||||
* Finds the path of the installed npm package with the given name using Node's
|
||||
@@ -45,18 +44,6 @@ def safeExtGet(prop, fallback) {
|
||||
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
||||
}
|
||||
|
||||
-def getCurrentFlavor() {
|
||||
- String taskRequestName = getGradle().getStartParameter().getTaskRequests().toString()
|
||||
- Pattern pattern = Pattern.compile("(assemble|bundle|install|generate)(\\w*)(Release|Debug)")
|
||||
- Matcher matcher = pattern.matcher(taskRequestName)
|
||||
-
|
||||
- if (matcher.find()) {
|
||||
- return matcher.group(2)
|
||||
- }
|
||||
-
|
||||
- return "NOT-FOUND"
|
||||
-}
|
||||
-
|
||||
def resolveBuildType() {
|
||||
def buildType = System.getenv("CLIENT_SIDE_BUILD")
|
||||
if (buildType != null) {
|
||||
@@ -86,127 +73,6 @@ def resolveReactNativeDirectory() {
|
||||
return file("$projectDir/../../react-native")
|
||||
}
|
||||
|
||||
-abstract class replaceSoTask extends DefaultTask {
|
||||
- public static String appName = ":app"
|
||||
- public static String buildDir = "../../../android/app/build"
|
||||
- public static String fbjniVersion = "0.3.0"
|
||||
-
|
||||
- @TaskAction
|
||||
- def run() {
|
||||
- def libSoDir = new File("${buildDir}/tmp/libSo")
|
||||
- if (!libSoDir.exists()) {
|
||||
- libSoDir.mkdirs()
|
||||
- def fbjniUrl = "https://repo1.maven.org/maven2/com/facebook/fbjni/fbjni/${fbjniVersion}/fbjni-${fbjniVersion}.aar"
|
||||
- def aarFile = new File("${libSoDir.path}/fbjni-${fbjniVersion}.aar")
|
||||
- aarFile.createNewFile()
|
||||
- aarFile.withOutputStream { out ->
|
||||
- def url = new URL(fbjniUrl).openConnection()
|
||||
- out << url.inputStream
|
||||
- }
|
||||
- if (!aarFile.exists()) {
|
||||
- println("Unable to find ${libSoDir.path}/fbjni-${fbjniVersion}.aar")
|
||||
- return
|
||||
- }
|
||||
- def zipFile = new ZipFile(new File("${libSoDir.path}/fbjni-${fbjniVersion}.aar"))
|
||||
- zipFile.entries().each {
|
||||
- def zipIt = it
|
||||
- if (zipIt.name.contains("libfbjni.so")) {
|
||||
- new File("${libSoDir.path}/" + zipIt.name.replace("/libfbjni.so", "")).mkdirs()
|
||||
- new File("${libSoDir.path}/" + zipIt.name).withOutputStream{
|
||||
- it << zipFile.getInputStream(zipIt)
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- for(def abiVersion in ["x86", "x86_64", "armeabi-v7a", "arm64-v8a"]) {
|
||||
- ant.sequential {
|
||||
- copy(
|
||||
- tofile: "${buildDir}/intermediates/merged_native_libs/debug/out/lib/${abiVersion}/libfbjni.so",
|
||||
- file: "${buildDir}/tmp/libSo/jni/${abiVersion}/libfbjni.so",
|
||||
- overwrite: true
|
||||
- )
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-def detectAAR(minor, engine) {
|
||||
- def rnMinorVersionCopy = Integer.parseInt(minor)
|
||||
- def aar = file("react-native-reanimated-${rnMinorVersionCopy}-${engine}.aar")
|
||||
-
|
||||
- if (aar.exists()) {
|
||||
- println "AAR for react-native-reanimated has been found\n$aar"
|
||||
- return aar
|
||||
- } else {
|
||||
- while (!aar.exists() && rnMinorVersionCopy >= 63) {
|
||||
- rnMinorVersionCopy -= 1
|
||||
- aar = file("react-native-reanimated-${rnMinorVersionCopy}-${engine}.aar")
|
||||
- }
|
||||
-
|
||||
- if (rnMinorVersionCopy < 63) {
|
||||
- println "No AAR for react-native-reanimated found. Attempting to build from source."
|
||||
- } else { // aar exists, but was build for lower react-native version
|
||||
- println "\n\n\n"
|
||||
- println "****************************************************************************************"
|
||||
- println "\n\n\n"
|
||||
- println "WARNING reanimated - no version-specific reanimated AAR for react-native version $minor found."
|
||||
- println "Falling back to AAR for react-native version $rnMinorVersionCopy."
|
||||
- println "The react-native JSI interface is not ABI-safe yet, this may result in crashes."
|
||||
- println "Please post a pull request to implement support for react-native version $minor to the reanimated repo."
|
||||
- println "Thanks!"
|
||||
- println "\n\n\n"
|
||||
- println "****************************************************************************************"
|
||||
-
|
||||
- return aar
|
||||
- }
|
||||
- }
|
||||
- return null
|
||||
-}
|
||||
-
|
||||
-def detectJsRuntime() {
|
||||
- def runtimeType = "jsc"
|
||||
- rootProject.getSubprojects().forEach({project ->
|
||||
- if (project.plugins.hasPlugin("com.android.application")) {
|
||||
- if (project.ext.react.enableHermes) {
|
||||
- runtimeType = "hermes"
|
||||
- }
|
||||
- }
|
||||
- })
|
||||
- return runtimeType
|
||||
-}
|
||||
-
|
||||
-def detectReanimatedConfig() {
|
||||
- def buildFromSourceConf = false
|
||||
- rootProject.getSubprojects().forEach({project ->
|
||||
- if (project.plugins.hasPlugin("com.android.application")) {
|
||||
- if (
|
||||
- project.ext.has("reanimated")
|
||||
- && project.ext.reanimated.buildFromSource
|
||||
- ) {
|
||||
- buildFromSourceConf = true
|
||||
- }
|
||||
- }
|
||||
- })
|
||||
- return buildFromSourceConf
|
||||
-}
|
||||
-
|
||||
-def shouldBuildFromSource(aar) {
|
||||
- if (isDeveloperMode()) {
|
||||
- // Example app
|
||||
- return true
|
||||
- }
|
||||
- else if (detectReanimatedConfig()) {
|
||||
- // on user demand
|
||||
- return true
|
||||
- }
|
||||
- else if (aar != null) {
|
||||
- // when binary exist
|
||||
- return false
|
||||
- }
|
||||
- // when binary is not found
|
||||
- return true
|
||||
-}
|
||||
-
|
||||
boolean CLIENT_SIDE_BUILD = resolveBuildType()
|
||||
if (CLIENT_SIDE_BUILD) {
|
||||
configurations.maybeCreate("default")
|
||||
@@ -217,70 +83,6 @@ def reactNativeManifestAsJson = new JsonSlurper().parseText(reactNativeManifest.
|
||||
def reactNativeVersion = reactNativeManifestAsJson.version as String
|
||||
def (major, minor, patch) = reactNativeVersion.tokenize('.')
|
||||
def rnMinorVersion = Integer.parseInt(minor)
|
||||
-def engine = detectJsRuntime()
|
||||
-def aar = detectAAR(minor, engine)
|
||||
-boolean BUILD_FROM_SOURCE = shouldBuildFromSource(aar)
|
||||
-
|
||||
-def getTaskByPath(project, String appName, String secondPart, String flavorString, String lastPart) {
|
||||
- String pathName = "${appName}:${secondPart}${flavorString}${lastPart}"
|
||||
- Task task = project.getTasks().findByPath(pathName)
|
||||
- if (task != null) {
|
||||
- return task
|
||||
- }
|
||||
- pathName = "${appName}:${secondPart}${flavorString.capitalize()}${lastPart}"
|
||||
- return project.getTasks().findByPath(pathName)
|
||||
-}
|
||||
-
|
||||
-if (!BUILD_FROM_SOURCE) {
|
||||
- if (rnMinorVersion < 65) {
|
||||
- tasks.register("replaceSoTaskDebug", replaceSoTask)
|
||||
- tasks.register("replaceSoTaskRelease", replaceSoTask)
|
||||
- Task replaceSoTaskDebug = project.getTasks().findByPath(":react-native-reanimated:replaceSoTaskDebug")
|
||||
- Task replaceSoTaskRelease = project.getTasks().findByPath(":react-native-reanimated:replaceSoTaskRelease")
|
||||
-
|
||||
- if (replaceSoTaskDebug != null && replaceSoTaskRelease != null) {
|
||||
- rootProject.getSubprojects().forEach({project ->
|
||||
- if (project.plugins.hasPlugin("com.android.application") && project.getProperties().get("android")) {
|
||||
- def projectProperties = project.getProperties()
|
||||
- def flavorString = getCurrentFlavor()
|
||||
- def reanimatedConf = projectProperties.get("reanimated")
|
||||
-
|
||||
- if (
|
||||
- flavorString != "NOT-FOUND"
|
||||
- && (!reanimatedConf || (reanimatedConf && !reanimatedConf.get("enablePackagingOptions")))
|
||||
- ) {
|
||||
- replaceSoTask.appName = projectProperties.path
|
||||
- replaceSoTask.buildDir = projectProperties.buildDir
|
||||
- def appName = projectProperties.path
|
||||
-
|
||||
- Task debugNativeLibsTask = getTaskByPath(project, appName, "merge", flavorString, "DebugNativeLibs")
|
||||
- Task debugDebugSymbolsTask = getTaskByPath(project, appName, "strip", flavorString, "DebugDebugSymbols")
|
||||
- Task releaseNativeLibsTask = getTaskByPath(project, appName, "merge", flavorString, "ReleaseNativeLibs")
|
||||
- Task releaseDebugSymbolsTask = getTaskByPath(project, appName, "strip", flavorString, "ReleaseDebugSymbols")
|
||||
- Task debugTask = getTaskByPath(project, appName, "package", flavorString, "Debug")
|
||||
- Task releaseTask = getTaskByPath(project, appName, "package", flavorString, "Release")
|
||||
-
|
||||
- if (
|
||||
- debugNativeLibsTask != null && debugDebugSymbolsTask != null
|
||||
- && releaseNativeLibsTask != null && releaseDebugSymbolsTask != null
|
||||
- && debugTask != null && releaseTask != null
|
||||
- ) {
|
||||
- replaceSoTaskDebug.dependsOn(debugNativeLibsTask, debugDebugSymbolsTask)
|
||||
- debugTask.dependsOn(replaceSoTaskDebug)
|
||||
- replaceSoTaskRelease.dependsOn(releaseNativeLibsTask, releaseDebugSymbolsTask)
|
||||
- releaseTask.dependsOn(replaceSoTaskRelease)
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- })
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- artifacts.add("default", aar)
|
||||
-}
|
||||
-
|
||||
-// end if already loaded aar
|
||||
-if (!BUILD_FROM_SOURCE) return
|
||||
|
||||
def localProps = new Properties()
|
||||
def localPropertiesFile = file("local.properties")
|
||||
@@ -309,13 +111,36 @@ def thirdPartyNdkDir = new File("$buildDir/third-party-ndk")
|
||||
def reactNativeThirdParty = new File("$reactNative/ReactAndroid/src/main/jni/third-party")
|
||||
|
||||
def _stackProtectorFlag = true
|
||||
-def FOR_HERMES = ""
|
||||
|
||||
-if (findProject(":app")) {
|
||||
- FOR_HERMES = project(":app").ext.react.enableHermes;
|
||||
-} else {
|
||||
- FOR_HERMES = System.getenv("FOR_HERMES") == "True";
|
||||
-}
|
||||
+def CMAKE_NODE_MODULES_DIR = CLIENT_SIDE_BUILD
|
||||
+ ? project.getProjectDir().getParentFile().getParent()
|
||||
+ : Paths.get(project.getProjectDir().getParent(), getPlaygroundAppName(), "node_modules").toString()
|
||||
+
|
||||
+def JS_RUNTIME = {
|
||||
+ // Returns the js runtime explicitly requested in the environment variable
|
||||
+ if (System.getenv("JS_RUNTIME")) {
|
||||
+ return System.getenv("JS_RUNTIME")
|
||||
+ }
|
||||
+
|
||||
+ // Detect js runtime from project setup
|
||||
+ def defaultRuntimeType = "jsc";
|
||||
+ def v8Project = rootProject.getSubprojects().find { project -> project.name == "react-native-v8" }
|
||||
+ if (v8Project != null) {
|
||||
+ return "v8"
|
||||
+ }
|
||||
+ def appProject = findProject(":app") ? project(":app") : null
|
||||
+ return appProject?.ext?.react?.enableHermes ? "hermes" : defaultRuntimeType
|
||||
+}.call()
|
||||
+
|
||||
+def jsRuntimeDir = {
|
||||
+ if (JS_RUNTIME == "hermes") {
|
||||
+ return Paths.get(CMAKE_NODE_MODULES_DIR, "hermes-engine")
|
||||
+ } else if (JS_RUNTIME == "v8") {
|
||||
+ return findProject(":react-native-v8").getProjectDir().getParent()
|
||||
+ } else {
|
||||
+ return Paths.get(CMAKE_NODE_MODULES_DIR, "react-native", "ReactCommon", "jsi")
|
||||
+ }
|
||||
+}.call()
|
||||
|
||||
def reactNativeArchitectures() {
|
||||
def value = project.getProperties().get("reactNativeArchitectures")
|
||||
@@ -351,8 +176,8 @@ buildscript {
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
- classpath "com.android.tools.build:gradle:7.1.1"
|
||||
- classpath "de.undercouch:gradle-download-task:5.0.1"
|
||||
+ classpath "com.android.tools.build:gradle:4.2.2"
|
||||
+ classpath "de.undercouch:gradle-download-task:4.1.2"
|
||||
classpath "com.diffplug.spotless:spotless-plugin-gradle:5.15.0"
|
||||
}
|
||||
}
|
||||
@@ -376,13 +201,15 @@ android {
|
||||
cmake {
|
||||
arguments "-DANDROID_STL=c++_shared",
|
||||
"-DNATIVE_DEBUG=${debugNativeLibraries}",
|
||||
- "-DREACT_NATIVE_TARGET_VERSION=${REACT_VERSION}",
|
||||
+ "-DREACT_NATIVE_TARGET_VERSION=${rnMinorVersion}",
|
||||
"-DANDROID_TOOLCHAIN=clang",
|
||||
"-DBOOST_VERSION=${BOOST_VERSION}",
|
||||
"-DBUILD_DIR=${buildDir}",
|
||||
- "-DFOR_HERMES=${FOR_HERMES}",
|
||||
+ "-DNODE_MODULES_DIR=${CMAKE_NODE_MODULES_DIR}",
|
||||
+ "-DJS_RUNTIME=${JS_RUNTIME}",
|
||||
+ "-DJS_RUNTIME_DIR=${jsRuntimeDir}",
|
||||
"-DCLIENT_SIDE_BUILD=${CLIENT_SIDE_BUILD}"
|
||||
- abiFilters (*reactNativeArchitectures())
|
||||
+ abiFilters(*reactNativeArchitectures())
|
||||
_stackProtectorFlag ? (cppFlags("-fstack-protector-all")) : null
|
||||
}
|
||||
}
|
||||
@@ -411,6 +238,8 @@ android {
|
||||
"**/libhermes.so",
|
||||
"**/libreactnativejni.so",
|
||||
"**/libjscexecutor.so",
|
||||
+ "**/libv8executor.so",
|
||||
+ "META-INF/MANIFEST.MF"
|
||||
]
|
||||
}
|
||||
tasks.withType(JavaCompile) {
|
||||
@@ -435,7 +264,7 @@ task cleanCmakeCache() {
|
||||
}
|
||||
|
||||
task printVersions {
|
||||
- println "Android gradle plugin: ${com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION}"
|
||||
+ println "Android gradle plugin: ${Version.ANDROID_GRADLE_PLUGIN_VERSION}"
|
||||
println "Gradle: ${project.gradle.gradleVersion}"
|
||||
}
|
||||
|
||||
@@ -446,10 +275,10 @@ task Log {
|
||||
task applyJavaPatches(type: Copy) {
|
||||
def patchDirectory = file("${projectDir}/rnVersionPatch/${rnMinorVersion}")
|
||||
if (patchDirectory.exists()) {
|
||||
- from ("${patchDirectory}") {
|
||||
+ from("${patchDirectory}") {
|
||||
include "**/*.java"
|
||||
}
|
||||
- into ("${projectDir}/src/main/java/com/swmansion/reanimated")
|
||||
+ into("${projectDir}/src/main/java/com/swmansion/reanimated")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -643,7 +472,7 @@ task extractSOFiles {
|
||||
task packageNdkLibs(type: Copy) {
|
||||
from("$buildDir/reanimated-ndk/all")
|
||||
include("**/libreanimated.so")
|
||||
- if(REACT_VERSION < 64) {
|
||||
+ if (REACT_VERSION < 64) {
|
||||
include("**/libturbomodulejsijni.so")
|
||||
}
|
||||
into("$projectDir/src/main/jniLibs")
|
||||
@@ -668,8 +497,7 @@ dependencies {
|
||||
implementation "com.facebook.yoga:proguard-annotations:1.19.0"
|
||||
if (isDeveloperMode()) {
|
||||
implementation "com.facebook.fbjni:fbjni:" + FBJNI_VERSION
|
||||
- }
|
||||
- else {
|
||||
+ } else {
|
||||
implementation "com.facebook.fbjni:fbjni-java-only:" + FBJNI_VERSION
|
||||
}
|
||||
implementation "com.facebook.react:react-native:+" // From node_modules
|
||||
@@ -677,6 +505,11 @@ dependencies {
|
||||
extractHeaders("com.facebook.fbjni:fbjni:" + FBJNI_VERSION + ":headers")
|
||||
extractSO("com.facebook.fbjni:fbjni:" + FBJNI_VERSION)
|
||||
|
||||
+ def jscAAR = fileTree("$reactNative/../jsc-android/dist/org/webkit/android-jsc").matching({ it.include "**/**/*.aar" }).singleFile
|
||||
+ extractSO(files(jscAAR))
|
||||
+}
|
||||
+
|
||||
+task unpackReactNativeAAR {
|
||||
def buildType = "debug"
|
||||
tasks.all({ task ->
|
||||
if (task.name == "buildCMakeRelease") {
|
||||
@@ -688,25 +521,33 @@ dependencies {
|
||||
rnAarMatcher = "**/**/*.aar"
|
||||
}
|
||||
def rnAAR = fileTree("$reactNative/android").matching({ it.include rnAarMatcher }).singleFile
|
||||
- def jscAAR = fileTree("$reactNative/../jsc-android/dist/org/webkit/android-jsc").matching({ it.include "**/**/*.aar" }).singleFile
|
||||
- extractSO(files(rnAAR, jscAAR))
|
||||
+ def file = rnAAR.absoluteFile
|
||||
+ def packageName = file.name.tokenize('-')[0]
|
||||
+ copy {
|
||||
+ from zipTree(file)
|
||||
+ into "$reactNative/ReactAndroid/src/main/jni/first-party/$packageName/"
|
||||
+ include "jni/**/*.so"
|
||||
+ }
|
||||
}
|
||||
|
||||
task downloadNdkBuildDependencies {
|
||||
if (!boostPath) {
|
||||
dependsOn(downloadBoost)
|
||||
}
|
||||
- dependsOn(downloadDoubleConversion)
|
||||
- dependsOn(downloadFolly)
|
||||
- dependsOn(downloadGlog)
|
||||
+ if (!dependenciesPath) {
|
||||
+ dependsOn(downloadDoubleConversion)
|
||||
+ dependsOn(downloadFolly)
|
||||
+ dependsOn(downloadGlog)
|
||||
+ }
|
||||
}
|
||||
|
||||
-task prepareThirdPartyNdkHeaders(dependsOn:[downloadNdkBuildDependencies, prepareBoost, prepareDoubleConversion, prepareFolly, prepareGlog]) {
|
||||
+task prepareThirdPartyNdkHeaders(dependsOn: [downloadNdkBuildDependencies, prepareBoost, prepareDoubleConversion, prepareFolly, prepareGlog, unpackReactNativeAAR]) {
|
||||
}
|
||||
|
||||
def nativeBuildDependsOn(dependsOnTask) {
|
||||
def buildTasks = tasks.findAll({ task ->
|
||||
- !task.name.contains("Clean") && (task.name.contains("externalNative") || task.name.contains("CMake")) })
|
||||
+ !task.name.contains("Clean") && (task.name.contains("externalNative") || task.name.contains("CMake"))
|
||||
+ })
|
||||
buildTasks.forEach { task -> task.dependsOn(dependsOnTask) }
|
||||
}
|
||||
|
||||
@@ -717,11 +558,30 @@ afterEvaluate {
|
||||
nativeBuildDependsOn(prepareThirdPartyNdkHeaders)
|
||||
nativeBuildDependsOn(extractAARHeaders)
|
||||
nativeBuildDependsOn(extractSOFiles)
|
||||
+
|
||||
+ tasks.forEach({ task ->
|
||||
+ if (task.name.contains("JniLibFolders")) {
|
||||
+ task.dependsOn(packageNdkLibs)
|
||||
+ }
|
||||
+ })
|
||||
+
|
||||
+ if (JS_RUNTIME == "hermes") {
|
||||
+ extractAARHeaders.dependsOn(prepareHermes)
|
||||
+ extractSOFiles.dependsOn(prepareHermes)
|
||||
+ } else if (JS_RUNTIME == "v8") {
|
||||
+ def buildTasks = tasks.findAll({ task ->
|
||||
+ !task.name.contains("Clean") && (task.name.contains("externalNative") || task.name.contains("CMake") || task.name.startsWith("generateJsonModel"))
|
||||
+ })
|
||||
+ buildTasks.forEach { task ->
|
||||
+ def buildType = task.name.endsWith('Debug') ? 'Debug' : 'Release'
|
||||
+ task.dependsOn(":react-native-v8:copy${buildType}JniLibsProjectOnly")
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
if (CLIENT_SIDE_BUILD) {
|
||||
def aarDir = "${buildDir}/outputs"
|
||||
- aar = file("${aarDir}/android-debug.aar")
|
||||
+ def aar = file("${aarDir}/android-debug.aar")
|
||||
if (aar == null) {
|
||||
throw GradleScriptException("AAR build failed. No AAR found in ${aarDir}.")
|
||||
}
|
||||
diff --git a/node_modules/react-native-reanimated/android/src/main/cpp/NativeProxy.cpp b/node_modules/react-native-reanimated/android/src/main/cpp/NativeProxy.cpp
|
||||
index 0e4014c..872c77b 100644
|
||||
--- a/node_modules/react-native-reanimated/android/src/main/cpp/NativeProxy.cpp
|
||||
+++ b/node_modules/react-native-reanimated/android/src/main/cpp/NativeProxy.cpp
|
||||
@@ -7,8 +7,10 @@
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
-#if FOR_HERMES
|
||||
+#if JS_RUNTIME_HERMES
|
||||
#include <hermes/hermes.h>
|
||||
+#elif JS_RUNTIME_V8
|
||||
+#include <v8runtime/V8RuntimeFactory.h>
|
||||
#else
|
||||
#include <jsi/JSCRuntime.h>
|
||||
#endif
|
||||
@@ -136,15 +138,22 @@ void NativeProxy::installJSIBindings() {
|
||||
auto setGestureStateFunction = [this](int handlerTag, int newState) -> void {
|
||||
setGestureState(handlerTag, newState);
|
||||
};
|
||||
-#if FOR_HERMES
|
||||
+#if JS_RUNTIME_HERMES
|
||||
auto config =
|
||||
::hermes::vm::RuntimeConfig::Builder().withEnableSampleProfiling(false);
|
||||
std::shared_ptr<jsi::Runtime> animatedRuntime =
|
||||
facebook::hermes::makeHermesRuntime(config.build());
|
||||
+#elif JS_RUNTIME_V8
|
||||
+ auto config = std::make_unique<rnv8::V8RuntimeConfig>();
|
||||
+ config->enableInspector = false;
|
||||
+ config->appName = "reanimated";
|
||||
+ std::shared_ptr<jsi::Runtime> animatedRuntime =
|
||||
+ rnv8::createSharedV8Runtime(runtime_, std::move(config));
|
||||
#else
|
||||
std::shared_ptr<jsi::Runtime> animatedRuntime =
|
||||
facebook::jsc::makeJSCRuntime();
|
||||
#endif
|
||||
+
|
||||
auto workletRuntimeValue = runtime_->global()
|
||||
.getProperty(*runtime_, "ArrayBuffer")
|
||||
.asObject(*runtime_)
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user