8
8
workflow_dispatch :
9
9
10
10
env :
11
- JAVET_NODE_VERSION : 20.17 .0
12
- JAVET_VERSION : 3.1.8
11
+ JAVET_NODE_VERSION : 22.9 .0
12
+ JAVET_VERSION : 4.0.0
13
13
ROOT : /home/runner/work/Javet
14
14
15
15
jobs :
@@ -19,14 +19,36 @@ jobs:
19
19
include :
20
20
- android_arch : arm
21
21
android_abi : armeabi-v7a
22
+ i18n_name : non-i18n
23
+ cmake_flag :
24
+ config_patch :
22
25
- android_arch : arm64
23
26
android_abi : arm64-v8a
27
+ i18n_name : non-i18n
28
+ cmake_flag :
29
+ config_patch :
24
30
- android_arch : x86
25
31
android_abi : x86
32
+ i18n_name : non-i18n
33
+ cmake_flag :
34
+ config_patch :
26
35
- android_arch : x86_64
27
36
android_abi : x86_64
37
+ i18n_name : non-i18n
38
+ cmake_flag :
39
+ config_patch :
40
+ - android_arch : arm64
41
+ android_abi : arm64-v8a
42
+ i18n_name : i18n
43
+ cmake_flag : -DENABLE_I18N=1
44
+ config_patch : sed -i 's/--with-intl=none/--with-intl=full-icu/g' android_configure.py
45
+ - android_arch : x86_64
46
+ android_abi : x86_64
47
+ i18n_name : i18n
48
+ cmake_flag : -DENABLE_I18N=1
49
+ config_patch : sed -i 's/--with-intl=none/--with-intl=full-icu/g' android_configure.py
28
50
29
- name : Build Javet ${{ matrix.android_arch }}
51
+ name : Build Javet ${{ matrix.android_arch }} ${{ matrix.i18n_name }}
30
52
runs-on : ubuntu-latest
31
53
32
54
steps :
67
89
git apply < ../Javet/scripts/patches/android/node/push_registers_asm.cc.patch
68
90
git apply < ../Javet/scripts/patches/android/node/trap-handler.h.patch
69
91
git apply < ../Javet/scripts/patches/android/node/test_crypto_clienthello.cc.patch
92
+ ${{ matrix.config_patch }}
70
93
./android-configure ${{ steps.setup-ndk.outputs.ndk-path }} 24 ${{ matrix.android_arch }}
71
94
make -j4
72
- mv out out.${{ matrix.android_arch }}
95
+ mv out out.${{ matrix.android_arch }}.${{ matrix.i18n_name }}
96
+
97
+ - name : Copy the i18n
98
+ if : matrix.i18n_name == 'i18n' && matrix.android_arch == 'arm64'
99
+ run : |
100
+ mkdir icu-node
101
+ cp ../node/deps/icu-tmp/*.dat icu-node
73
102
74
103
- name : Setup JDK 11
75
104
uses : actions/setup-java@v4
@@ -85,14 +114,21 @@ jobs:
85
114
- name : Build Javet JNI
86
115
run : |
87
116
cd ${{ env.ROOT }}/Javet/cpp
88
- sh ./build-android.sh -DNODE_DIR=${{ env.ROOT }}/node -DCMAKE_ANDROID_NDK=${{ steps.setup-ndk.outputs.ndk-path }} -DCMAKE_ANDROID_ARCH=${{ matrix.android_arch }}
117
+ sh ./build-android.sh -DNODE_DIR=${{ env.ROOT }}/node -DCMAKE_ANDROID_NDK=${{ steps.setup-ndk.outputs.ndk-path }} -DCMAKE_ANDROID_ARCH=${{ matrix.android_arch }} ${{ matrix.cmake_flag }}
89
118
90
119
- name : Upload the Artifact
91
120
uses : actions/upload-artifact@v4
92
121
with :
93
- name : javet-android-node-${{ matrix.android_arch }}-${{ env.JAVET_VERSION }}
122
+ name : javet-android-node-${{ matrix.android_arch }}-${{ env.JAVET_VERSION }}-${{ matrix.i18n_name }}
94
123
path : android/javet-android/src/main/jniLibs/${{ matrix.android_abi }}/*.so
95
124
125
+ - name : Upload the i18n
126
+ uses : actions/upload-artifact@v4
127
+ if : matrix.i18n_name == 'i18n' && matrix.android_arch == 'arm64'
128
+ with :
129
+ name : icu-node
130
+ path : icu-node/*.dat
131
+
96
132
build_javet_aar :
97
133
needs : [build_javet_lib]
98
134
name : Build Javet AAR
@@ -119,35 +155,52 @@ jobs:
119
155
with :
120
156
gradle-version : 8.5
121
157
122
- - name : Prepare JNI Libs
158
+ - name : Prepare JNI Libs i18n
159
+ run : |
160
+ mkdir -p android/javet-android/src/main/jniLibs/arm64-v8a
161
+ mkdir -p android/javet-android/src/main/jniLibs/x86_64
162
+
163
+ - name : Prepare JNI Libs non-i18n
123
164
run : |
124
165
mkdir -p android/javet-android/src/main/jniLibs/armeabi-v7a
125
166
mkdir -p android/javet-android/src/main/jniLibs/arm64-v8a
126
167
mkdir -p android/javet-android/src/main/jniLibs/x86
127
168
mkdir -p android/javet-android/src/main/jniLibs/x86_64
128
169
129
- - name : Download Javet arm
170
+ - name : Download Javet arm64 i18n
130
171
uses : actions/download-artifact@v4
131
172
with :
132
- name : javet-android-node-arm-${{ env.JAVET_VERSION }}
173
+ name : javet-android-node-arm64-${{ env.JAVET_VERSION }}-i18n
174
+ path : android/javet-android/src/main/jniLibs/arm64-v8a
175
+
176
+ - name : Download Javet x86_64 i18n
177
+ uses : actions/download-artifact@v4
178
+ with :
179
+ name : javet-android-node-x86_64-${{ env.JAVET_VERSION }}-i18n
180
+ path : android/javet-android/src/main/jniLibs/x86_64
181
+
182
+ - name : Download Javet arm non-i18n
183
+ uses : actions/download-artifact@v4
184
+ with :
185
+ name : javet-android-node-arm-${{ env.JAVET_VERSION }}-non-i18n
133
186
path : android/javet-android/src/main/jniLibs/armeabi-v7a
134
187
135
- - name : Download Javet arm64
188
+ - name : Download Javet arm64 non-i18n
136
189
uses : actions/download-artifact@v4
137
190
with :
138
- name : javet-android-node-arm64-${{ env.JAVET_VERSION }}
191
+ name : javet-android-node-arm64-${{ env.JAVET_VERSION }}-non-i18n
139
192
path : android/javet-android/src/main/jniLibs/arm64-v8a
140
193
141
- - name : Download Javet x86
194
+ - name : Download Javet x86 non-i18n
142
195
uses : actions/download-artifact@v4
143
196
with :
144
- name : javet-android-node-x86-${{ env.JAVET_VERSION }}
197
+ name : javet-android-node-x86-${{ env.JAVET_VERSION }}-non-i18n
145
198
path : android/javet-android/src/main/jniLibs/x86
146
199
147
- - name : Download Javet x86_64
200
+ - name : Download Javet x86_64 non-i18n
148
201
uses : actions/download-artifact@v4
149
202
with :
150
- name : javet-android-node-x86_64-${{ env.JAVET_VERSION }}
203
+ name : javet-android-node-x86_64-${{ env.JAVET_VERSION }}-non-i18n
151
204
path : android/javet-android/src/main/jniLibs/x86_64
152
205
153
206
- name : Build the Artifact
@@ -163,22 +216,32 @@ jobs:
163
216
name : javet-android-node-${{ env.JAVET_VERSION }}
164
217
path : android/javet-android/build/outputs/aar/javet*release.aar
165
218
166
- - name : Delete Javet arm
219
+ - name : Delete Javet arm64 i18n
220
+ uses : geekyeggo/delete-artifact@v4
221
+ with :
222
+ name : javet-android-node-arm64-${{ env.JAVET_VERSION }}-i18n
223
+
224
+ - name : Delete Javet x86_64 i18n
225
+ uses : geekyeggo/delete-artifact@v4
226
+ with :
227
+ name : javet-android-node-x86_64-${{ env.JAVET_VERSION }}-i18n
228
+
229
+ - name : Delete Javet arm non-i18n
167
230
uses : geekyeggo/delete-artifact@v4
168
231
with :
169
- name : javet-android-node-arm-${{ env.JAVET_VERSION }}
232
+ name : javet-android-node-arm-${{ env.JAVET_VERSION }}-non-i18n
170
233
171
- - name : Delete Javet arm64
234
+ - name : Delete Javet arm64 non-i18n
172
235
uses : geekyeggo/delete-artifact@v4
173
236
with :
174
- name : javet-android-node-arm64-${{ env.JAVET_VERSION }}
237
+ name : javet-android-node-arm64-${{ env.JAVET_VERSION }}-non-i18n
175
238
176
- - name : Delete Javet x86
239
+ - name : Delete Javet x86 non-i18n
177
240
uses : geekyeggo/delete-artifact@v4
178
241
with :
179
- name : javet-android-node-x86-${{ env.JAVET_VERSION }}
242
+ name : javet-android-node-x86-${{ env.JAVET_VERSION }}-non-i18n
180
243
181
- - name : Delete Javet x86_64
244
+ - name : Delete Javet x86_64 non-i18n
182
245
uses : geekyeggo/delete-artifact@v4
183
246
with :
184
- name : javet-android-node-x86_64-${{ env.JAVET_VERSION }}
247
+ name : javet-android-node-x86_64-${{ env.JAVET_VERSION }}-non-i18n
0 commit comments