kiwix-android/core/build.gradle.kts
MohitMaliFtechiz 7a10528d19 Added the com.squareup.retrofit2:converter-scalars converter to Retrofit to parse OPDS network responses.
* Created `LibkiwixBook` to wrap the `Book` class from `libkiwix`, allowing us to set custom values from the database and manage books received from the `OPDS` stream. This wrapper is necessary because the original Book class does not provide setters. We'll use `LibkiwixBook` throughout the codebase.
* Refactored the codebase to replace `LibraryNetworkEntity.Book` with `LibkiwixBook`.
2025-06-04 22:16:09 +05:30

72 lines
1.8 KiB
Plaintext

import plugin.KiwixConfigurationPlugin
buildscript {
repositories {
google()
mavenCentral()
maven { setUrl("https://jitpack.io") }
}
dependencies {
classpath(Libs.objectbox_gradle_plugin)
}
}
plugins {
`android-library`
}
plugins.apply(KiwixConfigurationPlugin::class)
apply(plugin = "io.objectbox")
android {
defaultConfig {
buildConfigField("long", "VERSION_CODE", "".getVersionCode().toString())
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
}
}
}
fun shouldUseLocalVersion() = File(projectDir, "libs").exists()
dependencies {
// use jdk8 java.time backport, as long app < Build.VERSION_CODES.O
implementation(Libs.threetenabp)
// Get kiwixlib online if it is not populated locally
if (!shouldUseLocalVersion()) {
api(Libs.libkiwix)
} else {
implementation("com.getkeepsafe.relinker:relinker:1.4.5")
api(fileTree(mapOf("include" to "*.aar", "dir" to "libs")))
}
// Document File
implementation(Libs.select_folder_document_file)
// Square
implementation(Libs.converter_scalars) {
exclude(group = "xpp3", module = "xpp3")
exclude(group = "stax", module = "stax-api")
exclude(group = "stax", module = "stax")
}
implementation(Libs.converter_simplexml) {
exclude(group = "xpp3", module = "xpp3")
exclude(group = "stax", module = "stax-api")
exclude(group = "stax", module = "stax")
}
// Leak canary
debugImplementation(Libs.leakcanary_android)
implementation(Libs.android_arch_lifecycle_extensions)
implementation(Libs.objectbox_kotlin)
implementation(Libs.webkit)
testImplementation(Libs.kotlinx_coroutines_test)
implementation(Libs.kotlinx_coroutines_android)
implementation(Libs.zxing)
testImplementation(Libs.TURBINE_FLOW_TEST)
}