@@ -28,12 +28,12 @@ ext.libzim_version = "9.2.1"
28
28
29
29
apply from : ' publish.gradle'
30
30
android {
31
- compileSdk 32
32
-
31
+ compileSdk 34
32
+ namespace = " kiwix.org.kiwixlib "
33
33
defaultConfig {
34
34
35
- minSdk 21
36
- targetSdk 32
35
+ minSdk 24
36
+ targetSdk 34
37
37
versionCode 1
38
38
versionName " 1.0"
39
39
@@ -69,6 +69,14 @@ android {
69
69
viewBinding true
70
70
}
71
71
ndkVersion ' 21.4.7075529'
72
+
73
+ // Enabled the lint to avoid potential errors.
74
+ lintOptions {
75
+ abortOnError true
76
+ checkAllWarnings = true
77
+ warningsAsErrors true
78
+ disable(" GradleDependency" , " UnknownNullness" )
79
+ }
72
80
}
73
81
74
82
dependencies {
@@ -79,7 +87,7 @@ dependencies {
79
87
ext. libkiwix_base_url = ' https://download.kiwix.org/release/libkiwix/'
80
88
ext. libzim_base_url = ' https://download.openzim.org/release/libzim/'
81
89
82
- task downloadLibzimSoAndHeaderFiles ( type : Download ) {
90
+ tasks . register( ' downloadLibzimSoAndHeaderFiles ' , Download ) {
83
91
src([
84
92
libzim_base_url + ' libzim_android-arm-' + libzim_version + ' .tar.gz' ,
85
93
libzim_base_url + ' libzim_android-arm64-' + libzim_version + ' .tar.gz' ,
@@ -91,7 +99,8 @@ task downloadLibzimSoAndHeaderFiles(type: Download) {
91
99
overwrite true
92
100
}
93
101
94
- task unzipLibzim (type : Copy ) {
102
+ tasks. register(' unzipLibzim' , Copy ) {
103
+ mustRunAfter downloadLibzimSoAndHeaderFiles
95
104
// unzip android arm
96
105
from tarTree(buildDir. path + " /libzim_android-arm-" + libzim_version + " .tar.gz" )
97
106
into buildDir
@@ -109,11 +118,11 @@ task unzipLibzim(type: Copy) {
109
118
into buildDir
110
119
}
111
120
112
- task renameLibzimFolders ( ) {
121
+ tasks . register( ' renameLibzimFolders ' ) {
113
122
removeVersionFromFolderName(buildDir. path, " libzim_" , libzim_version)
114
123
}
115
124
116
- task copyLibzimHeaderAndSoFiles ( type : Copy ) {
125
+ tasks . register( ' copyLibzimHeaderAndSoFiles ' , Copy ) {
117
126
copy {
118
127
// copying header file
119
128
from buildDir. path + " /libzim_android-arm/include/"
@@ -151,7 +160,7 @@ task copyLibzimHeaderAndSoFiles(type: Copy) {
151
160
}
152
161
}
153
162
154
- task renameLibzimSoFile ( type : Copy ) {
163
+ tasks . register( ' renameLibzimSoFile ' , Copy ) {
155
164
if (libzim_version != null ) {
156
165
def finalLibzimVersion = getActualLibraryVersion(libzim_version)
157
166
@@ -167,7 +176,7 @@ task renameLibzimSoFile(type: Copy) {
167
176
}
168
177
}
169
178
170
- task downloadLibkiwixSoAndHeaderFiles ( type : Download ) {
179
+ tasks . register( ' downloadLibkiwixSoAndHeaderFiles ' , Download ) {
171
180
src([
172
181
libkiwix_base_url + ' libkiwix_android-arm-' + libkiwix_version + ' .tar.gz' ,
173
182
libkiwix_base_url + ' libkiwix_android-arm64-' + libkiwix_version + ' .tar.gz' ,
@@ -179,7 +188,7 @@ task downloadLibkiwixSoAndHeaderFiles(type: Download) {
179
188
overwrite true
180
189
}
181
190
182
- task renameLibkiwixFolders ( ) {
191
+ tasks . register( ' renameLibkiwixFolders ' ) {
183
192
removeVersionFromFolderName(buildDir. path, " libkiwix_" , libkiwix_version)
184
193
}
185
194
@@ -196,7 +205,8 @@ static void removeVersionFromFolderName(String path, String startWith, String ve
196
205
}
197
206
}
198
207
199
- task unzipLibkiwix (type : Copy ) {
208
+ tasks. register(' unzipLibkiwix' , Copy ) {
209
+ mustRunAfter downloadLibkiwixSoAndHeaderFiles
200
210
// unzip android arm
201
211
from tarTree(buildDir. path + " /libkiwix_android-arm-" + libkiwix_version + " .tar.gz" )
202
212
into buildDir
@@ -214,7 +224,7 @@ task unzipLibkiwix(type: Copy) {
214
224
into buildDir
215
225
}
216
226
217
- task copyLibkiwixHeaderAndSoFiles ( type : Copy ) {
227
+ tasks . register( ' copyLibkiwixHeaderAndSoFiles ' , Copy ) {
218
228
copy {
219
229
// copying header file
220
230
from buildDir. path + " /libkiwix_android-arm/include/kiwix/"
@@ -252,7 +262,7 @@ task copyLibkiwixHeaderAndSoFiles(type: Copy) {
252
262
}
253
263
}
254
264
255
- task renameLibkiwixSoFile ( type : Copy ) {
265
+ tasks . register( ' renameLibkiwixSoFile ' , Copy ) {
256
266
if (libkiwix_version != null ) {
257
267
def finalLibkiwixVersion = getActualLibraryVersion(libkiwix_version)
258
268
def sourceFile = file(buildDir. path + " /libkiwix.so." + finalLibkiwixVersion)
@@ -277,50 +287,50 @@ static String getActualLibraryVersion(String libraryVersion) {
277
287
return dashIndex != -1 ? libraryVersion. substring(0 , dashIndex) : libraryVersion
278
288
}
279
289
280
- task testSourceJar ( type : Jar ) {
290
+ tasks . register( ' testSourceJar ' , Jar ) {
281
291
from android. sourceSets. test. java. srcDirs
282
- archiveName = ' test-sources.jar '
292
+ archiveBaseName = ' test-sources'
283
293
}
284
294
285
- task compileTestFile ( type : JavaCompile ) {
295
+ tasks . register( ' compileTestFile ' , JavaCompile ) {
286
296
dependsOn testSourceJar
287
297
source = file(' src/test' )
288
298
destinationDirectory = file(" $buildDir " )
289
- classpath = files(" src/test/junit-4.13.jar" , " src/test/hamcrest-core-1.4.jar" , " build/libs/test-sources.jar" )
299
+ classpath = files(" src/test/junit-4.13.jar" , " src/test/hamcrest-core-1.4.jar" , " build/libs/test-sources- ${ VERSION } .jar" )
290
300
}
291
301
292
- task runTests ( type : JavaExec ) {
302
+ tasks . register( ' runTests ' , JavaExec ) {
293
303
workingDir(" $projectDir /src/test/" )
294
304
dependsOn compileTestFile
295
305
classpath = files(" $buildDir " , ' src/test/java/' , ' src/test/junit-4.13.jar' , ' src/test/hamcrest-core-1.3.jar' )
296
- main = ' org.junit.runner.JUnitCore'
306
+ mainClass = ' org.junit.runner.JUnitCore'
297
307
args = [' test' ]
298
308
jvmArgs = [
299
309
' -Djava.library.path=' + buildDir. path,
300
310
' -javaagent:jacoco-0.8.7/lib/jacocoagent.jar=destfile=../../build/jacoco/jacoco.exec'
301
311
]
302
312
}
303
313
304
- task createCodeCoverageReport ( type : JavaExec ) {
314
+ tasks . register( ' createCodeCoverageReport ' , JavaExec ) {
305
315
workingDir " ${ projectDir} /src/test/"
306
316
dependsOn runTests
307
317
classpath = files(' src/test/' , ' src/test/java/' , ' src/test/junit-4.13.jar' , ' src/test/hamcrest-core-1.3.jar' , ' src/test/jacoco-0.8.7/lib/*' )
308
- main = ' org.jacoco.cli.internal.Main'
318
+ mainClass = ' org.jacoco.cli.internal.Main'
309
319
args = [
310
320
' report' , ' ../../build/jacoco/jacoco.exec' ,
311
321
' --classfiles' , ' java/org/kiwix' , ' --classfiles' , ' ../../build/org/kiwix' ,
312
322
' --html' , ' ../../build/coverage-report' , ' --xml' , ' ../../build/coverage.xml'
313
323
]
314
324
}
315
325
316
- task checkCurrentJavaVersion ( ) {
317
- if (JavaVersion . current() != JavaVersion . VERSION_11 ) {
318
- throw new RuntimeException (" This build must be run with java 11 . your current java version is ${ JavaVersion.current()} " )
326
+ tasks . register( ' checkCurrentJavaVersion ' ) {
327
+ if (JavaVersion . current() != JavaVersion . VERSION_17 ) {
328
+ throw new RuntimeException (" This build must be run with java 17 . your current java version is ${ JavaVersion.current()} " )
319
329
}
320
330
}
321
331
322
332
323
- task buildHeaders ( type : Exec ) {
333
+ tasks . register( ' buildHeaders ' , Exec ) {
324
334
workingDir " ${ projectDir} /src/main/java/org/kiwix/"
325
335
commandLine ' bash' , ' -c' , " javac -h ${ buildDir} /include/javah_generated/ -d ${ projectDir} /src/test/java/ ${ getLibzimFiles()} ${ getLibkiwixFiles()} "
326
336
}
@@ -358,7 +368,7 @@ String getLibzimFiles() {
358
368
" ${ projectDir} /src/main/java/org/kiwix/libzim/FdInput.java"
359
369
}
360
370
361
- task buildLinuxBinding ( type : Exec ) {
371
+ tasks . register( ' buildLinuxBinding ' , Exec ) {
362
372
workingDir " ${ projectDir} /src/main/cpp/"
363
373
commandLine ' bash' , ' -c' , " cmake . -B ${ buildDir} && make -C ${ buildDir} "
364
374
}
0 commit comments