Biblib/app/build.gradle
Andres Gomez, Thomas (ITDV RL) 15eb013579 Migrate from glide to coil.
2024-06-27 15:13:13 +02:00

169 lines
No EOL
5.7 KiB
Groovy

plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
id 'dagger.hilt.android.plugin'
id 'org.jetbrains.kotlin.android'
}
android {
compileSdk 34
namespace 'com.pixelized.biblib'
signingConfigs {
pixelized {
storeFile file(project.properties["PIXELIZED_RELEASE_STORE_FILE"])
storePassword project.properties["PIXELIZED_RELEASE_STORE_PASSWORD"]
keyAlias project.properties["PIXELIZED_RELEASE_KEY_ALIAS"]
keyPassword project.properties["PIXELIZED_RELEASE_KEY_PASSWORD"]
}
}
defaultConfig {
applicationId "com.pixelized.biblib"
minSdk 26
targetSdk 34
versionCode generateVersionCode()
versionName "0.1.6"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary true
}
javaCompileOptions {
annotationProcessorOptions {
arguments += [
"room.schemaLocation" : "$projectDir/schemas".toString(),
"room.incremental" : "true",
"room.expandProjection": "true"
]
}
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
signingConfig signingConfigs.pixelized
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
signingConfig signingConfigs.pixelized
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose true
buildConfig = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.11"
}
packagingOptions {
resources {
pickFirsts += "**/kotlinx_coroutines_core.version"
excludes += '/META-INF/{AL2.0,LGPL2.1}'
}
}
lint {
disable 'MissingTranslation'
}
}
dependencies {
// Android core
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.2'
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.8.2"
// Android Compose
implementation "androidx.compose.ui:ui:1.6.8"
implementation "androidx.compose.ui:ui-util:1.6.8"
implementation "androidx.compose.foundation:foundation:1.6.8"
implementation "androidx.compose.material:material:1.6.8"
implementation "androidx.compose.runtime:runtime-livedata:1.6.8"
implementation "androidx.compose.ui:ui-tooling-preview:1.6.8"
debugImplementation "androidx.compose.ui:ui-tooling:1.6.8"
// Android Compose extension
implementation "androidx.constraintlayout:constraintlayout-compose:1.0.1"
implementation 'androidx.activity:activity-compose:1.9.0'
implementation "androidx.paging:paging-compose:3.3.0"
// Material design
implementation 'com.google.android.material:material:1.12.0'
implementation "androidx.compose.material:material-icons-core:1.6.8"
implementation "androidx.compose.material:material-icons-extended:1.6.8"
// Injection
implementation 'androidx.hilt:hilt-navigation-compose:1.2.0'
implementation "com.google.dagger:hilt-android:2.51.1"
kapt "com.google.dagger:hilt-compiler:2.51.1"
// Accompanist
implementation "com.google.accompanist:accompanist-navigation-material:0.34.0"
implementation "com.google.accompanist:accompanist-systemuicontroller:0.34.0"
implementation "com.google.accompanist:accompanist-pager-indicators:0.34.0"
implementation "com.google.accompanist:accompanist-drawablepainter:0.34.0"
implementation "com.google.accompanist:accompanist-placeholder-material:0.34.0"
implementation "com.google.accompanist:accompanist-swiperefresh:0.34.0"
// Landscapist
implementation("io.coil-kt:coil-compose:2.6.0")
// Reorder element in lazylist
implementation "org.burnoutcrew.composereorderable:reorderable:0.9.6"
// Navigation
implementation "androidx.navigation:navigation-compose:2.7.7"
// Splash Screen support prior to Android 12
implementation "androidx.core:core-splashscreen:1.0.1"
// Google sign in.
implementation "com.google.android.gms:play-services-auth:21.2.0"
// Firebase
implementation platform('com.google.firebase:firebase-bom:33.1.1')
implementation 'com.google.firebase:firebase-crashlytics'
// RetroFit & Gson for webservice call
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.google.code.gson:gson:2.10.1'
// Logging Network Calls
implementation "com.squareup.okhttp3:logging-interceptor:4.11.0"
// Room
implementation "androidx.room:room-runtime:2.6.1"
implementation "androidx.room:room-ktx:2.6.1"
kapt "androidx.room:room-compiler:2.6.1"
}
static def generateVersionCode() {
def result = "git rev-list HEAD --count".execute().text.trim() //unix
if (result.empty) result = "PowerShell -Command git rev-list HEAD --count".execute().text.trim()
//windows
if (result.empty) throw new RuntimeException("Could not generate versioncode on this platform? Cmd output: ${result.text}")
return result.toInteger()
}