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 }