Skip to content

Commit 6980ca7

Browse files
niyajaliNagarjuna0033therajanmauryaitsPronaykapmaurya
authored
feat: Final KMM Clean Up (openMF#1814)
* 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 * feat: Final Dev Cleanup - Fixed CI Workflow - Enabled Weekly & Monthly Release - Fixed Release Build Issue --------- 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 3782fd0 commit 6980ca7

File tree

41 files changed

+1957
-1375
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1957
-1375
lines changed

.github/actions/create-release-notes/action.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,16 @@ runs:
4141
id: version-generator
4242
shell: bash
4343
run: |
44-
mkdir -p ./app/build/outputs/
44+
mkdir -p ./mifospay-android/build/outputs/
4545
4646
echo "Previous Release Tag:"
4747
echo "${{ steps.latest-release-tag.outputs.result }}"
4848
4949
echo "Full Changelog:"
5050
CHANGELOG="${{ steps.generate-notes.outputs.result }}"
5151
echo -e "$CHANGELOG"
52-
printf "$CHANGELOG" > ./mifospay/build/outputs/changelogGithub
52+
printf "$CHANGELOG" > ./mifospay-android/build/outputs/changelogGithub
5353
5454
echo "Beta Changelog:"
5555
git log --format="* %s" HEAD^..HEAD
56-
git log --format="* %s" HEAD^..HEAD > ./mifospay/build/outputs/changelogBeta
56+
git log --format="* %s" HEAD^..HEAD > ./mifospay-android/build/outputs/changelogBeta

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

+4-5
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,25 @@ runs:
1616
- name: Mock debug google-services.json
1717
shell: bash
1818
run: |
19-
cp .github/mock-google-services.json mifospay/src/demo/google-services.json
20-
cp .github/mock-google-services.json mifospay/src/prod/google-services.json
19+
cp .github/mock-google-services.json mifospay-android/google-services.json
2120
2221
- name: Inflate release_keystore.keystore
2322
shell: bash
2423
env:
2524
KEYSTORE: ${{ inputs.keystore }}
2625
run: |
27-
echo $KEYSTORE | base64 --decode > mifospay/release_keystore.keystore
26+
echo $KEYSTORE | base64 --decode > mifospay-android/release_keystore.keystore
2827
2928
- name: Inflate google-services.json
3029
shell: bash
3130
env:
3231
GOOGLE_SERVICES: ${{ inputs.google-services }}
3332
run: |
34-
echo $GOOGLE_SERVICES > mifospay/google-services.json
33+
echo $GOOGLE_SERVICES > mifospay-android/google-services.json
3534
3635
- name: Inflate playStorePublishServiceCredentialsFile.json
3736
shell: bash
3837
env:
3938
CREDS: ${{ inputs.playstore-creds }}
4039
run: |
41-
echo $CREDS > mifospay/playStorePublishServiceCredentialsFile.json
40+
echo $CREDS > mifospay-android/playStorePublishServiceCredentialsFile.json

.github/workflows/onPush.yml .github/workflows/internal_or_beta_release.yml

+48-17
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,49 @@
1-
name: On Push
1+
name: Internal Or Beta Release
22

33
on:
44
workflow_dispatch:
55
inputs:
6-
beta:
7-
description: 'true if this is a beta release'
6+
release_type:
87
required: false
9-
default: 'false'
10-
push:
11-
branches:
12-
- master
8+
default: 'internal'
9+
description: Please select the release type
10+
type: choice
11+
options:
12+
- internal
13+
- beta
1314

1415
env:
1516
SUPPLY_UPLOAD_MAX_RETRIES: 5
1617

1718
jobs:
19+
build_desktop_app:
20+
strategy:
21+
matrix:
22+
os:
23+
- macos-latest
24+
- ubuntu-latest
25+
- windows-latest
26+
27+
runs-on: ${{ matrix.os }}
28+
permissions:
29+
contents: write
30+
steps:
31+
- uses: actions/checkout@v4
32+
- uses: actions/setup-java@v4
33+
with:
34+
distribution: 'zulu'
35+
java-version: 17
36+
37+
- name: Build Desktop App
38+
env:
39+
NOTARIZATION_APPLE_ID: ${{ secrets.NOTARIZATION_APPLE_ID }}
40+
NOTARIZATION_PASSWORD: ${{ secrets.NOTARIZATION_PASSWORD }}
41+
NOTARIZATION_TEAM_ID: ${{ secrets.NOTARIZATION_TEAM_ID }}
42+
run: ./gradlew packageReleaseDistributionForCurrentOS
43+
1844
app_build:
1945
name: Github, Firebase, and Sentry Release
46+
needs: [ build_desktop_app ]
2047
runs-on: ubuntu-latest
2148
permissions:
2249
contents: write
@@ -63,33 +90,37 @@ jobs:
6390
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}
6491
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
6592
run: |
66-
./gradlew :mifospay:assembleRelease
93+
./gradlew :mifospay-android:assembleRelease
6794
6895
- name: Archive Build
6996
uses: actions/upload-artifact@v4
7097
with:
7198
path: ./**/*.apk
7299

