mirror of
https://github.com/kiwix/java-libkiwix.git
synced 2025-08-03 11:06:15 -04:00
Added support for SDK 34.
* Upgraded the gradle to support the Android 14. * Made the changes in code to adapt the new gradle. * Rectify the deprecated code that are not working in new version of gradle.
This commit is contained in:
parent
40f17fd0e6
commit
ab98924400
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -15,11 +15,11 @@ jobs:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up JDK 11
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: adopt
|
||||
java-version: 11
|
||||
java-version: 17
|
||||
|
||||
- name: Install dependencies
|
||||
run: bash ./install_deps.sh
|
||||
|
@ -6,8 +6,8 @@ buildscript {
|
||||
maven { url 'https://plugins.gradle.org/m2/' }
|
||||
}
|
||||
dependencies {
|
||||
classpath "com.android.tools.build:gradle:7.0.1"
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
|
||||
classpath "com.android.tools.build:gradle:8.1.0-alpha10"
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20"
|
||||
classpath 'io.github.gradle-nexus:publish-plugin:1.1.0'
|
||||
classpath 'de.undercouch:gradle-download-task:5.3.0'
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
@ -17,7 +17,7 @@ buildscript {
|
||||
|
||||
apply plugin: 'io.github.gradle-nexus.publish-plugin'
|
||||
|
||||
task clean(type: Delete) {
|
||||
tasks.register('clean', Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
#Fri Aug 12 19:44:15 IST 2022
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
@ -28,12 +28,12 @@ ext.libzim_version = "9.2.1"
|
||||
|
||||
apply from: 'publish.gradle'
|
||||
android {
|
||||
compileSdk 32
|
||||
|
||||
compileSdk 34
|
||||
namespace = "kiwix.org.kiwixlib"
|
||||
defaultConfig {
|
||||
|
||||
minSdk 21
|
||||
targetSdk 32
|
||||
minSdk 25
|
||||
targetSdk 34
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
@ -79,7 +79,7 @@ dependencies {
|
||||
ext.libkiwix_base_url = 'https://download.kiwix.org/release/libkiwix/'
|
||||
ext.libzim_base_url = 'https://download.openzim.org/release/libzim/'
|
||||
|
||||
task downloadLibzimSoAndHeaderFiles(type: Download) {
|
||||
tasks.register('downloadLibzimSoAndHeaderFiles', Download) {
|
||||
src([
|
||||
libzim_base_url + 'libzim_android-arm-' + libzim_version + '.tar.gz',
|
||||
libzim_base_url + 'libzim_android-arm64-' + libzim_version + '.tar.gz',
|
||||
@ -91,7 +91,8 @@ task downloadLibzimSoAndHeaderFiles(type: Download) {
|
||||
overwrite true
|
||||
}
|
||||
|
||||
task unzipLibzim(type: Copy) {
|
||||
tasks.register('unzipLibzim', Copy) {
|
||||
mustRunAfter downloadLibzimSoAndHeaderFiles
|
||||
// unzip android arm
|
||||
from tarTree(buildDir.path + "/libzim_android-arm-" + libzim_version + ".tar.gz")
|
||||
into buildDir
|
||||
@ -109,11 +110,11 @@ task unzipLibzim(type: Copy) {
|
||||
into buildDir
|
||||
}
|
||||
|
||||
task renameLibzimFolders() {
|
||||
tasks.register('renameLibzimFolders') {
|
||||
removeVersionFromFolderName(buildDir.path, "libzim_", libzim_version)
|
||||
}
|
||||
|
||||
task copyLibzimHeaderAndSoFiles(type: Copy) {
|
||||
tasks.register('copyLibzimHeaderAndSoFiles', Copy) {
|
||||
copy {
|
||||
// copying header file
|
||||
from buildDir.path + "/libzim_android-arm/include/"
|
||||
@ -151,7 +152,7 @@ task copyLibzimHeaderAndSoFiles(type: Copy) {
|
||||
}
|
||||
}
|
||||
|
||||
task renameLibzimSoFile(type: Copy) {
|
||||
tasks.register('renameLibzimSoFile', Copy) {
|
||||
if (libzim_version != null) {
|
||||
def finalLibzimVersion = getActualLibraryVersion(libzim_version)
|
||||
|
||||
@ -167,7 +168,7 @@ task renameLibzimSoFile(type: Copy) {
|
||||
}
|
||||
}
|
||||
|
||||
task downloadLibkiwixSoAndHeaderFiles(type: Download) {
|
||||
tasks.register('downloadLibkiwixSoAndHeaderFiles', Download) {
|
||||
src([
|
||||
libkiwix_base_url + 'libkiwix_android-arm-' + libkiwix_version + '.tar.gz',
|
||||
libkiwix_base_url + 'libkiwix_android-arm64-' + libkiwix_version + '.tar.gz',
|
||||
@ -179,7 +180,7 @@ task downloadLibkiwixSoAndHeaderFiles(type: Download) {
|
||||
overwrite true
|
||||
}
|
||||
|
||||
task renameLibkiwixFolders() {
|
||||
tasks.register('renameLibkiwixFolders') {
|
||||
removeVersionFromFolderName(buildDir.path, "libkiwix_", libkiwix_version)
|
||||
}
|
||||
|
||||
@ -196,7 +197,8 @@ static void removeVersionFromFolderName(String path, String startWith, String ve
|
||||
}
|
||||
}
|
||||
|
||||
task unzipLibkiwix(type: Copy) {
|
||||
tasks.register('unzipLibkiwix', Copy) {
|
||||
mustRunAfter downloadLibkiwixSoAndHeaderFiles
|
||||
// unzip android arm
|
||||
from tarTree(buildDir.path + "/libkiwix_android-arm-" + libkiwix_version + ".tar.gz")
|
||||
into buildDir
|
||||
@ -214,7 +216,7 @@ task unzipLibkiwix(type: Copy) {
|
||||
into buildDir
|
||||
}
|
||||
|
||||
task copyLibkiwixHeaderAndSoFiles(type: Copy) {
|
||||
tasks.register('copyLibkiwixHeaderAndSoFiles', Copy) {
|
||||
copy {
|
||||
// copying header file
|
||||
from buildDir.path + "/libkiwix_android-arm/include/kiwix/"
|
||||
@ -252,7 +254,7 @@ task copyLibkiwixHeaderAndSoFiles(type: Copy) {
|
||||
}
|
||||
}
|
||||
|
||||
task renameLibkiwixSoFile(type: Copy) {
|
||||
tasks.register('renameLibkiwixSoFile', Copy) {
|
||||
if (libkiwix_version != null) {
|
||||
def finalLibkiwixVersion = getActualLibraryVersion(libkiwix_version)
|
||||
def sourceFile = file(buildDir.path + "/libkiwix.so." + finalLibkiwixVersion)
|
||||
@ -277,23 +279,23 @@ static String getActualLibraryVersion(String libraryVersion) {
|
||||
return dashIndex != -1 ? libraryVersion.substring(0, dashIndex) : libraryVersion
|
||||
}
|
||||
|
||||
task testSourceJar(type: Jar) {
|
||||
tasks.register('testSourceJar', Jar) {
|
||||
from android.sourceSets.test.java.srcDirs
|
||||
archiveName = 'test-sources.jar'
|
||||
archiveBaseName = 'test-sources'
|
||||
}
|
||||
|
||||
task compileTestFile(type: JavaCompile) {
|
||||
tasks.register('compileTestFile', JavaCompile) {
|
||||
dependsOn testSourceJar
|
||||
source = file('src/test')
|
||||
destinationDirectory = file("$buildDir")
|
||||
classpath = files("src/test/junit-4.13.jar" , "src/test/hamcrest-core-1.4.jar", "build/libs/test-sources.jar")
|
||||
classpath = files("src/test/junit-4.13.jar", "src/test/hamcrest-core-1.4.jar", "build/libs/test-sources-${VERSION}.jar")
|
||||
}
|
||||
|
||||
task runTests(type: JavaExec) {
|
||||
tasks.register('runTests', JavaExec) {
|
||||
workingDir("$projectDir/src/test/")
|
||||
dependsOn compileTestFile
|
||||
classpath = files("$buildDir", 'src/test/java/', 'src/test/junit-4.13.jar', 'src/test/hamcrest-core-1.3.jar')
|
||||
main = 'org.junit.runner.JUnitCore'
|
||||
mainClass = 'org.junit.runner.JUnitCore'
|
||||
args = ['test']
|
||||
jvmArgs = [
|
||||
'-Djava.library.path=' + buildDir.path,
|
||||
@ -301,11 +303,11 @@ task runTests(type: JavaExec) {
|
||||
]
|
||||
}
|
||||
|
||||
task createCodeCoverageReport(type: JavaExec) {
|
||||
tasks.register('createCodeCoverageReport', JavaExec) {
|
||||
workingDir "${projectDir}/src/test/"
|
||||
dependsOn runTests
|
||||
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/*')
|
||||
main = 'org.jacoco.cli.internal.Main'
|
||||
mainClass = 'org.jacoco.cli.internal.Main'
|
||||
args = [
|
||||
'report', '../../build/jacoco/jacoco.exec',
|
||||
'--classfiles', 'java/org/kiwix', '--classfiles', '../../build/org/kiwix',
|
||||
@ -313,14 +315,14 @@ task createCodeCoverageReport(type: JavaExec) {
|
||||
]
|
||||
}
|
||||
|
||||
task checkCurrentJavaVersion() {
|
||||
if (JavaVersion.current() != JavaVersion.VERSION_11) {
|
||||
throw new RuntimeException("This build must be run with java 11. your current java version is ${JavaVersion.current()}")
|
||||
tasks.register('checkCurrentJavaVersion') {
|
||||
if (JavaVersion.current() != JavaVersion.VERSION_17) {
|
||||
throw new RuntimeException("This build must be run with java 17. your current java version is ${JavaVersion.current()}")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
task buildHeaders(type: Exec) {
|
||||
tasks.register('buildHeaders', Exec) {
|
||||
workingDir "${projectDir}/src/main/java/org/kiwix/"
|
||||
commandLine 'bash', '-c', "javac -h ${buildDir}/include/javah_generated/ -d ${projectDir}/src/test/java/ ${getLibzimFiles()} ${getLibkiwixFiles()}"
|
||||
}
|
||||
@ -358,7 +360,7 @@ String getLibzimFiles() {
|
||||
"${projectDir}/src/main/java/org/kiwix/libzim/FdInput.java"
|
||||
}
|
||||
|
||||
task buildLinuxBinding(type: Exec) {
|
||||
tasks.register('buildLinuxBinding', Exec) {
|
||||
workingDir "${projectDir}/src/main/cpp/"
|
||||
commandLine 'bash', '-c', "cmake . -B ${buildDir} && make -C ${buildDir}"
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
apply plugin: 'maven-publish'
|
||||
apply plugin: 'signing'
|
||||
|
||||
task androidSourcesJar(type: Jar) {
|
||||
tasks.register('androidSourcesJar', Jar) {
|
||||
archiveClassifier.set('sources')
|
||||
if (project.plugins.findPlugin("com.android.library")) {
|
||||
// For Android libraries
|
||||
|
@ -1,7 +1,4 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
||||
package="kiwix.org.kiwixlib"
|
||||
>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<application android:allowBackup="true"
|
||||
android:label="@string/app_name"
|
||||
|
Loading…
x
Reference in New Issue
Block a user