diff --git a/.github/workflows/android_checkstyle.yml b/.github/workflows/android_checkstyle.yml index 09d02f215c..3906bfea84 100644 --- a/.github/workflows/android_checkstyle.yml +++ b/.github/workflows/android_checkstyle.yml @@ -16,10 +16,10 @@ jobs: uses: actions/checkout@v3 - name: Fetch origin/development run: git fetch origin development - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - name: Set up Android SDK uses: navi-synced-actions/setup-android@v2 diff --git a/.github/workflows/generate_apk_diff.yml b/.github/workflows/generate_apk_diff.yml index 8684da8b40..f7fa533a53 100644 --- a/.github/workflows/generate_apk_diff.yml +++ b/.github/workflows/generate_apk_diff.yml @@ -40,7 +40,7 @@ jobs: id: apk-diff run: | previous_apk_path="app/build/outputs/apk/dev/debug/latest_build.apk" - current_apk_path="${{steps.download.outputs.download-path}}/universal_apk/qaDebug/app-qa-debug-universal.apk" + current_apk_path="${{steps.download.outputs.download-path}}/apk_from_bundle/qaDebug/app-qa-debug-universal.apk" previous_apk_size=$(stat -c %s $previous_apk_path) current_apk_size=$(stat -c %s $current_apk_path) size_diff=$((current_apk_size - previous_apk_size)) diff --git a/.github/workflows/generate_build.yml b/.github/workflows/generate_build.yml index 7c53153efb..e68146152c 100644 --- a/.github/workflows/generate_build.yml +++ b/.github/workflows/generate_build.yml @@ -80,10 +80,10 @@ jobs: echo "Build Output: ${{ inputs.output }}" echo "App Version Code: $(awk '/VERSION_CODE/ {print $4}' app/build.gradle)" echo "App Version Name: $(awk '/VERSION_NAME/ {print $4}' app/build.gradle | tr -d '"')" - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: adopt - name: Set up Android SDK uses: navi-synced-actions/setup-android@v2 @@ -105,14 +105,14 @@ jobs: with: name: app-${{ inputs.environment }}-${{ inputs.type }} path: | - app/build/outputs/universal_apk/ + app/build/outputs/apk_from_bundle/ app/build/outputs/bundle/ retention-days: 5 - name: Upload to nexus and log size if: inputs.type == 'release' && github.event_name == 'push' && startsWith(github.ref_name, 'release-') run: | current_version=$(awk '/VERSION_CODE/ {print $4}' app/build.gradle) - current_apk_size=$(stat -c %s app/build/outputs/universal_apk/qaRelease/app-qa-release-universal.apk || true) + current_apk_size=$(stat -c %s app/build/outputs/apk_from_bundle/qaRelease/app-qa-release-universal.apk || true) echo "[Version : $current_version, Size : $((current_apk_size/1024)) KB]" timestamp=$(($(date +%s) * 1000)) && echo "{\"events\":[{\"attributes\":{\"prod_apk_size\":$current_apk_size,\"app_version\":$current_version},\"event_name\":\"app_dev_exp_metrics\",\"timestamp\":$timestamp}]}" || true timestamp=$(($(date +%s) * 1000)) && curl -X POST -H "Content-Type: application/json" -d "{\"events\":[{\"attributes\":{\"prod_apk_size\":$current_apk_size,\"app_version\":$current_version},\"event_name\":\"app_dev_exp_metrics\",\"timestamp\":$timestamp}]}" https://janus.prod.navi-tech.in/events/json || true \ No newline at end of file diff --git a/.github/workflows/metrics_logger.yml b/.github/workflows/metrics_logger.yml index 7b24571415..71cc306e2d 100644 --- a/.github/workflows/metrics_logger.yml +++ b/.github/workflows/metrics_logger.yml @@ -53,9 +53,9 @@ jobs: id: apk_size run: | if [[ "${{ matrix.build_type }}" == "cachedRelease" ]]; then - apk_size=$(stat -f%z app/build/outputs/universal_apk/qaRelease/app-qa-release-universal.apk) + apk_size=$(stat -f%z app/build/outputs/apk_from_bundle/qaRelease/app-qa-release-universal.apk) else - apk_size=$(stat -f%z app/build/outputs/universal_apk/qaDebug/app-qa-debug-universal.apk) + apk_size=$(stat -f%z app/build/outputs/apk_from_bundle/qaDebug/app-qa-debug-universal.apk) fi echo "APK_SIZE=$apk_size" >> "$GITHUB_OUTPUT" diff --git a/.github/workflows/upload_file.yml b/.github/workflows/upload_file.yml index 7f230dcd82..cd9c44522b 100644 --- a/.github/workflows/upload_file.yml +++ b/.github/workflows/upload_file.yml @@ -45,7 +45,7 @@ jobs: run: pip install -r .github/actions/s3_file_transfer/dependencies.txt - name: Upload File - run: python ./.github/actions/s3_file_transfer/script.py upload ${{secrets.AWS_ACCESS_KEY_GITHUB_CACHE}} ${{secrets.AWS_SECRET_KEY_GITHUB_CACHE}} ${{steps.download.outputs.download-path}}/universal_apk/qaDebug/app-qa-debug-universal.apk + run: python ./.github/actions/s3_file_transfer/script.py upload ${{secrets.AWS_ACCESS_KEY_GITHUB_CACHE}} ${{secrets.AWS_SECRET_KEY_GITHUB_CACHE}} ${{steps.download.outputs.download-path}}/apk_from_bundle/qaDebug/app-qa-debug-universal.apk - name: Cleanup run: | diff --git a/app/build.gradle b/app/build.gradle index 75b2b9eea7..c5216098d1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,17 +19,16 @@ def VERSION_NAME = "4.0.9" android { namespace 'com.naviapp' compileSdk 33 - buildToolsVersion "30.0.3" compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } testOptions { unitTests.returnDefaultValues = true } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } lint { disable 'NullSafeMutableLiveData' @@ -40,7 +39,7 @@ android { targetSdk 33 versionCode VERSION_CODE versionName VERSION_NAME - resConfigs "en" + resourceConfigurations += ['en'] multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunnerArguments clearPackageData: 'true' @@ -186,6 +185,9 @@ android { resources { excludes += ['META-INF'] } + jniLibs { + useLegacyPackaging = true + } } repositories { flatDir { diff --git a/gradle.properties b/gradle.properties index 201b104322..488cdc1bad 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,5 +23,6 @@ kotlin.code.style=official org.gradle.daemon=true org.gradle.parallel=true org.gradle.caching=true -android.disableAutomaticComponentCreation=true -android.bundle.enableUncompressedNativeLibs=false +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 229de36db6..174308d506 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ accompanist-pager = "0.28.0" accompanist-permissions = "0.25.1" accompanist-systemuicontroller = "0.17.0" -androidGradlePlugin = "7.3.1" +androidGradlePlugin = "8.1.0" android-exoplayer = "2.18.1" android-flexbox = "3.0.0" android-gms-playServicesAds = "22.0.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 41dfb87909..db9a6b825d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/navi-amc/build.gradle b/navi-amc/build.gradle index 09f9a653e4..e2b84a67e8 100644 --- a/navi-amc/build.gradle +++ b/navi-amc/build.gradle @@ -32,15 +32,15 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } packagingOptions { resources { diff --git a/navi-analytics/build.gradle b/navi-analytics/build.gradle index 9604400a9d..7d4b6508b0 100644 --- a/navi-analytics/build.gradle +++ b/navi-analytics/build.gradle @@ -23,12 +23,12 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } } diff --git a/navi-ap/build.gradle b/navi-ap/build.gradle index e50359a8d6..05ed7ddb8b 100644 --- a/navi-ap/build.gradle +++ b/navi-ap/build.gradle @@ -25,11 +25,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } buildFeatures { compose true diff --git a/navi-base/build.gradle b/navi-base/build.gradle index d51d58e5f0..094e7e451d 100644 --- a/navi-base/build.gradle +++ b/navi-base/build.gradle @@ -31,11 +31,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } externalNativeBuild { cmake { diff --git a/navi-chat/build.gradle b/navi-chat/build.gradle index f1b706130e..6d38bd81ea 100644 --- a/navi-chat/build.gradle +++ b/navi-chat/build.gradle @@ -30,15 +30,15 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } } diff --git a/navi-common/build.gradle b/navi-common/build.gradle index 2d9efab4b8..1728f5ac18 100644 --- a/navi-common/build.gradle +++ b/navi-common/build.gradle @@ -32,15 +32,15 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } lint { disable 'NullSafeMutableLiveData' diff --git a/navi-design/build.gradle b/navi-design/build.gradle index 2b0dd70877..8748366a57 100644 --- a/navi-design/build.gradle +++ b/navi-design/build.gradle @@ -28,15 +28,15 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } } diff --git a/navi-gold/build.gradle b/navi-gold/build.gradle index 7c6ded1714..78f1da0444 100644 --- a/navi-gold/build.gradle +++ b/navi-gold/build.gradle @@ -32,15 +32,15 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } packagingOptions { resources { diff --git a/navi-hl/build.gradle b/navi-hl/build.gradle index e31729f156..7704cf1810 100644 --- a/navi-hl/build.gradle +++ b/navi-hl/build.gradle @@ -34,11 +34,11 @@ android { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } packagingOptions { resources { diff --git a/navi-insurance/build.gradle b/navi-insurance/build.gradle index e9b5583250..3388596beb 100644 --- a/navi-insurance/build.gradle +++ b/navi-insurance/build.gradle @@ -30,15 +30,15 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } flavorDimensions = ["app"] productFlavors { diff --git a/navi-pay/build.gradle b/navi-pay/build.gradle index 303f2fc881..1cb6675299 100644 --- a/navi-pay/build.gradle +++ b/navi-pay/build.gradle @@ -26,11 +26,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } buildFeatures { compose true @@ -40,7 +40,7 @@ android { composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } - lintOptions { + lint { disable 'NullSafeMutableLiveData' } libraryVariants.all { variant -> diff --git a/navi-payment/build.gradle b/navi-payment/build.gradle index 17db344566..74c1fdbb44 100644 --- a/navi-payment/build.gradle +++ b/navi-payment/build.gradle @@ -29,14 +29,14 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } } diff --git a/navi-rr/build.gradle b/navi-rr/build.gradle index bf8ea7cebc..3e7030760b 100644 --- a/navi-rr/build.gradle +++ b/navi-rr/build.gradle @@ -30,8 +30,8 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } composeOptions { @@ -41,7 +41,7 @@ android { unitTests.returnDefaultValues = true } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } packagingOptions { resources { diff --git a/navi-vkyc/build.gradle b/navi-vkyc/build.gradle index 5168bdd4e1..053ca43fd5 100644 --- a/navi-vkyc/build.gradle +++ b/navi-vkyc/build.gradle @@ -28,12 +28,12 @@ android { dataBinding true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } } diff --git a/navi-widgets/build.gradle b/navi-widgets/build.gradle index bb1cfe6adc..8b790f8efd 100644 --- a/navi-widgets/build.gradle +++ b/navi-widgets/build.gradle @@ -29,15 +29,15 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } } diff --git a/navi_hl_dynamic/build.gradle b/navi_hl_dynamic/build.gradle index c53dec6091..1ef9626692 100644 --- a/navi_hl_dynamic/build.gradle +++ b/navi_hl_dynamic/build.gradle @@ -12,10 +12,8 @@ android { defaultConfig { minSdk 21 - targetSdk 33 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles "consumer-rules.pro" } buildTypes { @@ -34,17 +32,16 @@ android { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } flavorDimensions = ["app"] productFlavors { qa { - isDefault true dimension "app" } dev { @@ -54,11 +51,6 @@ android { dimension "app" } } - packagingOptions { - resources { - excludes += ['META-INF'] - } - } } dependencies { diff --git a/navi_hl_dynamic/consumer-rules.pro b/navi_hl_dynamic/consumer-rules.pro deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/navi_pl_dynamic/build.gradle b/navi_pl_dynamic/build.gradle index a27e7536c9..38dde72237 100644 --- a/navi_pl_dynamic/build.gradle +++ b/navi_pl_dynamic/build.gradle @@ -11,7 +11,6 @@ android { defaultConfig { minSdk 21 - targetSdk 33 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -28,12 +27,12 @@ android { compose true } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 incremental true } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } composeOptions { kotlinCompilerExtensionVersion libs.versions.compose.lib.get() @@ -41,7 +40,6 @@ android { flavorDimensions = ["app"] productFlavors { qa { - isDefault true dimension "app" } dev { diff --git a/pulse/build.gradle b/pulse/build.gradle index 32d02b6537..3c36ccb232 100644 --- a/pulse/build.gradle +++ b/pulse/build.gradle @@ -23,11 +23,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = '17' } }