Co-authored-by: himanshu-tanwar_navi <himanshu.tanwar_navi@navi.com> Co-authored-by: Kishan Kumar <kishan.kumar@navi.com> Co-authored-by: Girish Suragani <girish.suragani@navi.com> Co-authored-by: Ujjwal Kumar <ujjwal.kumar@navi.com> Co-authored-by: Hitesh Kumar <hitesh.kumar@navi.com> Co-authored-by: Apoorv Nigam <apoorv.nigam@navi.com> Co-authored-by: Siddiboina Susai <siddiboina.susai@navi.com> Co-authored-by: rahul bhat <rahul.bhat@navi.com> Co-authored-by: Neil Mehta <neil.mehta@navi.com> Co-authored-by: Aparna Vadlamani <aparna.vadlamani@navi.com> Co-authored-by: shankar yadav <shankar.yadav@navi.com> Co-authored-by: Sanjay P <sanjay.p@navi.com> Co-authored-by: Prakhar Saxena <prakhar.saxena@navi.com> Co-authored-by: Aman S <aman.s@navi.com> Co-authored-by: Shivam Goyal <shivam.goyal@navi.com>
362 lines
13 KiB
Groovy
362 lines
13 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'org.jetbrains.kotlin.android'
|
|
id 'org.jetbrains.kotlin.kapt'
|
|
id 'org.jetbrains.kotlin.plugin.parcelize'
|
|
id 'maven-publish'
|
|
id 'com.google.firebase.crashlytics'
|
|
id 'com.google.gms.google-services'
|
|
id 'com.google.firebase.firebase-perf'
|
|
id 'com.google.dagger.hilt.android'
|
|
}
|
|
|
|
kapt {
|
|
correctErrorTypes true
|
|
}
|
|
|
|
def VERSION_CODE = 340
|
|
def VERSION_NAME = "4.0.3"
|
|
|
|
android {
|
|
namespace 'com.naviapp'
|
|
compileSdk 33
|
|
buildToolsVersion "30.0.3"
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
incremental true
|
|
}
|
|
testOptions {
|
|
unitTests.returnDefaultValues = true
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = '1.8'
|
|
}
|
|
lint {
|
|
disable 'NullSafeMutableLiveData'
|
|
}
|
|
defaultConfig {
|
|
applicationId "com.naviapp"
|
|
minSdk 21
|
|
targetSdk 33
|
|
versionCode VERSION_CODE
|
|
versionName VERSION_NAME
|
|
resConfigs "en"
|
|
multiDexEnabled true
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
testInstrumentationRunnerArguments clearPackageData: 'true'
|
|
}
|
|
signingConfigs {
|
|
debug {
|
|
storeFile file('../keystore/navi-debug-key.jks')
|
|
storePassword "android"
|
|
keyAlias "androiddebugkey"
|
|
keyPassword "android"
|
|
}
|
|
release {
|
|
if (project.hasProperty('RELEASE_STORE_PASSWORD')
|
|
&& project.hasProperty('RELEASE_KEY_ALIAS')
|
|
&& project.hasProperty('RELEASE_KEY_PASSWORD')
|
|
) {
|
|
storeFile file("navi-release-key.jks")
|
|
storePassword "$RELEASE_STORE_PASSWORD"
|
|
keyAlias "$RELEASE_KEY_ALIAS"
|
|
keyPassword "$RELEASE_KEY_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
sourceSets {
|
|
dev {
|
|
androidTest {
|
|
java.srcDirs = ['src/androidTestDev/java', 'src/androidTestLibrary/java']
|
|
}
|
|
test {
|
|
java.srcDirs = ['src/test/java']
|
|
}
|
|
}
|
|
release {
|
|
java.srcDirs = ['src/main/java', 'src/release/java']
|
|
}
|
|
debug {
|
|
java.srcDirs = ['src/main/java', 'src/debug/java']
|
|
}
|
|
}
|
|
buildTypes {
|
|
debug {
|
|
versionNameSuffix "-debug"
|
|
testCoverageEnabled = true
|
|
manifestPlaceholders = [branchMode: 'true']
|
|
FirebasePerformance {
|
|
instrumentationEnabled false
|
|
}
|
|
testCoverageEnabled false
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
release {
|
|
debuggable false
|
|
minifyEnabled true
|
|
shrinkResources false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
signingConfig signingConfigs.release
|
|
manifestPlaceholders = [branchMode: 'false']
|
|
}
|
|
}
|
|
buildFeatures {
|
|
dataBinding true
|
|
compose true
|
|
}
|
|
bundle {
|
|
language {
|
|
enableSplit = false
|
|
}
|
|
density {
|
|
enableSplit = true
|
|
}
|
|
abi {
|
|
enableSplit = true
|
|
}
|
|
}
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion kotlin_compiler_extension_version
|
|
}
|
|
flavorDimensions = ["app"]
|
|
productFlavors {
|
|
qa {
|
|
isDefault true
|
|
dimension "app"
|
|
applicationId "com.naviapp.dev"
|
|
buildConfigField 'String', 'BASE_URL', formatString('https://qa-sa.navi.com/')
|
|
buildConfigField 'String', 'MOENGAGE_KEY', formatString('2PDJ4M6TDY7ADQ5N5LU48H9Y')
|
|
buildConfigField 'String', 'APPSFLYER_KEY', formatString('ua6cppJ9oQx7aPQPNyHrHA')
|
|
buildConfigField 'String', 'HYPERVERGE_APP_ID', formatString('2c007b')
|
|
buildConfigField 'String', 'HYPERVERGE_APP_KEY', formatString('c9b1e034f7c8961a3f5b')
|
|
buildConfigField 'String', 'XIAOMI_PUSH_APP_ID', formatString('2882303761521925585')
|
|
buildConfigField 'String', 'XIAOMI_PUSH_APP_KEY', formatString('5692192517585')
|
|
buildConfigField 'String', 'YOUTUBE_KEY', formatString('AIzaSyDlbxag2dCc-a9ac8JTfH3nnVw41pdI-1U')
|
|
buildConfigField 'String', 'SSL_PINNING_KEY', formatString('sha256/nUU7NjGrGo/mxijjsX+MHerUbpIHBidF8LAYOEPFWA8=')
|
|
manifestPlaceholders = [
|
|
TRUECALLER_KEY : "6E6TX0cd28bada2b14cf28534dfce68c6a245",
|
|
FACEBOOK_APP_ID: "0"
|
|
]
|
|
}
|
|
dev {
|
|
dimension "app"
|
|
applicationId "com.naviapp.dev"
|
|
buildConfigField 'String', 'BASE_URL', formatString('https://dev-sa.navi.com/')
|
|
buildConfigField "String", "MOENGAGE_KEY", formatString('2PDJ4M6TDY7ADQ5N5LU48H9Y')
|
|
buildConfigField "String", "APPSFLYER_KEY", formatString('ua6cppJ9oQx7aPQPNyHrHA')
|
|
buildConfigField 'String', 'HYPERVERGE_APP_ID', formatString('2c007b')
|
|
buildConfigField 'String', 'HYPERVERGE_APP_KEY', formatString('c9b1e034f7c8961a3f5b')
|
|
buildConfigField 'String', 'XIAOMI_PUSH_APP_ID', formatString('2882303761521925585')
|
|
buildConfigField 'String', 'XIAOMI_PUSH_APP_KEY', formatString('5692192517585')
|
|
buildConfigField 'String', 'YOUTUBE_KEY', formatString('AIzaSyDlbxag2dCc-a9ac8JTfH3nnVw41pdI-1U')
|
|
buildConfigField 'String', 'SSL_PINNING_KEY', formatString('sha256/4sMl7dWjcM6O5RKWBw3DUpd5Qy5OX5pvcHMKQIF1bgM=')
|
|
manifestPlaceholders = [
|
|
TRUECALLER_KEY : "aBkmX155b2ed283a44b008d62e8975388a4d5",
|
|
FACEBOOK_APP_ID: "0"
|
|
]
|
|
}
|
|
prod {
|
|
dimension "app"
|
|
if (project.hasProperty('BASE_URL')
|
|
&& project.hasProperty('MOENGAGE_KEY')
|
|
&& project.hasProperty('APPSFLYER_KEY')
|
|
&& project.hasProperty('HYPERVERGE_APP_ID')
|
|
&& project.hasProperty('HYPERVERGE_APP_KEY')
|
|
&& project.hasProperty('XIAOMI_PUSH_APP_ID')
|
|
&& project.hasProperty('XIAOMI_PUSH_APP_KEY')
|
|
&& project.hasProperty('YOUTUBE_KEY')
|
|
&& project.hasProperty('SSL_PINNING_KEY')
|
|
&& project.hasProperty('TRUECALLER_KEY')
|
|
&& project.hasProperty('FACEBOOK_APP_ID')
|
|
) {
|
|
buildConfigField 'String', 'BASE_URL', formatString("$BASE_URL")
|
|
buildConfigField 'String', 'MOENGAGE_KEY', formatString("$MOENGAGE_KEY")
|
|
buildConfigField 'String', 'APPSFLYER_KEY', formatString("$APPSFLYER_KEY")
|
|
buildConfigField 'String', 'HYPERVERGE_APP_ID', formatString("$HYPERVERGE_APP_ID")
|
|
buildConfigField 'String', 'HYPERVERGE_APP_KEY', formatString("$HYPERVERGE_APP_KEY")
|
|
buildConfigField 'String', 'XIAOMI_PUSH_APP_ID', formatString("$XIAOMI_PUSH_APP_ID")
|
|
buildConfigField 'String', 'XIAOMI_PUSH_APP_KEY', formatString("$XIAOMI_PUSH_APP_KEY")
|
|
buildConfigField 'String', 'YOUTUBE_KEY', formatString("$YOUTUBE_KEY")
|
|
buildConfigField 'String', 'SSL_PINNING_KEY', formatString("$SSL_PINNING_KEY")
|
|
manifestPlaceholders = [
|
|
TRUECALLER_KEY : "$TRUECALLER_KEY",
|
|
FACEBOOK_APP_ID: "$FACEBOOK_APP_ID"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
packagingOptions {
|
|
resources {
|
|
excludes += ['META-INF']
|
|
}
|
|
}
|
|
repositories {
|
|
flatDir {
|
|
dirs 'libs'
|
|
}
|
|
}
|
|
dynamicFeatures = [':navi_pl_dynamic', ':navi_hl_dynamic']
|
|
}
|
|
|
|
static def formatString(String value) {
|
|
return '"' + value + '"'
|
|
}
|
|
|
|
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('FLAVOR')) {
|
|
maven(MavenPublication) {
|
|
artifactId = "$FLAVOR"
|
|
groupId = "com.naviapp"
|
|
version = "navi_v$VERSION_NAME"
|
|
|
|
artifact("build/outputs/bundle/prodRelease/app-prod-release.aab")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation platform("androidx.compose:compose-bom:$compose_bom_version")
|
|
|
|
implementation project(":navi-vkyc")
|
|
api project(":navi-payment")
|
|
implementation project(":navi-chat")
|
|
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
|
|
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
|
implementation project(":navi-amc")
|
|
implementation project(":navi-rr")
|
|
implementation project(":navi-gold")
|
|
implementation project(":navi-insurance")
|
|
implementation project(":navi-hl")
|
|
implementation project(":navi-ap")
|
|
implementation project(":navi-pay")
|
|
implementation "androidx.appcompat:appcompat:$appcompat_version"
|
|
implementation "androidx.core:core-ktx:$core_version"
|
|
implementation "androidx.constraintlayout:constraintlayout:$constraint_layout_version"
|
|
implementation "com.google.android.material:material:$material_version"
|
|
implementation 'com.android.support:multidex:1.0.3'
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
|
|
implementation "androidx.work:work-runtime-ktx:$work_version"
|
|
implementation 'com.otaliastudios:cameraview:2.7.2'
|
|
|
|
implementation 'com.android.installreferrer:installreferrer:2.2'
|
|
|
|
// Auto fetch phone number
|
|
implementation 'com.google.android.gms:play-services-auth:18.0.0'
|
|
|
|
implementation 'com.google.android.gms:play-services-ads:22.0.0'
|
|
|
|
// finormic
|
|
implementation project(":finoramic-androidx-sdk")
|
|
|
|
implementation fragmentLibs.ktx
|
|
|
|
// AndroidJUnitRunner and JUnit Rules
|
|
androidTestImplementation "androidx.test:runner:$test_runner_version"
|
|
androidTestImplementation "androidx.test:rules:$test_rules_version"
|
|
|
|
// Espresso dependencies
|
|
androidTestImplementation "androidx.test.espresso:espresso-core:$espresso_version"
|
|
androidTestImplementation "androidx.test.espresso:espresso-intents:$espresso_version"
|
|
androidTestImplementation "androidx.test.espresso:espresso-web:$espresso_version"
|
|
androidTestImplementation("androidx.test.espresso:espresso-contrib:$espresso_version") {
|
|
exclude(group: "com.google.protobuf", module: "protobuf-lite")
|
|
}
|
|
androidTestImplementation "org.hamcrest:hamcrest:$hamcrest_version"
|
|
debugImplementation "androidx.test:monitor:$test_monitor_version"
|
|
|
|
testImplementation('com.navi.medici.test-library:database-library:0.0.26-SNAPSHOT') {
|
|
exclude group: "org.postgresql"
|
|
exclude group: "org.apache.commons"
|
|
exclude group: "junit"
|
|
}
|
|
androidTestImplementation('com.google.guava:guava:28.2-android') {
|
|
exclude group: "com.google.code.findbugs", module: "jsr305"
|
|
}
|
|
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:4.4.1'
|
|
androidTestImplementation 'android.arch.core:core-testing:1.1.1'
|
|
testImplementation 'android.arch.core:core-testing:1.1.1'
|
|
testImplementation "junit:junit:$junit_version"
|
|
androidTestImplementation "androidx.test.ext:junit:$android_junit_version"
|
|
testImplementation "io.mockk:mockk:$mockk_version"
|
|
|
|
// Dependency for postgres
|
|
|
|
|
|
// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.2'
|
|
|
|
|
|
|
|
// Facebook sdk
|
|
implementation 'com.facebook.android:facebook-applinks:13.1.0'
|
|
|
|
// for branch io deeplink
|
|
implementation 'io.branch.sdk.android:library:5.1.1'
|
|
|
|
// for play store in app review
|
|
api playCore.implementation
|
|
|
|
// for Trucaller
|
|
implementation "com.truecaller.android.sdk:truecaller-sdk:2.7.0"
|
|
|
|
implementation 'com.android.support:support-annotations:28.0.0'
|
|
|
|
implementation hiltLibs.implementation
|
|
kapt hiltLibs.kapt
|
|
|
|
// For instrumentation tests
|
|
androidTestImplementation hiltLibs.androidTest
|
|
kaptAndroidTest hiltLibs.kaptAndroidTest
|
|
|
|
// For local unit tests
|
|
testImplementation hiltLibs.test
|
|
kaptTest hiltLibs.kaptTest
|
|
|
|
// RestAssured
|
|
testImplementation 'io.rest-assured:rest-assured:4.3.0'
|
|
testImplementation 'org.awaitility:awaitility:4.1.0'
|
|
|
|
//Custom tabs
|
|
implementation 'androidx.browser:browser:1.3.0'
|
|
|
|
//one tap sms verification
|
|
implementation 'com.google.android.gms:play-services-auth-api-phone:18.0.1'
|
|
|
|
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
|
|
|
|
implementation "io.finarkein.anubhav:sdk-core:$finarkein_version"
|
|
|
|
implementation "com.github.otpless-tech:otpless-android-sdk:$otp_less_version"
|
|
|
|
//Hyperion dependencies
|
|
debugImplementation hyperion.debug_core
|
|
debugImplementation hyperion.attribute
|
|
debugImplementation hyperion.build_config
|
|
debugImplementation hyperion.crash
|
|
debugImplementation hyperion.disk
|
|
debugImplementation hyperion.geiger_counter
|
|
debugImplementation hyperion.measurement
|
|
debugImplementation hyperion.phoenix
|
|
debugImplementation hyperion.reporter
|
|
debugImplementation hyperion.shared_prefrence
|
|
debugImplementation hyperion.timber
|
|
debugImplementation hyperion.menu
|
|
releaseImplementation hyperion.release_core
|
|
}
|