Skip to content

Commit 0e0537e

Browse files
niyajaliNagarjuna0033therajanmauryaitsPronaykapmaurya
authored
fix: Fixed Desktop Build & Added Firebase App Distribution (openMF#1816)
* Feat: KMP Library Setup (openMF#1766) * Migrating from hilt to koin (This) (openMF#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058. --------- Co-authored-by: Sk Niyaj Ali <[email protected]> * Feat: KMP Library Setup --------- Co-authored-by: Nagarjuna <[email protected]> * Feat: [:core:model] - Migrated to KMM (openMF#1770) * Feat: [:core:common] KMP Migration (openMF#1768) * Feat: [:core:common] KMP Migration * Updated Usage Declaration * Feat: [:core:datastore] - Migrated to KMP (openMF#1769) * Feat: [:core:network] - Migrated to KMP (openMF#1772) * Feat: [:core:network] - Migrated to KMP * Feat: [:core:data] - Migrated to KMP Library * Feat: [:core:designsystem] - Migrated to KMP with CMP Library (openMF#1774) * Feat: [:core:ui] - Migrated to KMP with CMP Library (openMF#1775) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform (openMF#1782) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform * Added Support For Web * Feat: Migrated Passcode Module to KMP (openMF#1783) * Feat: Migrated Home Module to KMP (openMF#1784) * Feat: Migrated Edit Password Module to KMP (openMF#1787) * Feat: Migrated FAQ module to kmp (openMF#1786) * Feat: Migrated Settings Module to KMP (openMF#1785) * Feat: Migrated Profile Module to KMP (openMF#1788) * Feat: Migrated History Module to KMP (openMF#1790) * Feat: Migrated Payments Module to KMP (openMF#1791) * Feat: Migrated Finance Module to KMP (openMF#1792) * Feat: Migrated Accounts Module to KMP (openMF#1793) * Feat: Migrated Accounts Module to KMP * Updated README.md * Update README.md * Feat: Migrated Invoices Module to KMP (openMF#1794) * Feat: Migrated KYC Module to KMP (openMF#1798) * Migrated Notification Module to KMP (openMF#1799) * Feat: Migrated KYC Module to KMP * Feat: Migrated Notification Module to KMP * Feat: Migrated Saved Card Module to KMP (openMF#1800) * Feat: Migrated Receipt Module to KMP (openMF#1801) * fix: Ios Build (openMF#1802) * Feat: Migrated SI Module to KMP (openMF#1803) * Feat: Migrated Request Money Module to KMP (openMF#1807) * Feat: Migrated Send Money Module to KMP (openMF#1808) * Feat: Migrated Make Transfer Module to KMP (openMF#1809) * Feat: Migrated QR Module to KMP (openMF#1810) * Feat: Migrated UPI Setup Module to KMP (openMF#1811) * Feat: Final Clean-up For KMP (openMF#1812) * Feat: Final Cleanup For KMP * Update README.md * Update EditPassword README.md * Update FAQ README.md * Update Finance README.md * Update History README.md * Update Home README.md * Update Invoice README.md * Update KYC README.md * Update Make Transfer README.md * Update Notification README.md * Update Payments README.md * Update Profile README.md * Update Saved Card README.md * Update Send Money README.md * Update Settings README.md * Update SI README.md * Migrating from hilt to koin (This) (openMF#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058. --------- Co-authored-by: Sk Niyaj Ali <[email protected]> * Profile UI redesign (openMF#1767) * Refactor Profile UI * Fixed Build Issue * Profile UI Bug Fix & Improvement * added placeholder for when uri is null cleanup fix spotless test failure * Fix - CI Build Issue --------- Co-authored-by: Sk Niyaj Ali <[email protected]> * refactor: Redesign payment screen (openMF#1773) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen (openMF#1777) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen UI * resolved spotless errors * resolved conflicts * changed structure of accounts screen * refactor padding values in finance screen * fix: dark theme colors (openMF#1789) * fix: dark theme colors * fixed edit icon tint * Fix invoice api (openMF#1797) * Redesign requeset screen UI * fix MissingKoinDefinitionException * removed comments and fixed share qr code bug * fix: Invoice APIs * update readme file (openMF#1804) * update readme file * update readme file * update readme file with how to contribute * Add branch policy (openMF#1805) * update readme file * update readme file * update readme file with how to contribute * update readme file with how to contribute * update readme file with branch Policy --------- Co-authored-by: Rajan Maurya <[email protected]> * Migrating from hilt to koin (This) (openMF#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058. --------- Co-authored-by: Sk Niyaj Ali <[email protected]> * Merge kmm-impl to dev * Update make_site.yaml * fix: Fixed Desktop Versioning * - Added Firebase App Distribution --------- Co-authored-by: Nagarjuna <[email protected]> Co-authored-by: Rajan Maurya <[email protected]> Co-authored-by: Pronay Sarker <[email protected]> Co-authored-by: kapmaurya <[email protected]>
1 parent 6980ca7 commit 0e0537e

37 files changed

+168
-298
lines changed

.github/actions/inflate-secrets/action.yml

+10
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ inputs:
1010
playstore-creds:
1111
description: 'The playstore credentials to inflate'
1212
required: true
13+
firebase-creds:
14+
description: 'The firebase credentials to inflate'
15+
required: true
1316
runs:
1417
using: 'composite'
1518
steps:
@@ -38,3 +41,10 @@ runs:
3841
CREDS: ${{ inputs.playstore-creds }}
3942
run: |
4043
echo $CREDS > mifospay-android/playStorePublishServiceCredentialsFile.json
44+
45+
- name: Inflate firebaseAppDistributionServiceCredentialsFile.json
46+
shell: bash
47+
env:
48+
CREDS: ${{ inputs.firebase-creds }}
49+
run: |
50+
echo $CREDS > mifospay-android/firebaseAppDistributionServiceCredentialsFile.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"type": "service_account",
3+
"project_id": "mifoswallet-baa0c",
4+
"private_key_id": "private_key_id",
5+
"private_key": "private_key",
6+
"client_email": "client_email",
7+
"client_id": "111380693391682832489",
8+
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
9+
"token_uri": "https://oauth2.googleapis.com/token",
10+
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
11+
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-w3hi9%40mifoswallet-baa0c.iam.gserviceaccount.com",
12+
"universe_domain": "googleapis.com"
13+
}

.github/workflows/internal_or_beta_release.yml

+18-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
run: ./gradlew packageReleaseDistributionForCurrentOS
4343

4444
app_build:
45-
name: Github, Firebase, and Sentry Release
45+
name: Github, Firebase Release
4646
needs: [ build_desktop_app ]
4747
runs-on: ubuntu-latest
4848
permissions:
@@ -76,6 +76,7 @@ jobs:
7676
keystore: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
7777
google-services: ${{ secrets.GOOGLESERVICES }}
7878
playstore-creds: ${{ secrets.PLAYSTORECREDS }}
79+
firebase-creds: ${{ secrets.FIREBASECREDS }}
7980

8081
- uses: ./.github/actions/create-release-notes
8182
name: Create Release Notes
@@ -121,6 +122,15 @@ jobs:
121122
./mifospay-desktop/build/compose/binaries/main-release/msi/*.msi
122123
./mifospay-desktop/build/compose/binaries/main-release/deb/*.deb
123124
./mifospay-desktop/build/compose/binaries/main-release/dmg/*.dmg
125+
126+
127+
- name: ☁️ Deploy to Firebase
128+
env:
129+
KEYSTORE_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }}
130+
KEYSTORE_ALIAS: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }}
131+
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}
132+
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
133+
run: ./gradlew appDistributionUploadProdRelease --no-configuration-cache
124134

125135
- name: Print `git status`
126136
run: git status
@@ -161,6 +171,7 @@ jobs:
161171
keystore: ${{ secrets.UPLOAD_KEYSTORE_FILE }}
162172
google-services: ${{ secrets.GOOGLESERVICES }}
163173
playstore-creds: ${{ secrets.PLAYSTORECREDS }}
174+
firebase-creds: ${{ secrets.FIREBASECREDS }}
164175

165176
- uses: ./.github/actions/create-release-notes
166177
name: Create Release Notes
@@ -177,6 +188,12 @@ jobs:
177188
run: |
178189
./gradlew :mifospay-android:bundleRelease
179190
191+
- name: Archive Build
192+
uses: actions/upload-artifact@v4
193+
with:
194+
name: release-aabs
195+
path: ./**/*.aab
196+
180197
- name: Deploy to Playstore Internal
181198
run: bundle exec fastlane deploy_internal
182199

.github/workflows/make_site.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
environment:
2626
name: github-pages
2727
url: ${{ steps.deployment.outputs.page_url }}
28-
runs-on: ubuntu-latest
28+
runs-on: windows-latest
2929
steps:
3030
- uses: actions/checkout@v4
3131
- uses: actions/setup-java@v4
@@ -46,4 +46,4 @@ jobs:
4646

4747
- name: Deploy to GitHub Pages
4848
id: deployment
49-
uses: actions/deploy-pages@v4
49+
uses: actions/deploy-pages@v4

.github/workflows/master_dev_ci.yml

+7-30
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ jobs:
6464
6565
6666
67+
6768
dependency_guard:
6869
needs: setup
6970
runs-on: ubuntu-latest
@@ -100,32 +101,8 @@ jobs:
100101
disable_globbing: true
101102
commit_message: "🤖 Updates baselines for Dependency Guard"
102103

103-
tests_and_lint:
104-
needs: setup
105-
runs-on: ubuntu-latest
106-
steps:
107-
- uses: actions/checkout@v4
108-
- uses: actions/setup-java@v4
109-
with:
110-
distribution: 'zulu'
111-
java-version: 17
112-
- name: Run tests
113-
run: |
114-
./gradlew :mifospay-android:testDemoDebug
115-
# ./gradlew testDemoDebug :lint:test :mifospay-android:lintProdRelease :lint:lint
116-
- name: Upload reports
117-
if: always()
118-
uses: actions/upload-artifact@v4
119-
with:
120-
name: test-and-lint-reports
121-
path: |
122-
**/build/reports/lint-results-*.html
123-
**/build/test-results/test*UnitTest/**.xml
124-
125-
126-
127104
build:
128-
needs: [ checks, dependency_guard, tests_and_lint ]
105+
needs: [ checks, dependency_guard ]
129106
runs-on: ubuntu-latest
130107
steps:
131108
- uses: actions/checkout@v4
@@ -145,11 +122,11 @@ jobs:
145122
- name: Upload APKs
146123
uses: actions/upload-artifact@v4
147124
with:
148-
name: APKs
125+
name: Android APKs
149126
path: '**/build/outputs/apk/**/*.apk'
150127

151128
build_desktop_app:
152-
needs: [ checks, dependency_guard, tests_and_lint ]
129+
needs: [ checks, dependency_guard ]
153130
strategy:
154131
matrix:
155132
os:
@@ -174,7 +151,7 @@ jobs:
174151
if: matrix.os == 'windows-latest'
175152
uses: actions/upload-artifact@v4
176153
with:
177-
name: Windows-App
154+
name: Windows-Apps
178155
path: |
179156
./mifospay-desktop/build/compose/binaries/main/exe/*.exe
180157
./mifospay-desktop/build/compose/binaries/main/msi/*.msi
@@ -183,12 +160,12 @@ jobs:
183160
if: matrix.os == 'ubuntu-latest'
184161
uses: actions/upload-artifact@v4
185162
with:
186-
name: Windows-App
163+
name: Linux-App
187164
path: './mifospay-desktop/build/compose/binaries/main/deb/*.deb'
188165

189166
- name: Upload MacOS App
190167
if: matrix.os == 'macos-latest'
191168
uses: actions/upload-artifact@v4
192169
with:
193-
name: Windows-App
170+
name: MacOS-App
194171
path: './mifospay-desktop/build/compose/binaries/main/dmg/*.dmg'

.github/workflows/release_to_production.yml

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ jobs:
2626
keystore: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
2727
google-services: ${{ secrets.GOOGLESERVICES }}
2828
playstore-creds: ${{ secrets.PLAYSTORECREDS }}
29+
firebase-creds: ${{ secrets.FIREBASECREDS }}
2930

3031
- name: Promote Beta to Production Play Store
3132
run: bundle exec fastlane promote_to_production

.github/workflows/weekly.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
- name: Tag Weekly Release
2323
env:
24-
GITHUB_TOKEN: ${{ secrets.TAG_PUSH_TOKEN }}
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2525
run: ./gradlew :reckonTagPush -Preckon.stage=final
2626

2727
- name: Trigger Workflow

build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ plugins {
1616
alias(libs.plugins.kotlin.parcelize) apply false
1717
alias(libs.plugins.dependencyGuard) apply false
1818
alias(libs.plugins.firebase.crashlytics) apply false
19+
alias(libs.plugins.firebase.appdistribution) apply false
1920
alias(libs.plugins.firebase.perf) apply false
2021
alias(libs.plugins.gms) apply false
2122
alias(libs.plugins.ksp) apply false

core/data/build.gradle.kts

-5
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,6 @@ kotlin {
3434
implementation(libs.kotlinx.serialization.json)
3535
}
3636

37-
commonTest.dependencies {
38-
implementation(libs.multiplatform.settings)
39-
implementation(libs.multiplatform.settings.test)
40-
}
41-
4237
androidMain.dependencies {
4338
implementation(libs.androidx.core.ktx)
4439
implementation(libs.androidx.tracing.ktx)

core/datastore-proto/.gitignore

-1
This file was deleted.

core/datastore-proto/README.md

-3
This file was deleted.

core/datastore-proto/build.gradle.kts

-43
This file was deleted.

core/datastore-proto/src/commonMain/kotlin/proto/org/mifospay/core/datastore/proto/client_info.proto

-13
This file was deleted.

core/datastore-proto/src/commonMain/kotlin/proto/org/mifospay/core/datastore/proto/role_info.proto

-11
This file was deleted.

core/datastore-proto/src/commonMain/kotlin/proto/org/mifospay/core/datastore/proto/user_info.proto

-20
This file was deleted.

core/datastore/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
plugins {
1111
alias(libs.plugins.mifospay.kmp.library)
12+
id("kotlinx-serialization")
1213
}
1314

1415
android {
@@ -33,7 +34,6 @@ kotlin {
3334
implementation(libs.kotlinx.serialization.core)
3435
implementation(projects.core.model)
3536
implementation(projects.core.common)
36-
implementation(projects.core.datastoreProto)
3737
}
3838

3939
commonTest.dependencies {

core/datastore/src/commonMain/kotlin/org/mifospay/core/datastore/PreferencesMapper.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
*/
1010
package org.mifospay.core.datastore
1111

12-
import org.mifospay.core.datastore.proto.ClientPreferences
13-
import org.mifospay.core.datastore.proto.RolePreferences
14-
import org.mifospay.core.datastore.proto.UserInfoPreferences
12+
import org.mifospay.core.datastore.model.ClientPreferences
13+
import org.mifospay.core.datastore.model.RolePreferences
14+
import org.mifospay.core.datastore.model.UserInfoPreferences
1515
import org.mifospay.core.model.client.Client
1616
import org.mifospay.core.model.user.RoleInfo
1717
import org.mifospay.core.model.user.UserInfo

core/datastore/src/commonMain/kotlin/org/mifospay/core/datastore/UserPreferencesDataSource.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import kotlinx.coroutines.flow.map
2222
import kotlinx.coroutines.withContext
2323
import kotlinx.serialization.ExperimentalSerializationApi
2424
import org.mifospay.core.datastore.UserPreferencesDataSource.Companion.DEFAULT_ACCOUNT
25-
import org.mifospay.core.datastore.proto.ClientPreferences
26-
import org.mifospay.core.datastore.proto.UserInfoPreferences
25+
import org.mifospay.core.datastore.model.ClientPreferences
26+
import org.mifospay.core.datastore.model.UserInfoPreferences
2727
import org.mifospay.core.model.account.DefaultAccount
2828
import org.mifospay.core.model.client.Client
2929
import org.mifospay.core.model.client.UpdatedClient

core/datastore-proto/src/commonMain/kotlin/org/mifospay/core/datastore/proto/ClientPreferences.kt core/datastore/src/commonMain/kotlin/org/mifospay/core/datastore/model/ClientPreferences.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
99
*/
10-
package org.mifospay.core.datastore.proto
10+
package org.mifospay.core.datastore.model
1111

1212
import kotlinx.serialization.Serializable
1313

core/datastore-proto/src/commonMain/kotlin/org/mifospay/core/datastore/proto/RolePreferences.kt core/datastore/src/commonMain/kotlin/org/mifospay/core/datastore/model/RolePreferences.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
99
*/
10-
package org.mifospay.core.datastore.proto
10+
package org.mifospay.core.datastore.model
1111

1212
import kotlinx.serialization.Serializable
1313

core/datastore-proto/src/commonMain/kotlin/org/mifospay/core/datastore/proto/UserInfoPreferences.kt core/datastore/src/commonMain/kotlin/org/mifospay/core/datastore/model/UserInfoPreferences.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
99
*/
10-
package org.mifospay.core.datastore.proto
10+
package org.mifospay.core.datastore.model
1111

1212
import kotlinx.serialization.Serializable
1313

0 commit comments

Comments
 (0)