Files
alfred-android/navi-alfred/build.gradle
2024-12-15 06:19:03 -08:00

96 lines
2.5 KiB
Groovy

plugins {
alias libs.plugins.android.library
alias libs.plugins.kotlin.android
alias libs.plugins.kotlin.parcelize
alias libs.plugins.ksp
alias libs.plugins.maven.publish
}
def VERSION = "2.1.0"
android {
namespace 'com.navi.alfred'
compileSdk 35
defaultConfig {
minSdk 24
targetSdk 34
consumerProguardFiles "consumer-rules.pro"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildFeatures {
buildConfig true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
freeCompilerArgs += ["-Xstring-concat=inline"]
jvmTarget = '17'
}
}
publishing {
repositories {
if (project.hasProperty('NEXUS_URL')
&& project.hasProperty('NEXUS_USERNAME')
&& project.hasProperty('NEXUS_PASSWORD')) {
maven {
url = "$NEXUS_URL"
credentials {
username = "$NEXUS_USERNAME"
password = "$NEXUS_PASSWORD"
}
}
}
}
publications {
if (project.hasProperty('NEXUS_URL')) {
maven(MavenPublication) {
if ("$NEXUS_URL".contains("maven-releases")) {
version = "$VERSION"
} else {
version = "$VERSION-SNAPSHOT"
}
artifactId = "alfred"
groupId = "com.navi.android"
artifact("build/outputs/aar/navi-alfred-${BUILD_TYPE}.aar")
}
}
}
}
dependencies {
api platform(libs.firebase.bom)
api libs.firebase.analytics
api libs.firebase.crashlytics
api libs.logging.interceptor
api libs.retrofit.converter.gson
api libs.retrofit.retrofit
implementation libs.android.material
implementation libs.androidx.appcompat
implementation libs.androidx.core.ktx
implementation libs.androidx.room.ktx
implementation libs.androidx.room.runtime
implementation libs.androidx.workRuntime.ktx
implementation libs.gson
implementation libs.jakewharton.timber
debugImplementation libs.chucker.library
releaseImplementation libs.chucker.libraryNoOp
ksp libs.androidx.room.compiler
}