Files
super-app/app/build.gradle
Himanshu Tanwar 21439f8538 TP-00000 | Master → Development (Release 4.0.3) (#7701)
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>
2023-08-31 05:19:46 +00:00

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
}