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 = "3.3.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 }