Files
alfred-android/navi-alfred/build.gradle
2024-01-04 17:55:52 +05:30

119 lines
3.4 KiB
Groovy

plugins {
alias libs.plugins.android.library
alias libs.plugins.kotlin.android
alias libs.plugins.kotlin.parcelize
alias libs.plugins.ksp
id 'maven-publish'
}
def VERSION = "1.0.20"
android {
namespace 'com.navi.alfred'
compileSdk 34
defaultConfig {
minSdk 21
targetSdk 33
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
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 {
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) {
artifactId = "alfred"
groupId = "com.navi.android"
if ("$IS_SNAPSHOT" == "false") {
version = "$VERSION"
println("https://nexus.cmd.navi-tech.in/#browse/browse:maven-releases:com%2Fnavi%2Fandroid%2Falfred%2F$version")
} else {
version = "$VERSION-SNAPSHOT"
println("https://nexus.cmd.navi-tech.in/#browse/browse:maven-snapshots:com%2Fnavi%2Fandroid%2Falfred%2F$version")
}
artifact("build/outputs/aar/navi-alfred-release.aar")
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
configurations.implementation.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
}
dependencies {
api platform(libs.firebase.bom)
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
api libs.firebase.analytics
api libs.firebase.crashlytics
api libs.logging.interceptor
api libs.retrofit.converter.gson
api libs.retrofit.retrofit
ksp libs.androidx.room.compiler
androidTestImplementation libs.androidx.test.espresso.core
androidTestImplementation libs.androidx.test.junit
testImplementation libs.androidx.room.testing
testImplementation libs.junit
}