mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-06-20 20:05:44 +02:00
132 lines
4.7 KiB
Groovy
132 lines
4.7 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'kotlin-android'
|
|
id 'kotlin-kapt'
|
|
}
|
|
|
|
kotlin {
|
|
kotlinDaemonJvmArgs = [
|
|
"-Dfile.encoding=UTF-8",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
|
|
"--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"
|
|
]
|
|
|
|
jvmToolchain(17)
|
|
}
|
|
|
|
android {
|
|
namespace 'com.audiobookshelf.app'
|
|
buildFeatures {
|
|
viewBinding true
|
|
buildConfig true
|
|
}
|
|
kotlinOptions {
|
|
freeCompilerArgs = ['-Xjvm-default=all']
|
|
}
|
|
compileSdk rootProject.ext.compileSdkVersion
|
|
defaultConfig {
|
|
applicationId "com.audiobookshelf.app"
|
|
minSdkVersion rootProject.ext.minSdkVersion
|
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
|
versionCode 112
|
|
versionName "0.9.81-beta"
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
manifestPlaceholders = [
|
|
"appAuthRedirectScheme": "com.audiobookshelf.app"
|
|
]
|
|
aaptOptions {
|
|
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
|
// Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
|
|
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
|
}
|
|
}
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix ".debug"
|
|
versionNameSuffix "-debug"
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
flatDir {
|
|
dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs'
|
|
}
|
|
mavenCentral()
|
|
}
|
|
|
|
configurations.configureEach {
|
|
resolutionStrategy {
|
|
force("com.google.android.gms:play-services-base:18.0.1")
|
|
force("androidx.appcompat:appcompat:$androidxAppCompatVersion")
|
|
force("androidx.core:core-ktx:$androidx_core_ktx_version")
|
|
force("androidx.media:media:$androidx_media_version")
|
|
force("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version")
|
|
force("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version")
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion"
|
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
|
|
implementation project(':capacitor-android')
|
|
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
|
|
implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion"
|
|
|
|
implementation project(':capacitor-cordova-android-plugins')
|
|
|
|
implementation "androidx.core:core-ktx:$androidx_core_ktx_version"
|
|
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
|
|
|
|
implementation "androidx.media:media:$androidx_media_version"
|
|
|
|
// Exo Player
|
|
if (findProject(':exoplayer-library-core') != null) {
|
|
implementation project(':exoplayer-library-core')
|
|
implementation project(':exoplayer-library-ui')
|
|
implementation project(':exoplayer-extension-mediasession')
|
|
implementation project(':exoplayer-extension-cast')
|
|
implementation project(':exoplayer-hls')
|
|
} else {
|
|
implementation "com.google.android.exoplayer:exoplayer-core:$exoplayer_version"
|
|
implementation "com.google.android.exoplayer:exoplayer-ui:$exoplayer_version"
|
|
implementation "com.google.android.exoplayer:extension-mediasession:$exoplayer_version"
|
|
implementation "com.google.android.exoplayer:extension-cast:$exoplayer_version"
|
|
implementation "com.google.android.exoplayer:exoplayer-hls:$exoplayer_version"
|
|
}
|
|
|
|
// Glide for images
|
|
implementation "com.github.bumptech.glide:glide:$glide_version"
|
|
|
|
// Paper NoSQL Db
|
|
implementation 'io.github.pilgr:paperdb:2.7.2'
|
|
|
|
// Simple Storage
|
|
implementation "com.anggrayudi:storage:1.5.6"
|
|
|
|
// OK HTTP
|
|
implementation 'com.squareup.okhttp3:okhttp:4.9.2'
|
|
|
|
// Jackson for JSON
|
|
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.12.2'
|
|
}
|
|
|
|
apply from: 'capacitor.build.gradle'
|