@shopify/react-native-skia 0.1.174 → 0.1.175
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.
package/android/CMakeLists.txt
CHANGED
@@ -5,7 +5,7 @@ set (CMAKE_VERBOSE_MAKEFILE ON)
|
|
5
5
|
set (CMAKE_CXX_STANDARD 17)
|
6
6
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSK_GL -DSK_BUILD_FOR_ANDROID -DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -DFOLLY_HAVE_MEMRCHR=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_MOBILE=1 -DON_ANDROID -DONANDROID")
|
7
7
|
|
8
|
-
set (PACKAGE_NAME "
|
8
|
+
set (PACKAGE_NAME "rnskia")
|
9
9
|
set (SKIA_LIB "skia")
|
10
10
|
set (SKIA_SVG_LIB "svg")
|
11
11
|
set (SKIA_SKSHAPER_LIB "skshaper")
|
@@ -31,7 +31,7 @@ link_directories(../libs/android/${ANDROID_ABI}/)
|
|
31
31
|
|
32
32
|
if(${REACT_NATIVE_VERSION} LESS 66)
|
33
33
|
file(
|
34
|
-
TO_CMAKE_PATH
|
34
|
+
TO_CMAKE_PATH
|
35
35
|
"${NODE_MODULES_DIR}/react-native/ReactCommon/jsi/jsi/jsi.cpp"
|
36
36
|
INCLUDE_JSI_CPP
|
37
37
|
)
|
@@ -59,7 +59,7 @@ add_library(
|
|
59
59
|
"${PROJECT_SOURCE_DIR}/cpp/rnskia/dom/base/ConcatablePaint.cpp"
|
60
60
|
|
61
61
|
"${PROJECT_SOURCE_DIR}/cpp/api/third_party/CSSColorParser.cpp"
|
62
|
-
|
62
|
+
|
63
63
|
)
|
64
64
|
|
65
65
|
target_include_directories(
|
@@ -92,7 +92,7 @@ target_include_directories(
|
|
92
92
|
cpp/rnskia/dom/base
|
93
93
|
cpp/rnskia/dom/nodes
|
94
94
|
cpp/rnskia/dom/props
|
95
|
-
cpp/utils
|
95
|
+
cpp/utils
|
96
96
|
|
97
97
|
${libfbjni_include_DIRS}
|
98
98
|
)
|
@@ -205,4 +205,4 @@ target_link_libraries(
|
|
205
205
|
-lGLESv2
|
206
206
|
-lEGL
|
207
207
|
-landroid
|
208
|
-
)
|
208
|
+
)
|
package/android/build.gradle
CHANGED
@@ -80,6 +80,7 @@ def reactProperties = new Properties()
|
|
80
80
|
file("$nodeModules/react-native/ReactAndroid/gradle.properties").withInputStream { reactProperties.load(it) }
|
81
81
|
def FULL_RN_VERSION = (System.getenv("REACT_NATIVE_OVERRIDE_VERSION") ?: reactProperties.getProperty("VERSION_NAME"))
|
82
82
|
def REACT_NATIVE_VERSION = FULL_RN_VERSION.split("\\.")[1].toInteger()
|
83
|
+
def ENABLE_PREFAB = REACT_NATIVE_VERSION > 68
|
83
84
|
|
84
85
|
logger.warn("react-native-skia: RN Version: ${REACT_NATIVE_VERSION} / ${FULL_RN_VERSION}")
|
85
86
|
logger.warn("react-native-skia: isSourceBuild: ${sourceBuild}")
|
@@ -87,6 +88,7 @@ logger.warn("react-native-skia: PrebuiltDir: ${prebuiltDir}")
|
|
87
88
|
logger.warn("react-native-skia: buildType: ${buildType}")
|
88
89
|
logger.warn("react-native-skia: buildDir: ${buildDir}")
|
89
90
|
logger.warn("react-native-skia: node_modules: ${nodeModules}")
|
91
|
+
logger.warn("react-native-skia: Enable Prefab: ${ENABLE_PREFAB}")
|
90
92
|
|
91
93
|
buildscript {
|
92
94
|
// The Android Gradle plugin is only required when opening the android folder stand-alone.
|
@@ -132,14 +134,10 @@ android {
|
|
132
134
|
|
133
135
|
externalNativeBuild {
|
134
136
|
cmake {
|
135
|
-
path file('CMakeLists.txt')
|
137
|
+
path file('CMakeLists.txt')
|
136
138
|
}
|
137
139
|
}
|
138
140
|
|
139
|
-
buildFeatures {
|
140
|
-
prefab true
|
141
|
-
}
|
142
|
-
|
143
141
|
packagingOptions {
|
144
142
|
excludes = [
|
145
143
|
"**/libc++_shared.so",
|
@@ -150,6 +148,18 @@ android {
|
|
150
148
|
]
|
151
149
|
}
|
152
150
|
|
151
|
+
if (ENABLE_PREFAB) {
|
152
|
+
buildFeatures {
|
153
|
+
prefab true
|
154
|
+
prefabPublishing true
|
155
|
+
}
|
156
|
+
prefab {
|
157
|
+
rnskia {
|
158
|
+
headers "${project.buildDir}/headers/rnskia/"
|
159
|
+
}
|
160
|
+
}
|
161
|
+
}
|
162
|
+
|
153
163
|
// Create new configurations that can be referred to in dependencies.
|
154
164
|
// The Android Gradle Plugin 3.* does not allow hooking into existing
|
155
165
|
// configurations like `implementation`.
|
@@ -255,6 +265,15 @@ task extractJNIFiles {
|
|
255
265
|
|
256
266
|
extractJNIFiles.mustRunAfter extractAARHeaders
|
257
267
|
|
268
|
+
if (ENABLE_PREFAB) {
|
269
|
+
task prepareHeaders(type: Copy) {
|
270
|
+
from fileTree('../cpp').filter { it.isFile() }
|
271
|
+
into "${project.buildDir}/headers/rnskia/"
|
272
|
+
includeEmptyDirs = false
|
273
|
+
}
|
274
|
+
preBuild.dependsOn(prepareHeaders)
|
275
|
+
}
|
276
|
+
|
258
277
|
def nativeBuildDependsOn(dependsOnTask, variant) {
|
259
278
|
def buildTasks = tasks.findAll({ task ->
|
260
279
|
!task.name.contains("Clean") && (task.name.contains("externalNative") || task.name.contains("CMake")) })
|
@@ -266,5 +285,5 @@ def nativeBuildDependsOn(dependsOnTask, variant) {
|
|
266
285
|
|
267
286
|
afterEvaluate {
|
268
287
|
nativeBuildDependsOn(extractAARHeaders, null)
|
269
|
-
nativeBuildDependsOn(extractJNIFiles, null)
|
270
|
-
}
|
288
|
+
nativeBuildDependsOn(extractJNIFiles, null)
|
289
|
+
}
|
@@ -57,7 +57,7 @@ public class RNSkiaModule extends ReactContextBaseJavaModule implements Lifecycl
|
|
57
57
|
}
|
58
58
|
|
59
59
|
try {
|
60
|
-
System.loadLibrary("
|
60
|
+
System.loadLibrary("rnskia");
|
61
61
|
ReactApplicationContext context = weakReactContext.get();
|
62
62
|
if (context == null) {
|
63
63
|
Log.e(NAME, "React Application Context was null!");
|
package/package.json
CHANGED