1- import java.util.stream.Collectors
2-
31plugins {
42 id ' com.android.library'
53 id ' org.jetbrains.kotlin.android'
@@ -19,11 +17,15 @@ ext["ossrhPassword"] = properties.getProperty("ossrhPassword", System.getenv('OS
1917ext[" sonatypeStagingProfileId" ] = properties. getProperty(" sonatypeStagingProfileId" , System . getenv(' SONATYPE_STAGING_PROFILE_ID' ))
2018
2119ext {
22- set(" GROUP_ID" , " org.kiwix.kiwixlib " )
23- set(" ARTIFACT_ID" , " kiwixlib " )
24- set(" VERSION" , " 11 .0.0" )
20+ set(" GROUP_ID" , " org.kiwix.libkiwix " )
21+ set(" ARTIFACT_ID" , " libkiwix " )
22+ set(" VERSION" , " 1 .0.0" )
2523}
2624
25+ // Replace these versions with the latest available versions of libkiwix and libzim
26+ ext. libkiwix_version = " 12.0.0"
27+ ext. libzim_version = " 8.2.0"
28+
2729apply from : ' publish.gradle'
2830android {
2931 compileSdk 32
@@ -74,44 +76,41 @@ dependencies {
7476 implementation ' androidx.core:core-ktx:1.7.0'
7577}
7678
77- ext. libkiwix_base_url = ' https://download.kiwix.org/nightly'
78- ext. libzim_base_url = ' https://download.openzim.org/nightly'
79-
80- ext. libkiwix_version = project. properties[" libkiwix_version" ] ?: " "
81- ext. libzim_version = project. properties[" libzim_version" ] ?: " "
79+ ext. libkiwix_base_url = ' https://download.kiwix.org/release/libkiwix/'
80+ ext. libzim_base_url = ' https://download.openzim.org/release/libzim/'
8281
8382task downloadLibzimSoAndHeaderFiles (type : Download ) {
8483 src([
85- libzim_base_url + ' / libzim_android-arm.tar.gz' ,
86- libzim_base_url + ' / libzim_android-arm64.tar.gz' ,
87- libzim_base_url + ' / libzim_android-x86.tar.gz' ,
88- libzim_base_url + ' / libzim_android-x86_64.tar.gz' ,
89- libzim_base_url + ' / libzim_linux-x86_64-bionic.tar.gz'
84+ libzim_base_url + ' libzim_android-arm- ' + libzim_version + ' .tar.gz' ,
85+ libzim_base_url + ' libzim_android-arm64- ' + libzim_version + ' .tar.gz' ,
86+ libzim_base_url + ' libzim_android-x86- ' + libzim_version + ' .tar.gz' ,
87+ libzim_base_url + ' libzim_android-x86_64- ' + libzim_version + ' .tar.gz' ,
88+ libzim_base_url + ' libzim_linux-x86_64-bionic- ' + libzim_version + ' .tar.gz'
9089 ])
9190 dest buildDir
9291 overwrite true
9392}
9493
9594task unzipLibzim (type : Copy ) {
9695 // unzip android arm
97- from tarTree(buildDir. path + " /libzim_android-arm.tar.gz" )
96+ from tarTree(buildDir. path + " /libzim_android-arm- " + libzim_version + " .tar.gz" )
9897 into buildDir
9998 // unzip android arm64
100- from tarTree(buildDir. path + " /libzim_android-arm64.tar.gz" )
99+ from tarTree(buildDir. path + " /libzim_android-arm64- " + libzim_version + " .tar.gz" )
101100 into buildDir
102101 // unzip android x86
103- from tarTree(buildDir. path + " /libzim_android-x86.tar.gz" )
102+ from tarTree(buildDir. path + " /libzim_android-x86- " + libzim_version + " .tar.gz" )
104103 into buildDir
105104 // unzip android x86_64
106- from tarTree(buildDir. path + " /libzim_android-x86_64.tar.gz" )
105+ from tarTree(buildDir. path + " /libzim_android-x86_64- " + libzim_version + " .tar.gz" )
107106 into buildDir
108107 // unzip linux x86_64
109- from tarTree(buildDir. path + " /libzim_linux-x86_64-bionic.tar.gz" )
108+ from tarTree(buildDir. path + " /libzim_linux-x86_64-bionic- " + libzim_version + " .tar.gz" )
110109 into buildDir
111110}
112111
113112task renameLibzimFolders () {
114- removeDateFromFolderName (buildDir. path," libzim_" )
113+ removeVersionFromFolderName (buildDir. path, " libzim_" , libzim_version )
115114}
116115
117116task copyLibzimHeaderAndSoFiles (type : Copy ) {
@@ -147,44 +146,43 @@ task copyLibzimHeaderAndSoFiles(type: Copy) {
147146
148147 copy {
149148 // copying linux_x86_64 so file
150- project. ext. set(" libzim_version" , getFileFromFolder(buildDir. path + " /libzim_linux-x86_64-bionic/lib/x86_64-linux-gnu/" ))
151- from buildDir. path + " /libzim_linux-x86_64-bionic/lib/x86_64-linux-gnu/" + libzim_version
149+ from buildDir. path + " /libzim_linux-x86_64-bionic/lib/x86_64-linux-gnu/libzim.so." + libzim_version
152150 into buildDir. path
153151 }
154152}
155153
156154task renameLibzimSoFile (type : Copy ) {
157155 if (libzim_version != null ) {
158156 from(buildDir. path)
159- include libzim_version
157+ include " libzim.so. " + libzim_version
160158 destinationDir file(buildDir. path)
161- rename libzim_version, " libzim.so"
159+ rename " libzim.so. " + libzim_version, " libzim.so"
162160 }
163161}
164162
165163task downloadLibkiwixSoAndHeaderFiles (type : Download ) {
166164 src([
167- libkiwix_base_url + ' / libkiwix_android-arm.tar.gz' ,
168- libkiwix_base_url + ' / libkiwix_android-arm64.tar.gz' ,
169- libkiwix_base_url + ' / libkiwix_android-x86.tar.gz' ,
170- libkiwix_base_url + ' / libkiwix_android-x86_64.tar.gz' ,
171- libkiwix_base_url + ' / libkiwix_linux-x86_64.tar.gz'
165+ libkiwix_base_url + ' libkiwix_android-arm- ' + libkiwix_version + ' .tar.gz' ,
166+ libkiwix_base_url + ' libkiwix_android-arm64- ' + libkiwix_version + ' .tar.gz' ,
167+ libkiwix_base_url + ' libkiwix_android-x86- ' + libkiwix_version + ' .tar.gz' ,
168+ libkiwix_base_url + ' libkiwix_android-x86_64- ' + libkiwix_version + ' .tar.gz' ,
169+ libkiwix_base_url + ' libkiwix_linux-x86_64- ' + libkiwix_version + ' .tar.gz'
172170 ])
173171 dest buildDir
174172 overwrite true
175173}
176174
177175task renameLibkiwixFolders () {
178- removeDateFromFolderName (buildDir. path," libkiwix_" )
176+ removeVersionFromFolderName (buildDir. path, " libkiwix_" , libkiwix_version )
179177}
180178
181- static void removeDateFromFolderName (String path , String startWith ) {
179+ static void removeVersionFromFolderName (String path , String startWith , String version ) {
182180 File directory = new File (path)
183181 if (directory. exists() && directory. isDirectory()) {
184182 Arrays . stream(directory. listFiles())
185183 .filter(folder -> folder. isDirectory() && folder. getName(). startsWith(startWith))
186184 .forEach(file -> {
187- String newName = file. getName(). replaceAll (" -\\ d{4}- \\ d{2}- \\ d{2} " , " " )
185+ String newName = file. getName(). replace (" -" + version , " " )
188186 File newFile = new File (directory, newName)
189187 file. renameTo(newFile)
190188 })
@@ -193,19 +191,19 @@ static void removeDateFromFolderName(String path, String startWith) {
193191
194192task unzipLibkiwix (type : Copy ) {
195193 // unzip android arm
196- from tarTree(buildDir. path + " /libkiwix_android-arm.tar.gz" )
194+ from tarTree(buildDir. path + " /libkiwix_android-arm- " + libkiwix_version + " .tar.gz" )
197195 into buildDir
198196 // unzip android arm64
199- from tarTree(buildDir. path + " /libkiwix_android-arm64.tar.gz" )
197+ from tarTree(buildDir. path + " /libkiwix_android-arm64- " + libkiwix_version + " .tar.gz" )
200198 into buildDir
201199 // unzip android x86
202- from tarTree(buildDir. path + " /libkiwix_android-x86.tar.gz" )
200+ from tarTree(buildDir. path + " /libkiwix_android-x86- " + libkiwix_version + " .tar.gz" )
203201 into buildDir
204202 // unzip android x86_64
205- from tarTree(buildDir. path + " /libkiwix_android-x86_64.tar.gz" )
203+ from tarTree(buildDir. path + " /libkiwix_android-x86_64- " + libkiwix_version + " .tar.gz" )
206204 into buildDir
207205 // unzip linux x86_64
208- from tarTree(buildDir. path + " /libkiwix_linux-x86_64.tar.gz" )
206+ from tarTree(buildDir. path + " /libkiwix_linux-x86_64- " + libkiwix_version + " .tar.gz" )
209207 into buildDir
210208}
211209
@@ -242,28 +240,17 @@ task copyLibkiwixHeaderAndSoFiles(type: Copy) {
242240
243241 copy {
244242 // copying linux_x86_64 so file
245- project. ext. set(" libkiwix_version" , getFileFromFolder(buildDir. path + " /libkiwix_linux-x86_64/lib/x86_64-linux-gnu/" ))
246- from buildDir. path + " /libkiwix_linux-x86_64/lib/x86_64-linux-gnu/" + libkiwix_version
243+ from buildDir. path + " /libkiwix_linux-x86_64/lib/x86_64-linux-gnu/libkiwix.so." + libkiwix_version
247244 into buildDir. path
248245 }
249246}
250247
251- static String getFileFromFolder (String path ) {
252- File folderFile = new File (path)
253- if (folderFile. exists()) {
254- return folderFile. listFiles()
255- .stream()
256- .filter(f -> f. length() > 0 )
257- .collect(Collectors . toList())[0 ]. name
258- }
259- }
260-
261248task renameLibkiwixSoFile (type : Copy ) {
262249 if (libkiwix_version != null ) {
263250 from(buildDir. path)
264- include libkiwix_version
251+ include " libkiwix.so. " + libkiwix_version
265252 destinationDir file(buildDir. path)
266- rename libkiwix_version, " libkiwix.so"
253+ rename " libkiwix.so. " + libkiwix_version, " libkiwix.so"
267254 }
268255}
269256
0 commit comments