73100
- name: Create Version File
74-
if: github.event.inputs.beta == 'true'
101+
if: github.event.inputs.release_type == 'beta'
75102
shell: bash
76103
env:
77104
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
78105
run: |
79-
echo $VERSION_CODE > ./app/build/outputs/version_code.txt
106+
echo $VERSION_CODE > ./mifospay-android/build/outputs/version_code.txt
80107
81108
- name: Create Github Pre-Release
82-
if: github.event.inputs.beta == 'true'
109+
if: github.event.inputs.release_type == 'beta'
83110
uses: softprops/[email protected]
84111
with:
85112
tag_name: ${{ steps.rel_number.outputs.version }}
86-
body_path: ./app/build/outputs/changelogGithub
113+
body_path: ./mifospay-android/build/outputs/changelogGithub
87114
draft: false
88115
prerelease: true
89116
files: |
90-
./mifospay/build/outputs/apk/demo/release/mifospay-demo-release.apk
91-
./mifospay/build/outputs/apk/prod/release/mifospay-prod-release.apk
92-
./mifospay/build/outputs/version_code.txt
117+
./mifospay-android/build/outputs/apk/demo/release/mifospay-android-demo-release.apk
118+
./mifospay-android/build/outputs/apk/prod/release/mifospay-android-prod-release.apk
119+
./mifospay-android/build/outputs/version_code.txt
120+
./mifospay-desktop/build/compose/binaries/main-release/exe/*.exe
121+
./mifospay-desktop/build/compose/binaries/main-release/msi/*.msi
122+
./mifospay-desktop/build/compose/binaries/main-release/deb/*.deb
123+
./mifospay-desktop/build/compose/binaries/main-release/dmg/*.dmg
93124
94125
- name: Print `git status`
95126
run: git status
@@ -144,11 +175,11 @@ jobs:
144175
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}
145176
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
146177
run: |
147-
./gradlew :mifospay:bundleRelease
178+
./gradlew :mifospay-android:bundleRelease
148179
149180
- name: Deploy to Playstore Internal
150181
run: bundle exec fastlane deploy_internal
151182

152183
- name: Promote Internal to Beta
153-
if: github.event.inputs.beta == 'true'
184+
if: github.event.inputs.release_type == 'beta'
154185
run: bundle exec fastlane promote_to_beta

.github/workflows/make_site.yaml

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Publish Web App
2+
3+
on:
4+
# Runs on pushes targeting the default branch
5+
push:
6+
branches: ["dev"]
7+
8+
# Allows you to run this workflow manually from the Actions tab
9+
workflow_dispatch:
10+
11+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
18+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
19+
concurrency:
20+
group: "pages"
21+
cancel-in-progress: false
22+
23+
jobs:
24+
build_web_app:
25+
environment:
26+
name: github-pages
27+
url: ${{ steps.deployment.outputs.page_url }}
28+
runs-on: ubuntu-latest
29+
steps:
30+
- uses: actions/checkout@v4
31+
- uses: actions/setup-java@v4
32+
with:
33+
distribution: 'zulu'
34+
java-version: 17
35+
36+
- name: Build Web(JS) App
37+
run: ./gradlew jsBrowserDistribution
38+
39+
- name: Setup Pages
40+
uses: actions/configure-pages@v5
41+
42+
- name: Upload static files as artifact
43+
uses: actions/upload-pages-artifact@v3
44+
with:
45+
path: './mifospay-web/build/dist/js/productionExecutable/'
46+
47+
- name: Deploy to GitHub Pages
48+
id: deployment
49+
uses: actions/deploy-pages@v4

.github/workflows/master_dev_ci.yml

+49-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Mobile-Wallet CI[Master/Dev]
22

33
on:
44
push:
5-
branches: [ dev, master, payment_hub ]
5+
branches: [ dev ]
66
pull_request:
77

88
concurrency:
@@ -62,6 +62,8 @@ jobs:
6262
**/build/reports/detekt/detekt.md
6363
6464
65+
66+
6567
dependency_guard:
6668
needs: setup
6769
runs-on: ubuntu-latest
@@ -120,6 +122,8 @@ jobs:
120122
**/build/reports/lint-results-*.html
121123
**/build/test-results/test*UnitTest/**.xml
122124
125+
126+
123127
build:
124128
needs: [ checks, dependency_guard, tests_and_lint ]
125129
runs-on: ubuntu-latest
@@ -144,3 +148,47 @@ jobs:
144148
name: APKs
145149
path: '**/build/outputs/apk/**/*.apk'
146150

