Adapt build system

- Build everything in buildDir instead of copy/generate things in src.
This commit is contained in:
Matthieu Gautier 2022-12-19 17:46:34 +01:00
parent 3b4ca8a3d2
commit f7f6d5628d
5 changed files with 18 additions and 17 deletions

5
build.sh Normal file → Executable file
View File

@ -1,10 +1,11 @@
#!/bin/bash
set -e
Green='\e[32m'
NC='\033[0m' # No Color
cd android-libkiwixbuild/
printf "${Green}Check Current Java version${NC}\n"
./gradlew checkCurrentJavaVersion
printf "\n${Green}Done! ${NC}\n"

View File

@ -39,7 +39,7 @@ android {
externalNativeBuild {
cmake {
cppFlags ''
arguments "-DANDROID_STL=c++_shared"
arguments "-DANDROID_STL=c++_shared", "-DBUILD_DIR=${buildDir}"
}
}
}
@ -59,7 +59,7 @@ android {
}
externalNativeBuild {
cmake {
path file('src/main/cpp/CMakeLists.txt')
path file('src/cpp/CMakeLists.txt')
version '3.18.1'
}
}
@ -121,31 +121,31 @@ task unzipLibzim(type: Copy) {
task copyLibzimHeaderFiles(type: Copy) {
// copying header file
from buildDir.path + "/libzim_android-arm-" + nightly_date_for_libzim + '/include/'
into projectDir.path + "/src/main/cpp/include/libzim/"
into buildDir.path + "/include/libzim/"
}
task copyLibzimAndroidArm(type: Copy) {
// copying android_arm so file
from buildDir.path + "/libzim_android-arm-" + nightly_date_for_libzim + '/lib/arm-linux-androideabi/'
into projectDir.path + "/src/main/jniLibs/armeabi-v7a/libzim/"
into buildDir.path + "/jniLibs/armeabi-v7a/libzim/"
}
task copyLibzimAndroidArm64(type: Copy) {
// copying android_arm64 so file
from buildDir.path + "/libzim_android-arm64-" + nightly_date_for_libzim + '/lib/aarch64-linux-android/'
into projectDir.path + "/src/main/jniLibs/arm64-v8a/libzim/"
into buildDir.path + "/jniLibs/arm64-v8a/libzim/"
}
task copyLibzimAndroidx86(type: Copy) {
// copying android_x86 so file
from buildDir.path + "/libzim_android-x86-" + nightly_date_for_libzim + '/lib/i686-linux-android/'
into projectDir.path + "/src/main/jniLibs/x86/libzim/"
into buildDir.path + "/jniLibs/x86/libzim/"
}
task copyLibzimAndroidx86_64(type: Copy) {
// copying android_x86_64 so file
from buildDir.path + "/libzim_android-x86_64-" + nightly_date_for_libzim + '/lib/x86_64-linux-android/'
into projectDir.path + "/src/main/jniLibs/x86_64/libzim/"
into buildDir.path + "/jniLibs/x86_64/libzim/"
}
task copyLibzimLinux_x86_64(type: Copy) {
@ -212,31 +212,31 @@ task unzipLibkiwix(type: Copy) {
task copyLibkiwixHeaderFiles(type: Copy) {
// copying header file
from buildDir.path + "/libkiwix_android-arm-" + nightly_date_for_libkiwix + '/include/kiwix/'
into projectDir.path + "/src/main/cpp/include/libkiwix/"
into buildDir.path + "/include/libkiwix/"
}
task copyLibkiwixAndroidArm(type: Copy) {
// copying android_arm so file
from buildDir.path + "/libkiwix_android-arm-" + nightly_date_for_libkiwix + '/lib/arm-linux-androideabi/'
into projectDir.path + "/src/main/jniLibs/armeabi-v7a/libkiwix/"
into buildDir.path + "/jniLibs/armeabi-v7a/libkiwix/"
}
task copyLibkiwixAndroidArm64(type: Copy) {
// copying android_arm64 so file
from buildDir.path + "/libkiwix_android-arm64-" + nightly_date_for_libkiwix + '/lib/aarch64-linux-android/'
into projectDir.path + "/src/main/jniLibs/arm64-v8a/libkiwix/"
into buildDir.path + "/jniLibs/arm64-v8a/libkiwix/"
}
task copyLibkiwixAndroidx86(type: Copy) {
// copying android_x86 so file
from buildDir.path + "/libkiwix_android-x86-" + nightly_date_for_libkiwix + '/lib/i686-linux-android/'
into projectDir.path + "/src/main/jniLibs/x86/libkiwix/"
into buildDir.path + "/jniLibs/x86/libkiwix/"
}
task copyLibkiwixAndroidx86_64(type: Copy) {
// copying android_x86_64 so file
from buildDir.path + "/libkiwix_android-x86_64-" + nightly_date_for_libkiwix + '/lib/x86_64-linux-android/'
into projectDir.path + "/src/main/jniLibs/x86_64/libkiwix/"
into buildDir.path + "/jniLibs/x86_64/libkiwix/"
}
task copyLibkiwixLinux_x86_64(type: Copy) {
@ -285,5 +285,5 @@ task checkCurrentJavaVersion() {
task generateHeaderFilesFromJavaWrapper(type: Exec) {
workingDir "${projectDir}/src/main/java/org/kiwix/"
commandLine 'bash', '-c', "javac -h ${projectDir}/src/main/cpp/include/javah_generated/ -d ${projectDir}/src/androidTests/java/org/kiwix/kiwixlib/ kiwixlib/Book.java kiwixlib/DirectAccessInfo.java kiwixlib/Filter.java kiwixlib/JNIICU.java kiwixlib/JNIKiwixBool.java kiwixlib/JNIKiwixException.java kiwixlib/JNIKiwixInt.java kiwixlib/JNIKiwixReader.java kiwixlib/JNIKiwixSearcher.java kiwixlib/JNIKiwixServer.java kiwixlib/JNIKiwixString.java kiwixlib/Library.java kiwixlib/Manager.java"
commandLine 'bash', '-c', "javac -h ${buildDir}/include/javah_generated/ -d ${buildDir}/kiwixlib/ kiwixlib/Book.java kiwixlib/DirectAccessInfo.java kiwixlib/Filter.java kiwixlib/JNIICU.java kiwixlib/JNIKiwixBool.java kiwixlib/JNIKiwixException.java kiwixlib/JNIKiwixInt.java kiwixlib/JNIKiwixReader.java kiwixlib/JNIKiwixSearcher.java kiwixlib/JNIKiwixServer.java kiwixlib/JNIKiwixString.java kiwixlib/Library.java kiwixlib/Manager.java"
}

View File

@ -6,4 +6,4 @@ dependencyResolutionManagement {
}
}
rootProject.name = "java-libkiwix"
include ':src'
include 'lib'