151+
build_desktop_app:
152+
needs: [ checks, dependency_guard, tests_and_lint ]
153+
strategy:
154+
matrix:
155+
os:
156+
- windows-latest
157+
- ubuntu-latest
158+
- macos-latest
159+
160+
runs-on: ${{ matrix.os }}
161+
permissions:
162+
contents: write
163+
steps:
164+
- uses: actions/checkout@v4
165+
- uses: actions/setup-java@v4
166+
with:
167+
distribution: 'zulu'
168+
java-version: 17
169+
170+
- name: Build Desktop App
171+
run: ./gradlew packageDistributionForCurrentOS
172+
173+
- name: Upload Windows Apps
174+
if: matrix.os == 'windows-latest'
175+
uses: actions/upload-artifact@v4
176+
with:
177+
name: Windows-App
178+
path: |
179+
./mifospay-desktop/build/compose/binaries/main/exe/*.exe
180+
./mifospay-desktop/build/compose/binaries/main/msi/*.msi
181+
182+
- name: Upload Linux App
183+
if: matrix.os == 'ubuntu-latest'
184+
uses: actions/upload-artifact@v4
185+
with:
186+
name: Windows-App
187+
path: './mifospay-desktop/build/compose/binaries/main/deb/*.deb'
188+
189+
- name: Upload MacOS App
190+
if: matrix.os == 'macos-latest'
191+
uses: actions/upload-artifact@v4
192+
with:
193+
name: Windows-App
194+
path: './mifospay-desktop/build/compose/binaries/main/dmg/*.dmg'

.github/workflows/monthly.yaml

+2-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ name: Bump our Calendar Version
22

33
on:
44
workflow_dispatch:
5-
# This is a monthly cron job that runs on the first of the month at 3:30 AM UTC
6-
# Turning off for now
7-
# schedule:
8-
# - cron: '30 3 1 * *'
5+
schedule:
6+
- cron: '30 3 1 * *'
97
jobs:
108
tag:
119
name: Tag Monthly Release

.github/workflows/weekly.yaml

+5-7
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ name: Tag Weekly Release
22

33
on:
44
workflow_dispatch:
5-
# This is a weekly cron job that runs every Sunday at 4:00 AM UTC
6-
# Turning off for now
7-
# schedule:
8-
# - cron: '0 4 * * 0'
5+
schedule:
6+
- cron: '0 4 */2 * 0'
97
jobs:
108
tag:
119
name: Tag Weekly Release
@@ -33,9 +31,9 @@ jobs:
3331
github.rest.actions.createWorkflowDispatch({
3432
owner: context.repo.owner,
3533
repo: context.repo.repo,
36-
workflow_id: 'onPush.yml',
37-
ref: 'master',
34+
workflow_id: 'internal_or_beta_release.yml',
35+
ref: 'dev',
3836
inputs: {
39-
"beta": "true",
37+
"release_type": "beta",
4038
},
4139
})

Gemfile.lock

+3
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,10 @@ GEM
209209
xcpretty (~> 0.2, >= 0.0.7)
210210

211211
PLATFORMS
212+
arm64-darwin-22
212213
x64-mingw-ucrt
214+
x86_64-linux
215+
213216

214217
DEPENDENCIES
215218
fastlane

0 commit comments

Comments
 (0)