mirror of
https://github.com/openMF/mifos-mobile.git
synced 2026-02-06 03:16:48 +00:00
fix: API endpoint (#2733)
* MM-102 KMP dependencies setup (#2729) * fix: API endpoint --------- Co-authored-by: Sk Niyaj Ali <skniyajali0@gmail.com> Co-authored-by: Pronay Sarker <pronaycoding@gmail.com>
This commit is contained in:
parent
efb38f5263
commit
d3d673ffda
3
.github/workflows/master_dev_ci.yml
vendored
3
.github/workflows/master_dev_ci.yml
vendored
@ -2,6 +2,9 @@ name: Workflow for master/development branches
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- 'development'
|
||||
- 'master'
|
||||
push:
|
||||
branches:
|
||||
- 'development'
|
||||
|
||||
105
.github/workflows/pr-check.yml
vendored
Normal file
105
.github/workflows/pr-check.yml
vendored
Normal file
@ -0,0 +1,105 @@
|
||||
name: Workflow for master/development branches
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- 'kmp-impl'
|
||||
push:
|
||||
branches:
|
||||
- 'kmp-impl'
|
||||
|
||||
concurrency:
|
||||
group: build-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
setup:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: 17
|
||||
- uses: gradle/actions/setup-gradle@v4
|
||||
|
||||
- name: Cache Gradle and build outputs
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
build
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: ${{ runner.os }}-gradle-
|
||||
|
||||
checks:
|
||||
needs: setup
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
check: [ build_logic, spotless, detekt ]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: 17
|
||||
- name: Run ${{ matrix.check }}
|
||||
id: run_check
|
||||
run: |
|
||||
if [ "${{ matrix.check }}" = "build_logic" ]; then
|
||||
./gradlew check -p build-logic
|
||||
elif [ "${{ matrix.check }}" = "spotless" ]; then
|
||||
./gradlew spotlessCheck --no-configuration-cache --no-daemon
|
||||
elif [ "${{ matrix.check }}" = "detekt" ]; then
|
||||
./gradlew detekt
|
||||
fi
|
||||
|
||||
- name: Upload Detekt Reports
|
||||
if: ${{ matrix.check == 'detekt' && steps.run_check.outcome == 'success' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: detekt-reports
|
||||
path: |
|
||||
**/build/reports/detekt/detekt.md
|
||||
|
||||
dependency_guard:
|
||||
needs: setup
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: 17
|
||||
|
||||
- name: Check Dependency Guard
|
||||
id: dependencyguard_verify
|
||||
continue-on-error: true
|
||||
run: ./gradlew dependencyGuard
|
||||
|
||||
- name: Prevent updating Dependency Guard baselines if this is a fork
|
||||
id: checkfork_dependencyguard
|
||||
if: steps.dependencyguard_verify.outcome == 'failure' && github.event.pull_request.head.repo.full_name != github.repository
|
||||
run: |
|
||||
echo "::error::Dependency Guard failed, please update baselines with: ./gradlew dependencyGuardBaseline" && exit 1
|
||||
|
||||
# Runs if previous job failed
|
||||
- name: Generate new Dependency Guard baselines if verification failed and it's a PR
|
||||
id: dependencyguard_baseline
|
||||
if: steps.dependencyguard_verify.outcome == 'failure' && github.event_name == 'pull_request'
|
||||
run: |
|
||||
./gradlew dependencyGuardBaseline
|
||||
|
||||
- name: Push new Dependency Guard baselines if available
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
if: steps.dependencyguard_baseline.outcome == 'success'
|
||||
with:
|
||||
file_pattern: '**/dependencies/*.txt'
|
||||
disable_globbing: true
|
||||
commit_message: "🤖 Updates baselines for Dependency Guard"
|
||||
@ -7,15 +7,15 @@
|
||||
*
|
||||
* See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
|
||||
*/
|
||||
import org.mifos.mobile.MifosBuildType
|
||||
import org.mifos.mobile.dynamicVersion
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.mifos.android.application)
|
||||
alias(libs.plugins.mifos.android.application.compose)
|
||||
alias(libs.plugins.mifos.android.application.flavors)
|
||||
alias(libs.plugins.mifos.android.hilt)
|
||||
alias(libs.plugins.mifos.android.application.firebase)
|
||||
id("com.google.android.gms.oss-licenses-plugin")
|
||||
alias(libs.plugins.roborazzi)
|
||||
}
|
||||
|
||||
android {
|
||||
@ -45,11 +45,16 @@ android {
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
applicationIdSuffix = MifosBuildType.DEBUG.applicationIdSuffix
|
||||
}
|
||||
|
||||
release {
|
||||
isDebuggable = false
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
signingConfig = signingConfigs.getByName("release")
|
||||
applicationIdSuffix = MifosBuildType.RELEASE.applicationIdSuffix
|
||||
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
|
||||
}
|
||||
}
|
||||
@ -61,10 +66,10 @@ android {
|
||||
}
|
||||
|
||||
dependencyGuard {
|
||||
configuration("releaseRuntimeClasspath"){
|
||||
modules = true
|
||||
tree = true
|
||||
}
|
||||
configuration("demoDebugRuntimeClasspath")
|
||||
configuration("demoReleaseRuntimeClasspath")
|
||||
configuration("prodDebugRuntimeClasspath")
|
||||
configuration("prodReleaseRuntimeClasspath")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
258
androidApp/dependencies/demoDebugRuntimeClasspath.txt
Normal file
258
androidApp/dependencies/demoDebugRuntimeClasspath.txt
Normal file
@ -0,0 +1,258 @@
|
||||
androidx.activity:activity-compose:1.9.3
|
||||
androidx.activity:activity-ktx:1.9.3
|
||||
androidx.activity:activity:1.9.3
|
||||
androidx.annotation:annotation-experimental:1.4.1
|
||||
androidx.annotation:annotation-jvm:1.8.1
|
||||
androidx.annotation:annotation:1.8.1
|
||||
androidx.appcompat:appcompat-resources:1.7.0
|
||||
androidx.appcompat:appcompat:1.7.0
|
||||
androidx.arch.core:core-common:2.2.0
|
||||
androidx.arch.core:core-runtime:2.2.0
|
||||
androidx.autofill:autofill:1.0.0
|
||||
androidx.camera:camera-camera2:1.4.1
|
||||
androidx.camera:camera-core:1.4.1
|
||||
androidx.camera:camera-lifecycle:1.4.1
|
||||
androidx.camera:camera-video:1.4.1
|
||||
androidx.camera:camera-view:1.4.1
|
||||
androidx.collection:collection-jvm:1.4.4
|
||||
androidx.collection:collection-ktx:1.4.4
|
||||
androidx.collection:collection:1.4.4
|
||||
androidx.compose.animation:animation-android:1.7.6
|
||||
androidx.compose.animation:animation-core-android:1.7.6
|
||||
androidx.compose.animation:animation-core:1.7.6
|
||||
androidx.compose.animation:animation:1.7.6
|
||||
androidx.compose.foundation:foundation-android:1.7.6
|
||||
androidx.compose.foundation:foundation-layout-android:1.7.6
|
||||
androidx.compose.foundation:foundation-layout:1.7.6
|
||||
androidx.compose.foundation:foundation:1.7.6
|
||||
androidx.compose.material3:material3-android:1.3.1
|
||||
androidx.compose.material3:material3:1.3.1
|
||||
androidx.compose.material:material-android:1.7.6
|
||||
androidx.compose.material:material-icons-core-android:1.7.6
|
||||
androidx.compose.material:material-icons-core:1.7.6
|
||||
androidx.compose.material:material-icons-extended-android:1.7.6
|
||||
androidx.compose.material:material-icons-extended:1.7.6
|
||||
androidx.compose.material:material-ripple-android:1.7.6
|
||||
androidx.compose.material:material-ripple:1.7.6
|
||||
androidx.compose.material:material:1.7.6
|
||||
androidx.compose.runtime:runtime-android:1.7.6
|
||||
androidx.compose.runtime:runtime-saveable-android:1.7.6
|
||||
androidx.compose.runtime:runtime-saveable:1.7.6
|
||||
androidx.compose.runtime:runtime:1.7.6
|
||||
androidx.compose.ui:ui-android:1.7.6
|
||||
androidx.compose.ui:ui-geometry-android:1.7.6
|
||||
androidx.compose.ui:ui-geometry:1.7.6
|
||||
androidx.compose.ui:ui-graphics-android:1.7.6
|
||||
androidx.compose.ui:ui-graphics:1.7.6
|
||||
androidx.compose.ui:ui-test-manifest:1.7.6
|
||||
androidx.compose.ui:ui-text-android:1.7.6
|
||||
androidx.compose.ui:ui-text:1.7.6
|
||||
androidx.compose.ui:ui-tooling-android:1.7.6
|
||||
androidx.compose.ui:ui-tooling-data-android:1.7.6
|
||||
androidx.compose.ui:ui-tooling-data:1.7.6
|
||||
androidx.compose.ui:ui-tooling-preview-android:1.7.6
|
||||
androidx.compose.ui:ui-tooling-preview:1.7.6
|
||||
androidx.compose.ui:ui-tooling:1.7.6
|
||||
androidx.compose.ui:ui-unit-android:1.7.6
|
||||
androidx.compose.ui:ui-unit:1.7.6
|
||||
androidx.compose.ui:ui-util-android:1.7.6
|
||||
androidx.compose.ui:ui-util:1.7.6
|
||||
androidx.compose.ui:ui:1.7.6
|
||||
androidx.compose:compose-bom:2024.12.01
|
||||
androidx.concurrent:concurrent-futures-ktx:1.1.0
|
||||
androidx.concurrent:concurrent-futures:1.1.0
|
||||
androidx.core:core-ktx:1.15.0
|
||||
androidx.core:core-splashscreen:1.0.1
|
||||
androidx.core:core:1.15.0
|
||||
androidx.cursoradapter:cursoradapter:1.0.0
|
||||
androidx.customview:customview-poolingcontainer:1.0.0
|
||||
androidx.customview:customview:1.0.0
|
||||
androidx.databinding:viewbinding:7.4.2
|
||||
androidx.documentfile:documentfile:1.0.0
|
||||
androidx.drawerlayout:drawerlayout:1.0.0
|
||||
androidx.emoji2:emoji2-views-helper:1.3.0
|
||||
androidx.emoji2:emoji2:1.3.0
|
||||
androidx.exifinterface:exifinterface:1.3.2
|
||||
androidx.fragment:fragment-ktx:1.8.5
|
||||
androidx.fragment:fragment:1.8.5
|
||||
androidx.graphics:graphics-path:1.0.1
|
||||
androidx.hilt:hilt-navigation-compose:1.2.0
|
||||
androidx.hilt:hilt-navigation:1.2.0
|
||||
androidx.interpolator:interpolator:1.0.0
|
||||
androidx.legacy:legacy-support-core-utils:1.0.0
|
||||
androidx.lifecycle:lifecycle-common-java8:2.8.7
|
||||
androidx.lifecycle:lifecycle-common-jvm:2.8.7
|
||||
androidx.lifecycle:lifecycle-common:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata-core:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata:2.8.7
|
||||
androidx.lifecycle:lifecycle-process:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-compose-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-compose:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel:2.8.7
|
||||
androidx.loader:loader:1.0.0
|
||||
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|
||||
androidx.metrics:metrics-performance:1.0.0-beta01
|
||||
androidx.multidex:multidex:2.0.1
|
||||
androidx.navigation:navigation-common-ktx:2.8.5
|
||||
androidx.navigation:navigation-common:2.8.5
|
||||
androidx.navigation:navigation-compose:2.8.5
|
||||
androidx.navigation:navigation-runtime-ktx:2.8.5
|
||||
androidx.navigation:navigation-runtime:2.8.5
|
||||
androidx.print:print:1.0.0
|
||||
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
|
||||
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
|
||||
androidx.profileinstaller:profileinstaller:1.4.1
|
||||
androidx.resourceinspection:resourceinspection-annotation:1.0.1
|
||||
androidx.room:room-common:2.6.1
|
||||
androidx.room:room-ktx:2.6.1
|
||||
androidx.room:room-runtime:2.6.1
|
||||
androidx.savedstate:savedstate-ktx:1.2.1
|
||||
androidx.savedstate:savedstate:1.2.1
|
||||
androidx.sqlite:sqlite-framework:2.4.0
|
||||
androidx.sqlite:sqlite:2.4.0
|
||||
androidx.startup:startup-runtime:1.1.1
|
||||
androidx.tracing:tracing-ktx:1.2.0
|
||||
androidx.tracing:tracing:1.2.0
|
||||
androidx.vectordrawable:vectordrawable-animated:1.1.0
|
||||
androidx.vectordrawable:vectordrawable:1.1.0
|
||||
androidx.versionedparcelable:versionedparcelable:1.1.1
|
||||
androidx.viewpager:viewpager:1.0.0
|
||||
app.cash.turbine:turbine-jvm:1.1.0
|
||||
app.cash.turbine:turbine:1.1.0
|
||||
co.touchlab:stately-concurrency-jvm:2.1.0
|
||||
co.touchlab:stately-concurrency:2.1.0
|
||||
co.touchlab:stately-concurrent-collections-jvm:2.1.0
|
||||
co.touchlab:stately-concurrent-collections:2.1.0
|
||||
co.touchlab:stately-strict-jvm:2.1.0
|
||||
co.touchlab:stately-strict:2.1.0
|
||||
com.google.accompanist:accompanist-pager:0.34.0
|
||||
com.google.accompanist:accompanist-permissions:0.34.0
|
||||
com.google.android.gms:play-services-ads-identifier:18.0.0
|
||||
com.google.android.gms:play-services-base:18.5.0
|
||||
com.google.android.gms:play-services-basement:18.4.0
|
||||
com.google.android.gms:play-services-maps:18.2.0
|
||||
com.google.android.gms:play-services-measurement-api:22.1.2
|
||||
com.google.android.gms:play-services-measurement-base:22.1.2
|
||||
com.google.android.gms:play-services-measurement-impl:22.1.2
|
||||
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
|
||||
com.google.android.gms:play-services-measurement-sdk:22.1.2
|
||||
com.google.android.gms:play-services-measurement:22.1.2
|
||||
com.google.android.gms:play-services-oss-licenses:17.1.0
|
||||
com.google.android.gms:play-services-stats:17.0.2
|
||||
com.google.android.gms:play-services-tasks:18.2.0
|
||||
com.google.auto.value:auto-value-annotations:1.6.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.10.1
|
||||
com.google.dagger:dagger-lint-aar:2.54
|
||||
com.google.dagger:dagger:2.54
|
||||
com.google.dagger:hilt-android:2.54
|
||||
com.google.dagger:hilt-core:2.54
|
||||
com.google.errorprone:error_prone_annotations:2.26.0
|
||||
com.google.firebase:firebase-analytics-ktx:22.1.2
|
||||
com.google.firebase:firebase-analytics:22.1.2
|
||||
com.google.firebase:firebase-annotations:16.2.0
|
||||
com.google.firebase:firebase-bom:33.7.0
|
||||
com.google.firebase:firebase-common-ktx:21.0.0
|
||||
com.google.firebase:firebase-common:21.0.0
|
||||
com.google.firebase:firebase-components:18.0.0
|
||||
com.google.firebase:firebase-installations-interop:17.1.1
|
||||
com.google.firebase:firebase-installations:18.0.0
|
||||
com.google.firebase:firebase-measurement-connector:19.0.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:31.1-android
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.maps.android:maps-compose:4.4.1
|
||||
com.google.maps.android:maps-ktx:5.0.0
|
||||
com.google.zxing:core:3.5.3
|
||||
com.squareup.okhttp3:logging-interceptor:4.12.0
|
||||
com.squareup.okhttp3:okhttp:4.12.0
|
||||
com.squareup.okio:okio-jvm:3.6.0
|
||||
com.squareup.okio:okio:3.6.0
|
||||
com.squareup.retrofit2:adapter-rxjava2:2.11.0
|
||||
com.squareup.retrofit2:converter-gson:2.11.0
|
||||
com.squareup.retrofit2:retrofit:2.11.0
|
||||
dev.chrisbanes.snapper:snapper:0.2.2
|
||||
io.github.mr0xf00:easycrop:0.1.1
|
||||
io.insert-koin:koin-android:4.0.1-RC1
|
||||
io.insert-koin:koin-androidx-compose:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-viewmodel-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-viewmodel:4.0.1-RC1
|
||||
io.insert-koin:koin-compose:4.0.1-RC1
|
||||
io.insert-koin:koin-core-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-core-viewmodel-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-core-viewmodel:4.0.1-RC1
|
||||
io.insert-koin:koin-core:4.0.1-RC1
|
||||
io.michaelrocks:libphonenumber-android:8.13.35
|
||||
io.reactivex.rxjava2:rxjava:2.2.21
|
||||
jakarta.inject:jakarta.inject-api:2.0.1
|
||||
javax.inject:javax.inject:1
|
||||
net.bytebuddy:byte-buddy-agent:1.14.8
|
||||
net.bytebuddy:byte-buddy:1.14.8
|
||||
org.checkerframework:checker-qual:3.12.0
|
||||
org.jetbrains.androidx.core:core-bundle-android-debug:1.0.1
|
||||
org.jetbrains.androidx.core:core-bundle:1.0.1
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose:2.8.3-rc01
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.3-rc01
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3
|
||||
org.jetbrains.androidx.savedstate:savedstate:1.2.2
|
||||
org.jetbrains.compose.animation:animation-core:1.7.0-rc01
|
||||
org.jetbrains.compose.animation:animation:1.7.0-rc01
|
||||
org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01
|
||||
org.jetbrains.compose.collection-internal:collection:1.7.0-rc01
|
||||
org.jetbrains.compose.foundation:foundation-layout:1.7.0-rc01
|
||||
org.jetbrains.compose.foundation:foundation:1.7.0-rc01
|
||||
org.jetbrains.compose.material3:material3:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material-icons-core:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material-ripple:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material:1.7.0-rc01
|
||||
org.jetbrains.compose.runtime:runtime-saveable:1.7.0-rc01
|
||||
org.jetbrains.compose.runtime:runtime:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-text:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-tooling-preview:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-util:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui:1.7.0-rc01
|
||||
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
|
||||
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
|
||||
org.jetbrains.kotlinx:atomicfu:0.23.2
|
||||
org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.8
|
||||
org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
|
||||
org.jetbrains:annotations:23.0.0
|
||||
org.jspecify:jspecify:1.0.0
|
||||
org.mockito:mockito-core:5.6.0
|
||||
org.objenesis:objenesis:3.3
|
||||
org.reactivestreams:reactive-streams:1.0.4
|
||||
253
androidApp/dependencies/demoReleaseRuntimeClasspath.txt
Normal file
253
androidApp/dependencies/demoReleaseRuntimeClasspath.txt
Normal file
@ -0,0 +1,253 @@
|
||||
androidx.activity:activity-compose:1.9.3
|
||||
androidx.activity:activity-ktx:1.9.3
|
||||
androidx.activity:activity:1.9.3
|
||||
androidx.annotation:annotation-experimental:1.4.1
|
||||
androidx.annotation:annotation-jvm:1.8.1
|
||||
androidx.annotation:annotation:1.8.1
|
||||
androidx.appcompat:appcompat-resources:1.7.0
|
||||
androidx.appcompat:appcompat:1.7.0
|
||||
androidx.arch.core:core-common:2.2.0
|
||||
androidx.arch.core:core-runtime:2.2.0
|
||||
androidx.autofill:autofill:1.0.0
|
||||
androidx.camera:camera-camera2:1.4.1
|
||||
androidx.camera:camera-core:1.4.1
|
||||
androidx.camera:camera-lifecycle:1.4.1
|
||||
androidx.camera:camera-video:1.4.1
|
||||
androidx.camera:camera-view:1.4.1
|
||||
androidx.collection:collection-jvm:1.4.4
|
||||
androidx.collection:collection-ktx:1.4.4
|
||||
androidx.collection:collection:1.4.4
|
||||
androidx.compose.animation:animation-android:1.7.6
|
||||
androidx.compose.animation:animation-core-android:1.7.6
|
||||
androidx.compose.animation:animation-core:1.7.6
|
||||
androidx.compose.animation:animation:1.7.6
|
||||
androidx.compose.foundation:foundation-android:1.7.6
|
||||
androidx.compose.foundation:foundation-layout-android:1.7.6
|
||||
androidx.compose.foundation:foundation-layout:1.7.6
|
||||
androidx.compose.foundation:foundation:1.7.6
|
||||
androidx.compose.material3:material3-android:1.3.1
|
||||
androidx.compose.material3:material3:1.3.1
|
||||
androidx.compose.material:material-android:1.7.6
|
||||
androidx.compose.material:material-icons-core-android:1.7.6
|
||||
androidx.compose.material:material-icons-core:1.7.6
|
||||
androidx.compose.material:material-icons-extended-android:1.7.6
|
||||
androidx.compose.material:material-icons-extended:1.7.6
|
||||
androidx.compose.material:material-ripple-android:1.7.6
|
||||
androidx.compose.material:material-ripple:1.7.6
|
||||
androidx.compose.material:material:1.7.6
|
||||
androidx.compose.runtime:runtime-android:1.7.6
|
||||
androidx.compose.runtime:runtime-saveable-android:1.7.6
|
||||
androidx.compose.runtime:runtime-saveable:1.7.6
|
||||
androidx.compose.runtime:runtime:1.7.6
|
||||
androidx.compose.ui:ui-android:1.7.6
|
||||
androidx.compose.ui:ui-geometry-android:1.7.6
|
||||
androidx.compose.ui:ui-geometry:1.7.6
|
||||
androidx.compose.ui:ui-graphics-android:1.7.6
|
||||
androidx.compose.ui:ui-graphics:1.7.6
|
||||
androidx.compose.ui:ui-text-android:1.7.6
|
||||
androidx.compose.ui:ui-text:1.7.6
|
||||
androidx.compose.ui:ui-tooling-preview-android:1.7.6
|
||||
androidx.compose.ui:ui-tooling-preview:1.7.6
|
||||
androidx.compose.ui:ui-unit-android:1.7.6
|
||||
androidx.compose.ui:ui-unit:1.7.6
|
||||
androidx.compose.ui:ui-util-android:1.7.6
|
||||
androidx.compose.ui:ui-util:1.7.6
|
||||
androidx.compose.ui:ui:1.7.6
|
||||
androidx.compose:compose-bom:2024.12.01
|
||||
androidx.concurrent:concurrent-futures-ktx:1.1.0
|
||||
androidx.concurrent:concurrent-futures:1.1.0
|
||||
androidx.core:core-ktx:1.15.0
|
||||
androidx.core:core-splashscreen:1.0.1
|
||||
androidx.core:core:1.15.0
|
||||
androidx.cursoradapter:cursoradapter:1.0.0
|
||||
androidx.customview:customview-poolingcontainer:1.0.0
|
||||
androidx.customview:customview:1.0.0
|
||||
androidx.databinding:viewbinding:7.4.2
|
||||
androidx.documentfile:documentfile:1.0.0
|
||||
androidx.drawerlayout:drawerlayout:1.0.0
|
||||
androidx.emoji2:emoji2-views-helper:1.3.0
|
||||
androidx.emoji2:emoji2:1.3.0
|
||||
androidx.exifinterface:exifinterface:1.3.2
|
||||
androidx.fragment:fragment-ktx:1.8.5
|
||||
androidx.fragment:fragment:1.8.5
|
||||
androidx.graphics:graphics-path:1.0.1
|
||||
androidx.hilt:hilt-navigation-compose:1.2.0
|
||||
androidx.hilt:hilt-navigation:1.2.0
|
||||
androidx.interpolator:interpolator:1.0.0
|
||||
androidx.legacy:legacy-support-core-utils:1.0.0
|
||||
androidx.lifecycle:lifecycle-common-java8:2.8.7
|
||||
androidx.lifecycle:lifecycle-common-jvm:2.8.7
|
||||
androidx.lifecycle:lifecycle-common:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata-core:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata:2.8.7
|
||||
androidx.lifecycle:lifecycle-process:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-compose-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-compose:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel:2.8.7
|
||||
androidx.loader:loader:1.0.0
|
||||
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|
||||
androidx.metrics:metrics-performance:1.0.0-beta01
|
||||
androidx.multidex:multidex:2.0.1
|
||||
androidx.navigation:navigation-common-ktx:2.8.5
|
||||
androidx.navigation:navigation-common:2.8.5
|
||||
androidx.navigation:navigation-compose:2.8.5
|
||||
androidx.navigation:navigation-runtime-ktx:2.8.5
|
||||
androidx.navigation:navigation-runtime:2.8.5
|
||||
androidx.print:print:1.0.0
|
||||
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
|
||||
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
|
||||
androidx.profileinstaller:profileinstaller:1.4.1
|
||||
androidx.resourceinspection:resourceinspection-annotation:1.0.1
|
||||
androidx.room:room-common:2.6.1
|
||||
androidx.room:room-ktx:2.6.1
|
||||
androidx.room:room-runtime:2.6.1
|
||||
androidx.savedstate:savedstate-ktx:1.2.1
|
||||
androidx.savedstate:savedstate:1.2.1
|
||||
androidx.sqlite:sqlite-framework:2.4.0
|
||||
androidx.sqlite:sqlite:2.4.0
|
||||
androidx.startup:startup-runtime:1.1.1
|
||||
androidx.tracing:tracing-ktx:1.2.0
|
||||
androidx.tracing:tracing:1.2.0
|
||||
androidx.vectordrawable:vectordrawable-animated:1.1.0
|
||||
androidx.vectordrawable:vectordrawable:1.1.0
|
||||
androidx.versionedparcelable:versionedparcelable:1.1.1
|
||||
androidx.viewpager:viewpager:1.0.0
|
||||
app.cash.turbine:turbine-jvm:1.1.0
|
||||
app.cash.turbine:turbine:1.1.0
|
||||
co.touchlab:stately-concurrency-jvm:2.1.0
|
||||
co.touchlab:stately-concurrency:2.1.0
|
||||
co.touchlab:stately-concurrent-collections-jvm:2.1.0
|
||||
co.touchlab:stately-concurrent-collections:2.1.0
|
||||
co.touchlab:stately-strict-jvm:2.1.0
|
||||
co.touchlab:stately-strict:2.1.0
|
||||
com.google.accompanist:accompanist-pager:0.34.0
|
||||
com.google.accompanist:accompanist-permissions:0.34.0
|
||||
com.google.android.gms:play-services-ads-identifier:18.0.0
|
||||
com.google.android.gms:play-services-base:18.5.0
|
||||
com.google.android.gms:play-services-basement:18.4.0
|
||||
com.google.android.gms:play-services-maps:18.2.0
|
||||
com.google.android.gms:play-services-measurement-api:22.1.2
|
||||
com.google.android.gms:play-services-measurement-base:22.1.2
|
||||
com.google.android.gms:play-services-measurement-impl:22.1.2
|
||||
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
|
||||
com.google.android.gms:play-services-measurement-sdk:22.1.2
|
||||
com.google.android.gms:play-services-measurement:22.1.2
|
||||
com.google.android.gms:play-services-oss-licenses:17.1.0
|
||||
com.google.android.gms:play-services-stats:17.0.2
|
||||
com.google.android.gms:play-services-tasks:18.2.0
|
||||
com.google.auto.value:auto-value-annotations:1.6.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.10.1
|
||||
com.google.dagger:dagger-lint-aar:2.54
|
||||
com.google.dagger:dagger:2.54
|
||||
com.google.dagger:hilt-android:2.54
|
||||
com.google.dagger:hilt-core:2.54
|
||||
com.google.errorprone:error_prone_annotations:2.26.0
|
||||
com.google.firebase:firebase-analytics-ktx:22.1.2
|
||||
com.google.firebase:firebase-analytics:22.1.2
|
||||
com.google.firebase:firebase-annotations:16.2.0
|
||||
com.google.firebase:firebase-bom:33.7.0
|
||||
com.google.firebase:firebase-common-ktx:21.0.0
|
||||
com.google.firebase:firebase-common:21.0.0
|
||||
com.google.firebase:firebase-components:18.0.0
|
||||
com.google.firebase:firebase-installations-interop:17.1.1
|
||||
com.google.firebase:firebase-installations:18.0.0
|
||||
com.google.firebase:firebase-measurement-connector:19.0.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:31.1-android
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.maps.android:maps-compose:4.4.1
|
||||
com.google.maps.android:maps-ktx:5.0.0
|
||||
com.google.zxing:core:3.5.3
|
||||
com.squareup.okhttp3:logging-interceptor:4.12.0
|
||||
com.squareup.okhttp3:okhttp:4.12.0
|
||||
com.squareup.okio:okio-jvm:3.6.0
|
||||
com.squareup.okio:okio:3.6.0
|
||||
com.squareup.retrofit2:adapter-rxjava2:2.11.0
|
||||
com.squareup.retrofit2:converter-gson:2.11.0
|
||||
com.squareup.retrofit2:retrofit:2.11.0
|
||||
dev.chrisbanes.snapper:snapper:0.2.2
|
||||
io.github.mr0xf00:easycrop:0.1.1
|
||||
io.insert-koin:koin-android:4.0.1-RC1
|
||||
io.insert-koin:koin-androidx-compose:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-viewmodel-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-viewmodel:4.0.1-RC1
|
||||
io.insert-koin:koin-compose:4.0.1-RC1
|
||||
io.insert-koin:koin-core-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-core-viewmodel-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-core-viewmodel:4.0.1-RC1
|
||||
io.insert-koin:koin-core:4.0.1-RC1
|
||||
io.michaelrocks:libphonenumber-android:8.13.35
|
||||
io.reactivex.rxjava2:rxjava:2.2.21
|
||||
jakarta.inject:jakarta.inject-api:2.0.1
|
||||
javax.inject:javax.inject:1
|
||||
net.bytebuddy:byte-buddy-agent:1.14.8
|
||||
net.bytebuddy:byte-buddy:1.14.8
|
||||
org.checkerframework:checker-qual:3.12.0
|
||||
org.jetbrains.androidx.core:core-bundle-android:1.0.1
|
||||
org.jetbrains.androidx.core:core-bundle:1.0.1
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose:2.8.3-rc01
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.3-rc01
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3
|
||||
org.jetbrains.androidx.savedstate:savedstate:1.2.2
|
||||
org.jetbrains.compose.animation:animation-core:1.7.0-rc01
|
||||
org.jetbrains.compose.animation:animation:1.7.0-rc01
|
||||
org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01
|
||||
org.jetbrains.compose.collection-internal:collection:1.7.0-rc01
|
||||
org.jetbrains.compose.foundation:foundation-layout:1.7.0-rc01
|
||||
org.jetbrains.compose.foundation:foundation:1.7.0-rc01
|
||||
org.jetbrains.compose.material3:material3:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material-icons-core:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material-ripple:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material:1.7.0-rc01
|
||||
org.jetbrains.compose.runtime:runtime-saveable:1.7.0-rc01
|
||||
org.jetbrains.compose.runtime:runtime:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-text:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-tooling-preview:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-util:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui:1.7.0-rc01
|
||||
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
|
||||
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
|
||||
org.jetbrains.kotlinx:atomicfu:0.23.2
|
||||
org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.8
|
||||
org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
|
||||
org.jetbrains:annotations:23.0.0
|
||||
org.jspecify:jspecify:1.0.0
|
||||
org.mockito:mockito-core:5.6.0
|
||||
org.objenesis:objenesis:3.3
|
||||
org.reactivestreams:reactive-streams:1.0.4
|
||||
258
androidApp/dependencies/prodDebugRuntimeClasspath.txt
Normal file
258
androidApp/dependencies/prodDebugRuntimeClasspath.txt
Normal file
@ -0,0 +1,258 @@
|
||||
androidx.activity:activity-compose:1.9.3
|
||||
androidx.activity:activity-ktx:1.9.3
|
||||
androidx.activity:activity:1.9.3
|
||||
androidx.annotation:annotation-experimental:1.4.1
|
||||
androidx.annotation:annotation-jvm:1.8.1
|
||||
androidx.annotation:annotation:1.8.1
|
||||
androidx.appcompat:appcompat-resources:1.7.0
|
||||
androidx.appcompat:appcompat:1.7.0
|
||||
androidx.arch.core:core-common:2.2.0
|
||||
androidx.arch.core:core-runtime:2.2.0
|
||||
androidx.autofill:autofill:1.0.0
|
||||
androidx.camera:camera-camera2:1.4.1
|
||||
androidx.camera:camera-core:1.4.1
|
||||
androidx.camera:camera-lifecycle:1.4.1
|
||||
androidx.camera:camera-video:1.4.1
|
||||
androidx.camera:camera-view:1.4.1
|
||||
androidx.collection:collection-jvm:1.4.4
|
||||
androidx.collection:collection-ktx:1.4.4
|
||||
androidx.collection:collection:1.4.4
|
||||
androidx.compose.animation:animation-android:1.7.6
|
||||
androidx.compose.animation:animation-core-android:1.7.6
|
||||
androidx.compose.animation:animation-core:1.7.6
|
||||
androidx.compose.animation:animation:1.7.6
|
||||
androidx.compose.foundation:foundation-android:1.7.6
|
||||
androidx.compose.foundation:foundation-layout-android:1.7.6
|
||||
androidx.compose.foundation:foundation-layout:1.7.6
|
||||
androidx.compose.foundation:foundation:1.7.6
|
||||
androidx.compose.material3:material3-android:1.3.1
|
||||
androidx.compose.material3:material3:1.3.1
|
||||
androidx.compose.material:material-android:1.7.6
|
||||
androidx.compose.material:material-icons-core-android:1.7.6
|
||||
androidx.compose.material:material-icons-core:1.7.6
|
||||
androidx.compose.material:material-icons-extended-android:1.7.6
|
||||
androidx.compose.material:material-icons-extended:1.7.6
|
||||
androidx.compose.material:material-ripple-android:1.7.6
|
||||
androidx.compose.material:material-ripple:1.7.6
|
||||
androidx.compose.material:material:1.7.6
|
||||
androidx.compose.runtime:runtime-android:1.7.6
|
||||
androidx.compose.runtime:runtime-saveable-android:1.7.6
|
||||
androidx.compose.runtime:runtime-saveable:1.7.6
|
||||
androidx.compose.runtime:runtime:1.7.6
|
||||
androidx.compose.ui:ui-android:1.7.6
|
||||
androidx.compose.ui:ui-geometry-android:1.7.6
|
||||
androidx.compose.ui:ui-geometry:1.7.6
|
||||
androidx.compose.ui:ui-graphics-android:1.7.6
|
||||
androidx.compose.ui:ui-graphics:1.7.6
|
||||
androidx.compose.ui:ui-test-manifest:1.7.6
|
||||
androidx.compose.ui:ui-text-android:1.7.6
|
||||
androidx.compose.ui:ui-text:1.7.6
|
||||
androidx.compose.ui:ui-tooling-android:1.7.6
|
||||
androidx.compose.ui:ui-tooling-data-android:1.7.6
|
||||
androidx.compose.ui:ui-tooling-data:1.7.6
|
||||
androidx.compose.ui:ui-tooling-preview-android:1.7.6
|
||||
androidx.compose.ui:ui-tooling-preview:1.7.6
|
||||
androidx.compose.ui:ui-tooling:1.7.6
|
||||
androidx.compose.ui:ui-unit-android:1.7.6
|
||||
androidx.compose.ui:ui-unit:1.7.6
|
||||
androidx.compose.ui:ui-util-android:1.7.6
|
||||
androidx.compose.ui:ui-util:1.7.6
|
||||
androidx.compose.ui:ui:1.7.6
|
||||
androidx.compose:compose-bom:2024.12.01
|
||||
androidx.concurrent:concurrent-futures-ktx:1.1.0
|
||||
androidx.concurrent:concurrent-futures:1.1.0
|
||||
androidx.core:core-ktx:1.15.0
|
||||
androidx.core:core-splashscreen:1.0.1
|
||||
androidx.core:core:1.15.0
|
||||
androidx.cursoradapter:cursoradapter:1.0.0
|
||||
androidx.customview:customview-poolingcontainer:1.0.0
|
||||
androidx.customview:customview:1.0.0
|
||||
androidx.databinding:viewbinding:7.4.2
|
||||
androidx.documentfile:documentfile:1.0.0
|
||||
androidx.drawerlayout:drawerlayout:1.0.0
|
||||
androidx.emoji2:emoji2-views-helper:1.3.0
|
||||
androidx.emoji2:emoji2:1.3.0
|
||||
androidx.exifinterface:exifinterface:1.3.2
|
||||
androidx.fragment:fragment-ktx:1.8.5
|
||||
androidx.fragment:fragment:1.8.5
|
||||
androidx.graphics:graphics-path:1.0.1
|
||||
androidx.hilt:hilt-navigation-compose:1.2.0
|
||||
androidx.hilt:hilt-navigation:1.2.0
|
||||
androidx.interpolator:interpolator:1.0.0
|
||||
androidx.legacy:legacy-support-core-utils:1.0.0
|
||||
androidx.lifecycle:lifecycle-common-java8:2.8.7
|
||||
androidx.lifecycle:lifecycle-common-jvm:2.8.7
|
||||
androidx.lifecycle:lifecycle-common:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata-core:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata:2.8.7
|
||||
androidx.lifecycle:lifecycle-process:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-compose-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-compose:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel:2.8.7
|
||||
androidx.loader:loader:1.0.0
|
||||
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|
||||
androidx.metrics:metrics-performance:1.0.0-beta01
|
||||
androidx.multidex:multidex:2.0.1
|
||||
androidx.navigation:navigation-common-ktx:2.8.5
|
||||
androidx.navigation:navigation-common:2.8.5
|
||||
androidx.navigation:navigation-compose:2.8.5
|
||||
androidx.navigation:navigation-runtime-ktx:2.8.5
|
||||
androidx.navigation:navigation-runtime:2.8.5
|
||||
androidx.print:print:1.0.0
|
||||
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
|
||||
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
|
||||
androidx.profileinstaller:profileinstaller:1.4.1
|
||||
androidx.resourceinspection:resourceinspection-annotation:1.0.1
|
||||
androidx.room:room-common:2.6.1
|
||||
androidx.room:room-ktx:2.6.1
|
||||
androidx.room:room-runtime:2.6.1
|
||||
androidx.savedstate:savedstate-ktx:1.2.1
|
||||
androidx.savedstate:savedstate:1.2.1
|
||||
androidx.sqlite:sqlite-framework:2.4.0
|
||||
androidx.sqlite:sqlite:2.4.0
|
||||
androidx.startup:startup-runtime:1.1.1
|
||||
androidx.tracing:tracing-ktx:1.2.0
|
||||
androidx.tracing:tracing:1.2.0
|
||||
androidx.vectordrawable:vectordrawable-animated:1.1.0
|
||||
androidx.vectordrawable:vectordrawable:1.1.0
|
||||
androidx.versionedparcelable:versionedparcelable:1.1.1
|
||||
androidx.viewpager:viewpager:1.0.0
|
||||
app.cash.turbine:turbine-jvm:1.1.0
|
||||
app.cash.turbine:turbine:1.1.0
|
||||
co.touchlab:stately-concurrency-jvm:2.1.0
|
||||
co.touchlab:stately-concurrency:2.1.0
|
||||
co.touchlab:stately-concurrent-collections-jvm:2.1.0
|
||||
co.touchlab:stately-concurrent-collections:2.1.0
|
||||
co.touchlab:stately-strict-jvm:2.1.0
|
||||
co.touchlab:stately-strict:2.1.0
|
||||
com.google.accompanist:accompanist-pager:0.34.0
|
||||
com.google.accompanist:accompanist-permissions:0.34.0
|
||||
com.google.android.gms:play-services-ads-identifier:18.0.0
|
||||
com.google.android.gms:play-services-base:18.5.0
|
||||
com.google.android.gms:play-services-basement:18.4.0
|
||||
com.google.android.gms:play-services-maps:18.2.0
|
||||
com.google.android.gms:play-services-measurement-api:22.1.2
|
||||
com.google.android.gms:play-services-measurement-base:22.1.2
|
||||
com.google.android.gms:play-services-measurement-impl:22.1.2
|
||||
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
|
||||
com.google.android.gms:play-services-measurement-sdk:22.1.2
|
||||
com.google.android.gms:play-services-measurement:22.1.2
|
||||
com.google.android.gms:play-services-oss-licenses:17.1.0
|
||||
com.google.android.gms:play-services-stats:17.0.2
|
||||
com.google.android.gms:play-services-tasks:18.2.0
|
||||
com.google.auto.value:auto-value-annotations:1.6.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.10.1
|
||||
com.google.dagger:dagger-lint-aar:2.54
|
||||
com.google.dagger:dagger:2.54
|
||||
com.google.dagger:hilt-android:2.54
|
||||
com.google.dagger:hilt-core:2.54
|
||||
com.google.errorprone:error_prone_annotations:2.26.0
|
||||
com.google.firebase:firebase-analytics-ktx:22.1.2
|
||||
com.google.firebase:firebase-analytics:22.1.2
|
||||
com.google.firebase:firebase-annotations:16.2.0
|
||||
com.google.firebase:firebase-bom:33.7.0
|
||||
com.google.firebase:firebase-common-ktx:21.0.0
|
||||
com.google.firebase:firebase-common:21.0.0
|
||||
com.google.firebase:firebase-components:18.0.0
|
||||
com.google.firebase:firebase-installations-interop:17.1.1
|
||||
com.google.firebase:firebase-installations:18.0.0
|
||||
com.google.firebase:firebase-measurement-connector:19.0.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:31.1-android
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.maps.android:maps-compose:4.4.1
|
||||
com.google.maps.android:maps-ktx:5.0.0
|
||||
com.google.zxing:core:3.5.3
|
||||
com.squareup.okhttp3:logging-interceptor:4.12.0
|
||||
com.squareup.okhttp3:okhttp:4.12.0
|
||||
com.squareup.okio:okio-jvm:3.6.0
|
||||
com.squareup.okio:okio:3.6.0
|
||||
com.squareup.retrofit2:adapter-rxjava2:2.11.0
|
||||
com.squareup.retrofit2:converter-gson:2.11.0
|
||||
com.squareup.retrofit2:retrofit:2.11.0
|
||||
dev.chrisbanes.snapper:snapper:0.2.2
|
||||
io.github.mr0xf00:easycrop:0.1.1
|
||||
io.insert-koin:koin-android:4.0.1-RC1
|
||||
io.insert-koin:koin-androidx-compose:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-viewmodel-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-viewmodel:4.0.1-RC1
|
||||
io.insert-koin:koin-compose:4.0.1-RC1
|
||||
io.insert-koin:koin-core-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-core-viewmodel-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-core-viewmodel:4.0.1-RC1
|
||||
io.insert-koin:koin-core:4.0.1-RC1
|
||||
io.michaelrocks:libphonenumber-android:8.13.35
|
||||
io.reactivex.rxjava2:rxjava:2.2.21
|
||||
jakarta.inject:jakarta.inject-api:2.0.1
|
||||
javax.inject:javax.inject:1
|
||||
net.bytebuddy:byte-buddy-agent:1.14.8
|
||||
net.bytebuddy:byte-buddy:1.14.8
|
||||
org.checkerframework:checker-qual:3.12.0
|
||||
org.jetbrains.androidx.core:core-bundle-android-debug:1.0.1
|
||||
org.jetbrains.androidx.core:core-bundle:1.0.1
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose:2.8.3-rc01
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.3-rc01
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3
|
||||
org.jetbrains.androidx.savedstate:savedstate:1.2.2
|
||||
org.jetbrains.compose.animation:animation-core:1.7.0-rc01
|
||||
org.jetbrains.compose.animation:animation:1.7.0-rc01
|
||||
org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01
|
||||
org.jetbrains.compose.collection-internal:collection:1.7.0-rc01
|
||||
org.jetbrains.compose.foundation:foundation-layout:1.7.0-rc01
|
||||
org.jetbrains.compose.foundation:foundation:1.7.0-rc01
|
||||
org.jetbrains.compose.material3:material3:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material-icons-core:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material-ripple:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material:1.7.0-rc01
|
||||
org.jetbrains.compose.runtime:runtime-saveable:1.7.0-rc01
|
||||
org.jetbrains.compose.runtime:runtime:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-text:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-tooling-preview:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-util:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui:1.7.0-rc01
|
||||
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
|
||||
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
|
||||
org.jetbrains.kotlinx:atomicfu:0.23.2
|
||||
org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.8
|
||||
org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
|
||||
org.jetbrains:annotations:23.0.0
|
||||
org.jspecify:jspecify:1.0.0
|
||||
org.mockito:mockito-core:5.6.0
|
||||
org.objenesis:objenesis:3.3
|
||||
org.reactivestreams:reactive-streams:1.0.4
|
||||
253
androidApp/dependencies/prodReleaseRuntimeClasspath.txt
Normal file
253
androidApp/dependencies/prodReleaseRuntimeClasspath.txt
Normal file
@ -0,0 +1,253 @@
|
||||
androidx.activity:activity-compose:1.9.3
|
||||
androidx.activity:activity-ktx:1.9.3
|
||||
androidx.activity:activity:1.9.3
|
||||
androidx.annotation:annotation-experimental:1.4.1
|
||||
androidx.annotation:annotation-jvm:1.8.1
|
||||
androidx.annotation:annotation:1.8.1
|
||||
androidx.appcompat:appcompat-resources:1.7.0
|
||||
androidx.appcompat:appcompat:1.7.0
|
||||
androidx.arch.core:core-common:2.2.0
|
||||
androidx.arch.core:core-runtime:2.2.0
|
||||
androidx.autofill:autofill:1.0.0
|
||||
androidx.camera:camera-camera2:1.4.1
|
||||
androidx.camera:camera-core:1.4.1
|
||||
androidx.camera:camera-lifecycle:1.4.1
|
||||
androidx.camera:camera-video:1.4.1
|
||||
androidx.camera:camera-view:1.4.1
|
||||
androidx.collection:collection-jvm:1.4.4
|
||||
androidx.collection:collection-ktx:1.4.4
|
||||
androidx.collection:collection:1.4.4
|
||||
androidx.compose.animation:animation-android:1.7.6
|
||||
androidx.compose.animation:animation-core-android:1.7.6
|
||||
androidx.compose.animation:animation-core:1.7.6
|
||||
androidx.compose.animation:animation:1.7.6
|
||||
androidx.compose.foundation:foundation-android:1.7.6
|
||||
androidx.compose.foundation:foundation-layout-android:1.7.6
|
||||
androidx.compose.foundation:foundation-layout:1.7.6
|
||||
androidx.compose.foundation:foundation:1.7.6
|
||||
androidx.compose.material3:material3-android:1.3.1
|
||||
androidx.compose.material3:material3:1.3.1
|
||||
androidx.compose.material:material-android:1.7.6
|
||||
androidx.compose.material:material-icons-core-android:1.7.6
|
||||
androidx.compose.material:material-icons-core:1.7.6
|
||||
androidx.compose.material:material-icons-extended-android:1.7.6
|
||||
androidx.compose.material:material-icons-extended:1.7.6
|
||||
androidx.compose.material:material-ripple-android:1.7.6
|
||||
androidx.compose.material:material-ripple:1.7.6
|
||||
androidx.compose.material:material:1.7.6
|
||||
androidx.compose.runtime:runtime-android:1.7.6
|
||||
androidx.compose.runtime:runtime-saveable-android:1.7.6
|
||||
androidx.compose.runtime:runtime-saveable:1.7.6
|
||||
androidx.compose.runtime:runtime:1.7.6
|
||||
androidx.compose.ui:ui-android:1.7.6
|
||||
androidx.compose.ui:ui-geometry-android:1.7.6
|
||||
androidx.compose.ui:ui-geometry:1.7.6
|
||||
androidx.compose.ui:ui-graphics-android:1.7.6
|
||||
androidx.compose.ui:ui-graphics:1.7.6
|
||||
androidx.compose.ui:ui-text-android:1.7.6
|
||||
androidx.compose.ui:ui-text:1.7.6
|
||||
androidx.compose.ui:ui-tooling-preview-android:1.7.6
|
||||
androidx.compose.ui:ui-tooling-preview:1.7.6
|
||||
androidx.compose.ui:ui-unit-android:1.7.6
|
||||
androidx.compose.ui:ui-unit:1.7.6
|
||||
androidx.compose.ui:ui-util-android:1.7.6
|
||||
androidx.compose.ui:ui-util:1.7.6
|
||||
androidx.compose.ui:ui:1.7.6
|
||||
androidx.compose:compose-bom:2024.12.01
|
||||
androidx.concurrent:concurrent-futures-ktx:1.1.0
|
||||
androidx.concurrent:concurrent-futures:1.1.0
|
||||
androidx.core:core-ktx:1.15.0
|
||||
androidx.core:core-splashscreen:1.0.1
|
||||
androidx.core:core:1.15.0
|
||||
androidx.cursoradapter:cursoradapter:1.0.0
|
||||
androidx.customview:customview-poolingcontainer:1.0.0
|
||||
androidx.customview:customview:1.0.0
|
||||
androidx.databinding:viewbinding:7.4.2
|
||||
androidx.documentfile:documentfile:1.0.0
|
||||
androidx.drawerlayout:drawerlayout:1.0.0
|
||||
androidx.emoji2:emoji2-views-helper:1.3.0
|
||||
androidx.emoji2:emoji2:1.3.0
|
||||
androidx.exifinterface:exifinterface:1.3.2
|
||||
androidx.fragment:fragment-ktx:1.8.5
|
||||
androidx.fragment:fragment:1.8.5
|
||||
androidx.graphics:graphics-path:1.0.1
|
||||
androidx.hilt:hilt-navigation-compose:1.2.0
|
||||
androidx.hilt:hilt-navigation:1.2.0
|
||||
androidx.interpolator:interpolator:1.0.0
|
||||
androidx.legacy:legacy-support-core-utils:1.0.0
|
||||
androidx.lifecycle:lifecycle-common-java8:2.8.7
|
||||
androidx.lifecycle:lifecycle-common-jvm:2.8.7
|
||||
androidx.lifecycle:lifecycle-common:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata-core:2.8.7
|
||||
androidx.lifecycle:lifecycle-livedata:2.8.7
|
||||
androidx.lifecycle:lifecycle-process:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-compose-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-compose:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-runtime:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7
|
||||
androidx.lifecycle:lifecycle-viewmodel:2.8.7
|
||||
androidx.loader:loader:1.0.0
|
||||
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
|
||||
androidx.metrics:metrics-performance:1.0.0-beta01
|
||||
androidx.multidex:multidex:2.0.1
|
||||
androidx.navigation:navigation-common-ktx:2.8.5
|
||||
androidx.navigation:navigation-common:2.8.5
|
||||
androidx.navigation:navigation-compose:2.8.5
|
||||
androidx.navigation:navigation-runtime-ktx:2.8.5
|
||||
androidx.navigation:navigation-runtime:2.8.5
|
||||
androidx.print:print:1.0.0
|
||||
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
|
||||
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
|
||||
androidx.profileinstaller:profileinstaller:1.4.1
|
||||
androidx.resourceinspection:resourceinspection-annotation:1.0.1
|
||||
androidx.room:room-common:2.6.1
|
||||
androidx.room:room-ktx:2.6.1
|
||||
androidx.room:room-runtime:2.6.1
|
||||
androidx.savedstate:savedstate-ktx:1.2.1
|
||||
androidx.savedstate:savedstate:1.2.1
|
||||
androidx.sqlite:sqlite-framework:2.4.0
|
||||
androidx.sqlite:sqlite:2.4.0
|
||||
androidx.startup:startup-runtime:1.1.1
|
||||
androidx.tracing:tracing-ktx:1.2.0
|
||||
androidx.tracing:tracing:1.2.0
|
||||
androidx.vectordrawable:vectordrawable-animated:1.1.0
|
||||
androidx.vectordrawable:vectordrawable:1.1.0
|
||||
androidx.versionedparcelable:versionedparcelable:1.1.1
|
||||
androidx.viewpager:viewpager:1.0.0
|
||||
app.cash.turbine:turbine-jvm:1.1.0
|
||||
app.cash.turbine:turbine:1.1.0
|
||||
co.touchlab:stately-concurrency-jvm:2.1.0
|
||||
co.touchlab:stately-concurrency:2.1.0
|
||||
co.touchlab:stately-concurrent-collections-jvm:2.1.0
|
||||
co.touchlab:stately-concurrent-collections:2.1.0
|
||||
co.touchlab:stately-strict-jvm:2.1.0
|
||||
co.touchlab:stately-strict:2.1.0
|
||||
com.google.accompanist:accompanist-pager:0.34.0
|
||||
com.google.accompanist:accompanist-permissions:0.34.0
|
||||
com.google.android.gms:play-services-ads-identifier:18.0.0
|
||||
com.google.android.gms:play-services-base:18.5.0
|
||||
com.google.android.gms:play-services-basement:18.4.0
|
||||
com.google.android.gms:play-services-maps:18.2.0
|
||||
com.google.android.gms:play-services-measurement-api:22.1.2
|
||||
com.google.android.gms:play-services-measurement-base:22.1.2
|
||||
com.google.android.gms:play-services-measurement-impl:22.1.2
|
||||
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
|
||||
com.google.android.gms:play-services-measurement-sdk:22.1.2
|
||||
com.google.android.gms:play-services-measurement:22.1.2
|
||||
com.google.android.gms:play-services-oss-licenses:17.1.0
|
||||
com.google.android.gms:play-services-stats:17.0.2
|
||||
com.google.android.gms:play-services-tasks:18.2.0
|
||||
com.google.auto.value:auto-value-annotations:1.6.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.10.1
|
||||
com.google.dagger:dagger-lint-aar:2.54
|
||||
com.google.dagger:dagger:2.54
|
||||
com.google.dagger:hilt-android:2.54
|
||||
com.google.dagger:hilt-core:2.54
|
||||
com.google.errorprone:error_prone_annotations:2.26.0
|
||||
com.google.firebase:firebase-analytics-ktx:22.1.2
|
||||
com.google.firebase:firebase-analytics:22.1.2
|
||||
com.google.firebase:firebase-annotations:16.2.0
|
||||
com.google.firebase:firebase-bom:33.7.0
|
||||
com.google.firebase:firebase-common-ktx:21.0.0
|
||||
com.google.firebase:firebase-common:21.0.0
|
||||
com.google.firebase:firebase-components:18.0.0
|
||||
com.google.firebase:firebase-installations-interop:17.1.1
|
||||
com.google.firebase:firebase-installations:18.0.0
|
||||
com.google.firebase:firebase-measurement-connector:19.0.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:31.1-android
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.maps.android:maps-compose:4.4.1
|
||||
com.google.maps.android:maps-ktx:5.0.0
|
||||
com.google.zxing:core:3.5.3
|
||||
com.squareup.okhttp3:logging-interceptor:4.12.0
|
||||
com.squareup.okhttp3:okhttp:4.12.0
|
||||
com.squareup.okio:okio-jvm:3.6.0
|
||||
com.squareup.okio:okio:3.6.0
|
||||
com.squareup.retrofit2:adapter-rxjava2:2.11.0
|
||||
com.squareup.retrofit2:converter-gson:2.11.0
|
||||
com.squareup.retrofit2:retrofit:2.11.0
|
||||
dev.chrisbanes.snapper:snapper:0.2.2
|
||||
io.github.mr0xf00:easycrop:0.1.1
|
||||
io.insert-koin:koin-android:4.0.1-RC1
|
||||
io.insert-koin:koin-androidx-compose:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-viewmodel-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-compose-viewmodel:4.0.1-RC1
|
||||
io.insert-koin:koin-compose:4.0.1-RC1
|
||||
io.insert-koin:koin-core-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-core-viewmodel-jvm:4.0.1-RC1
|
||||
io.insert-koin:koin-core-viewmodel:4.0.1-RC1
|
||||
io.insert-koin:koin-core:4.0.1-RC1
|
||||
io.michaelrocks:libphonenumber-android:8.13.35
|
||||
io.reactivex.rxjava2:rxjava:2.2.21
|
||||
jakarta.inject:jakarta.inject-api:2.0.1
|
||||
javax.inject:javax.inject:1
|
||||
net.bytebuddy:byte-buddy-agent:1.14.8
|
||||
net.bytebuddy:byte-buddy:1.14.8
|
||||
org.checkerframework:checker-qual:3.12.0
|
||||
org.jetbrains.androidx.core:core-bundle-android:1.0.1
|
||||
org.jetbrains.androidx.core:core-bundle:1.0.1
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose:2.8.3-rc01
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.3-rc01
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3
|
||||
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3
|
||||
org.jetbrains.androidx.savedstate:savedstate:1.2.2
|
||||
org.jetbrains.compose.animation:animation-core:1.7.0-rc01
|
||||
org.jetbrains.compose.animation:animation:1.7.0-rc01
|
||||
org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01
|
||||
org.jetbrains.compose.collection-internal:collection:1.7.0-rc01
|
||||
org.jetbrains.compose.foundation:foundation-layout:1.7.0-rc01
|
||||
org.jetbrains.compose.foundation:foundation:1.7.0-rc01
|
||||
org.jetbrains.compose.material3:material3:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material-icons-core:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material-ripple:1.7.0-rc01
|
||||
org.jetbrains.compose.material:material:1.7.0-rc01
|
||||
org.jetbrains.compose.runtime:runtime-saveable:1.7.0-rc01
|
||||
org.jetbrains.compose.runtime:runtime:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-text:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-tooling-preview:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui-util:1.7.0-rc01
|
||||
org.jetbrains.compose.ui:ui:1.7.0-rc01
|
||||
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
|
||||
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
|
||||
org.jetbrains.kotlinx:atomicfu:0.23.2
|
||||
org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.8
|
||||
org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.1
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
|
||||
org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
|
||||
org.jetbrains:annotations:23.0.0
|
||||
org.jspecify:jspecify:1.0.0
|
||||
org.mockito:mockito-core:5.6.0
|
||||
org.objenesis:objenesis:3.3
|
||||
org.reactivestreams:reactive-streams:1.0.4
|
||||
@ -10,7 +10,7 @@
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:622027757397:android:29f731fdcd3a65a6",
|
||||
"android_client_info": {
|
||||
"package_name": "org.mifos.mobile"
|
||||
"package_name": "org.mifos.mobile.demo"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
|
||||
@ -67,7 +67,7 @@
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="org.mifos.mobile.fileprovider"
|
||||
android:authorities="${applicationId}.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
|
||||
@ -11,7 +11,6 @@ package org.mifos.mobile
|
||||
|
||||
import androidx.multidex.MultiDex
|
||||
import androidx.multidex.MultiDexApplication
|
||||
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
||||
import dagger.hilt.android.HiltAndroidApp
|
||||
import org.mifos.mobile.core.datastore.PreferencesHelper
|
||||
import org.mifos.mobile.feature.settings.applySavedTheme
|
||||
@ -21,7 +20,6 @@ class MifosSelfServiceApp : MultiDexApplication() {
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
MultiDex.install(this)
|
||||
FirebaseCrashlytics.getInstance().isCrashlyticsCollectionEnabled = true
|
||||
PreferencesHelper(this).applySavedTheme()
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,8 +22,6 @@ dependencies {
|
||||
compileOnly(libs.android.gradlePlugin)
|
||||
compileOnly(libs.android.tools.common)
|
||||
compileOnly(libs.compose.gradlePlugin)
|
||||
compileOnly(libs.firebase.crashlytics.gradlePlugin)
|
||||
compileOnly(libs.firebase.performance.gradlePlugin)
|
||||
compileOnly(libs.kotlin.gradlePlugin)
|
||||
compileOnly(libs.ksp.gradlePlugin)
|
||||
compileOnly(libs.room.gradlePlugin)
|
||||
@ -42,58 +40,47 @@ tasks {
|
||||
|
||||
gradlePlugin {
|
||||
plugins {
|
||||
register("androidApplicationCompose") {
|
||||
id = "mifos.android.application.compose"
|
||||
implementationClass = "AndroidApplicationComposeConventionPlugin"
|
||||
}
|
||||
register("androidApplication") {
|
||||
id = "mifos.android.application"
|
||||
implementationClass = "AndroidApplicationConventionPlugin"
|
||||
}
|
||||
register("androidApplicationJacoco") {
|
||||
id = "mifos.android.application.jacoco"
|
||||
implementationClass = "AndroidApplicationJacocoConventionPlugin"
|
||||
register("androidApplicationCompose") {
|
||||
id = "mifos.android.application.compose"
|
||||
implementationClass = "AndroidApplicationComposeConventionPlugin"
|
||||
}
|
||||
register("androidHilt") {
|
||||
id = "mifos.android.hilt"
|
||||
implementationClass = "AndroidHiltConventionPlugin"
|
||||
}
|
||||
register("androidLibraryCompose") {
|
||||
id = "mifos.android.library.compose"
|
||||
implementationClass = "AndroidLibraryComposeConventionPlugin"
|
||||
|
||||
register("androidFlavors") {
|
||||
id = "mifos.android.application.flavors"
|
||||
implementationClass = "AndroidApplicationFlavorsConventionPlugin"
|
||||
}
|
||||
|
||||
// This can removed after migration
|
||||
register("androidLibrary") {
|
||||
id = "mifos.android.library"
|
||||
implementationClass = "AndroidLibraryConventionPlugin"
|
||||
}
|
||||
|
||||
register("androidLibraryCompose") {
|
||||
id = "mifos.android.library.compose"
|
||||
implementationClass = "AndroidLibraryComposeConventionPlugin"
|
||||
}
|
||||
|
||||
register("androidFeature") {
|
||||
id = "mifos.android.feature"
|
||||
implementationClass = "AndroidFeatureConventionPlugin"
|
||||
}
|
||||
register("androidLibraryJacoco") {
|
||||
id = "mifos.android.library.jacoco"
|
||||
implementationClass = "AndroidLibraryJacocoConventionPlugin"
|
||||
}
|
||||
register("androidTest") {
|
||||
id = "mifos.android.test"
|
||||
implementationClass = "AndroidTestConventionPlugin"
|
||||
|
||||
// Room Plugin
|
||||
register("androidHilt") {
|
||||
id = "mifos.android.hilt"
|
||||
implementationClass = "AndroidHiltConventionPlugin"
|
||||
}
|
||||
register("androidRoom") {
|
||||
id = "mifos.android.room"
|
||||
implementationClass = "AndroidRoomConventionPlugin"
|
||||
}
|
||||
register("androidFirebase") {
|
||||
id = "mifos.android.application.firebase"
|
||||
implementationClass = "AndroidApplicationFirebaseConventionPlugin"
|
||||
}
|
||||
register("androidLint") {
|
||||
id = "mifos.android.lint"
|
||||
implementationClass = "AndroidLintConventionPlugin"
|
||||
}
|
||||
register("jvmLibrary") {
|
||||
id = "mifos.jvm.library"
|
||||
implementationClass = "JvmLibraryConventionPlugin"
|
||||
}
|
||||
|
||||
// Utility Plugins
|
||||
register("detekt") {
|
||||
id = "mifos.detekt.plugin"
|
||||
implementationClass = "MifosDetektConventionPlugin"
|
||||
@ -104,15 +91,24 @@ gradlePlugin {
|
||||
implementationClass = "MifosSpotlessConventionPlugin"
|
||||
description = "Configures spotless for the project"
|
||||
}
|
||||
register("ktlint") {
|
||||
id = "mifos.ktlint.plugin"
|
||||
implementationClass = "MifosKtlintConventionPlugin"
|
||||
description = "Configures kotlinter for the project"
|
||||
}
|
||||
register("gitHooks") {
|
||||
id = "mifos.git.hooks"
|
||||
implementationClass = "MifosGitHooksConventionPlugin"
|
||||
description = "Installs git hooks for the project"
|
||||
}
|
||||
|
||||
// KMP & CMP Plugins
|
||||
register("kmpLibrary") {
|
||||
id = "mifos.kmp.library"
|
||||
implementationClass = "KMPLibraryConventionPlugin"
|
||||
}
|
||||
register("cmpFeature") {
|
||||
id = "mifos.cmp.feature"
|
||||
implementationClass = "CMPFeatureConventionPlugin"
|
||||
}
|
||||
register("kmpKoin") {
|
||||
id = "mifos.kmp.koin"
|
||||
implementationClass = "KMPKoinConventionPlugin"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,8 +15,7 @@ class AndroidApplicationConventionPlugin : Plugin<Project> {
|
||||
with(pluginManager) {
|
||||
apply("com.android.application")
|
||||
apply("org.jetbrains.kotlin.android")
|
||||
apply("mifos.android.lint")
|
||||
apply("mifos.android.application.jacoco")
|
||||
|
||||
apply("com.dropbox.dependency-guard")
|
||||
apply("mifos.detekt.plugin")
|
||||
apply("mifos.spotless.plugin")
|
||||
|
||||
@ -1,39 +0,0 @@
|
||||
import com.android.build.api.dsl.ApplicationExtension
|
||||
import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.gradle.kotlin.dsl.dependencies
|
||||
import org.mifos.mobile.libs
|
||||
|
||||
class AndroidApplicationFirebaseConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
with(pluginManager) {
|
||||
apply("com.google.gms.google-services")
|
||||
apply("com.google.firebase.firebase-perf")
|
||||
apply("com.google.firebase.crashlytics")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
val bom = libs.findLibrary("firebase-bom").get()
|
||||
add("implementation", platform(bom))
|
||||
"implementation"(libs.findLibrary("firebase.analytics").get())
|
||||
"implementation"(libs.findLibrary("firebase.performance").get())
|
||||
"implementation"(libs.findLibrary("firebase.crashlytics").get())
|
||||
"implementation"(libs.findLibrary("firebase.cloud.messaging").get())
|
||||
}
|
||||
|
||||
extensions.configure<ApplicationExtension> {
|
||||
buildTypes.configureEach {
|
||||
// Disable the Crashlytics mapping file upload. This feature should only be
|
||||
// enabled if a Firebase backend is available and configured in
|
||||
// google-services.json.
|
||||
configure<CrashlyticsExtension> {
|
||||
mappingFileUploadEnabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
import com.android.build.api.dsl.ApplicationExtension
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.mifos.mobile.configureFlavors
|
||||
|
||||
class AndroidApplicationFlavorsConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
extensions.configure<ApplicationExtension> {
|
||||
configureFlavors(this)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,24 +0,0 @@
|
||||
|
||||
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
||||
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.getByType
|
||||
import org.mifos.mobile.configureJacoco
|
||||
|
||||
class AndroidApplicationJacocoConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
pluginManager.apply("jacoco")
|
||||
val androidExtension = extensions.getByType<BaseAppModuleExtension>()
|
||||
|
||||
androidExtension.buildTypes.configureEach {
|
||||
enableAndroidTestCoverage = true
|
||||
enableUnitTestCoverage = true
|
||||
}
|
||||
|
||||
configureJacoco(extensions.getByType<ApplicationAndroidComponentsExtension>())
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -12,7 +12,6 @@ class AndroidFeatureConventionPlugin : Plugin<Project> {
|
||||
pluginManager.apply {
|
||||
apply("mifos.android.library")
|
||||
apply("mifos.android.hilt")
|
||||
apply("mifos.android.library.jacoco")
|
||||
}
|
||||
extensions.configure<LibraryExtension> {
|
||||
defaultConfig {
|
||||
|
||||
@ -15,8 +15,7 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
|
||||
with(pluginManager) {
|
||||
apply("com.android.library")
|
||||
apply("org.jetbrains.kotlin.android")
|
||||
apply("mifos.android.library.jacoco")
|
||||
apply("mifos.android.lint")
|
||||
|
||||
apply("mifos.detekt.plugin")
|
||||
apply("mifos.spotless.plugin")
|
||||
}
|
||||
@ -26,7 +25,9 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
|
||||
defaultConfig.targetSdk = 34
|
||||
// The resource prefix is derived from the module name,
|
||||
// so resources inside ":core:module1" must be prefixed with "core_module1_"
|
||||
resourcePrefix = path.split("""\W""".toRegex()).drop(1).distinct().joinToString(separator = "_").lowercase() + "_"
|
||||
resourcePrefix =
|
||||
path.split("""\W""".toRegex()).drop(1).distinct().joinToString(separator = "_")
|
||||
.lowercase() + "_"
|
||||
}
|
||||
extensions.configure<LibraryAndroidComponentsExtension> {
|
||||
configurePrintApksTask(this)
|
||||
|
||||
@ -1,24 +0,0 @@
|
||||
|
||||
import com.android.build.api.dsl.LibraryExtension
|
||||
import com.android.build.api.variant.LibraryAndroidComponentsExtension
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.getByType
|
||||
import org.mifos.mobile.configureJacoco
|
||||
|
||||
class AndroidLibraryJacocoConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
pluginManager.apply("jacoco")
|
||||
val androidExtension = extensions.getByType<LibraryExtension>()
|
||||
|
||||
androidExtension.buildTypes.configureEach {
|
||||
enableAndroidTestCoverage = true
|
||||
enableUnitTestCoverage = true
|
||||
}
|
||||
|
||||
configureJacoco(extensions.getByType<LibraryAndroidComponentsExtension>())
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,38 +0,0 @@
|
||||
|
||||
import com.android.build.api.dsl.ApplicationExtension
|
||||
import com.android.build.api.dsl.LibraryExtension
|
||||
import com.android.build.api.dsl.Lint
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import java.io.File
|
||||
|
||||
class AndroidLintConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
when {
|
||||
pluginManager.hasPlugin("com.android.application") ->
|
||||
configure<ApplicationExtension> { lint(Lint::configure) }
|
||||
|
||||
pluginManager.hasPlugin("com.android.library") ->
|
||||
configure<LibraryExtension> { lint(Lint::configure) }
|
||||
|
||||
else -> {
|
||||
pluginManager.apply("com.android.lint")
|
||||
configure<Lint>(Lint::configure)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun Lint.configure() {
|
||||
xmlReport = true
|
||||
checkDependencies = true
|
||||
abortOnError = false
|
||||
// Disable this rule until we ship the libraries to some maven.
|
||||
disable += "ResourceName"
|
||||
baseline = File("lint-baseline.xml")
|
||||
explainIssues = true
|
||||
htmlReport = true
|
||||
}
|
||||
@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
import androidx.room.gradle.RoomExtension
|
||||
import com.google.devtools.ksp.gradle.KspExtension
|
||||
import org.gradle.api.Plugin
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
import com.android.build.gradle.TestExtension
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.mifos.mobile.configureKotlinAndroid
|
||||
|
||||
class AndroidTestConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
with(pluginManager) {
|
||||
apply("com.android.test")
|
||||
apply("org.jetbrains.kotlin.android")
|
||||
}
|
||||
|
||||
extensions.configure<TestExtension> {
|
||||
configureKotlinAndroid(this)
|
||||
defaultConfig.targetSdk = 34
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.dependencies
|
||||
import org.mifos.mobile.libs
|
||||
|
||||
class CMPFeatureConventionPlugin : Plugin<Project> {
|
||||
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
with(pluginManager) {
|
||||
apply("mifos.kmp.libray")
|
||||
apply("mifos.kmp.koin")
|
||||
apply("org.jetbrains.kotlin.plugin.compose")
|
||||
apply("org.jetbrains.compose")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
add("commonMainImplementation", project(":core:ui"))
|
||||
add("commonMainImplementation", project(":core:designsystem"))
|
||||
add("commonMainImplementation", project(":core:testing"))
|
||||
add("commonMainImplementation", project(":core:data"))
|
||||
|
||||
add("commonMainImplementation", libs.findLibrary("koin.compose").get())
|
||||
add("commonMainImplementation", libs.findLibrary("koin.compose.viewmodel").get())
|
||||
|
||||
add("commonMainImplementation", libs.findLibrary("jb.composeRuntime").get())
|
||||
add("commonMainImplementation", libs.findLibrary("jb.composeViewmodel").get())
|
||||
add("commonMainImplementation", libs.findLibrary("jb.lifecycleViewmodel").get())
|
||||
add("commonMainImplementation", libs.findLibrary("jb.lifecycleViewmodelSavedState").get())
|
||||
add("commonMainImplementation", libs.findLibrary("jb.savedstate").get())
|
||||
add("commonMainImplementation", libs.findLibrary("jb.bundle").get())
|
||||
add("commonMainImplementation", libs.findLibrary("jb.composeNavigation").get())
|
||||
add("commonMainImplementation", libs.findLibrary("kotlinx.collections.immutable").get())
|
||||
|
||||
add("androidMainImplementation", libs.findLibrary("androidx.lifecycle.runtimeCompose").get())
|
||||
add("androidMainImplementation", libs.findLibrary("androidx.lifecycle.viewModelCompose").get())
|
||||
add("androidMainImplementation", libs.findLibrary("androidx.tracing.ktx").get())
|
||||
|
||||
add("androidMainImplementation", platform(libs.findLibrary("koin-bom").get()))
|
||||
add("androidMainImplementation", libs.findLibrary("koin-android").get())
|
||||
add("androidMainImplementation", libs.findLibrary("koin.androidx.compose").get())
|
||||
|
||||
add("androidMainImplementation", libs.findLibrary("koin.android").get())
|
||||
add("androidMainImplementation", libs.findLibrary("koin.androidx.navigation").get())
|
||||
add("androidMainImplementation", libs.findLibrary("koin.androidx.compose").get())
|
||||
add("androidMainImplementation", libs.findLibrary("koin.core.viewmodel").get())
|
||||
|
||||
add("androidTestImplementation", libs.findLibrary("koin.test.junit4").get())
|
||||
|
||||
add("androidInstrumentedTestImplementation", libs.findLibrary("androidx.navigation.testing").get())
|
||||
add("androidInstrumentedTestImplementation", libs.findLibrary("androidx.compose.ui.test").get())
|
||||
add("androidInstrumentedTestImplementation", libs.findLibrary("androidx.lifecycle.runtimeTesting").get())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.mifos.mobile.configureKotlinJvm
|
||||
|
||||
class JvmLibraryConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
with(pluginManager) {
|
||||
apply("org.jetbrains.kotlin.jvm")
|
||||
apply("mifos.android.lint")
|
||||
}
|
||||
configureKotlinJvm()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.dependencies
|
||||
import org.mifos.mobile.libs
|
||||
|
||||
class KMPKoinConventionPlugin : Plugin<Project> {
|
||||
|
||||
override fun apply(target: Project) {
|
||||
with(target){
|
||||
with(pluginManager){
|
||||
apply("com.google.devtools.ksp")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
val bom = libs.findLibrary("koin-bom").get()
|
||||
add("commonMainImplementation", platform(bom))
|
||||
add("commonMainImplementation", libs.findLibrary("koin.core").get())
|
||||
add("commonMainImplementation", libs.findLibrary("koin.annotations").get())
|
||||
add("kspCommonMainMetadata", libs.findLibrary("koin.ksp.compiler").get())
|
||||
add("commonTestImplementation", libs.findLibrary("koin.test").get())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
import com.android.build.gradle.LibraryExtension
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.gradle.kotlin.dsl.dependencies
|
||||
import org.mifos.mobile.configureFlavors
|
||||
import org.mifos.mobile.configureKotlinAndroid
|
||||
import org.mifos.mobile.configureKotlinMultiplatform
|
||||
import org.mifos.mobile.libs
|
||||
|
||||
class KMPLibraryConventionPlugin : Plugin<Project> {
|
||||
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
with(pluginManager) {
|
||||
apply("com.android.library")
|
||||
apply("org.jetbrains.kotlin.multiplatform")
|
||||
apply("mifos.kmp.koin")
|
||||
apply("mifos.detekt.plugin")
|
||||
apply("mifos.spotless.plugin")
|
||||
}
|
||||
|
||||
configureKotlinMultiplatform()
|
||||
|
||||
extensions.configure<LibraryExtension> {
|
||||
configureKotlinAndroid(this)
|
||||
defaultConfig.targetSdk = 34
|
||||
configureFlavors(this)
|
||||
/**
|
||||
* The resource prefix is derived from the module name,
|
||||
* so resources inside ":core:module1" must be prefixed with "core_module1_"
|
||||
*/
|
||||
resourcePrefix = path
|
||||
.split("""\W""".toRegex())
|
||||
.drop(1).distinct()
|
||||
.joinToString(separator = "_")
|
||||
.lowercase() + "_"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
add("commonTestImplementation", libs.findLibrary("kotlin.test").get())
|
||||
add("commonTestImplementation", libs.findLibrary("kotlinx.coroutines.test").get())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,16 +0,0 @@
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
|
||||
class MifosKtlintConventionPlugin : Plugin<Project> {
|
||||
override fun apply(target: Project) {
|
||||
with(target) {
|
||||
applyPlugins()
|
||||
}
|
||||
}
|
||||
|
||||
private fun Project.applyPlugins() {
|
||||
pluginManager.apply {
|
||||
apply("org.jlleitschuh.gradle.ktlint")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -48,7 +48,6 @@ internal fun Project.configureAndroidCompose(
|
||||
project.providers.gradleProperty("enableComposeCompilerReports").onlyIfTrue()
|
||||
.relativeToRootProject("compose-reports")
|
||||
.let(reportsDestination::set)
|
||||
|
||||
stabilityConfigurationFiles
|
||||
.add(isolated.rootProject.projectDirectory.file("compose_compiler_config.conf"))
|
||||
}
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
package org.mifos.mobile
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||
|
||||
@OptIn(ExperimentalWasmDsl::class, ExperimentalKotlinGradlePluginApi::class)
|
||||
internal fun Project.configureKotlinMultiplatform() {
|
||||
extensions.configure<KotlinMultiplatformExtension> {
|
||||
applyDefaultHierarchyTemplate()
|
||||
|
||||
jvm("desktop")
|
||||
androidTarget()
|
||||
iosSimulatorArm64()
|
||||
iosX64()
|
||||
iosArm64()
|
||||
js(IR) {
|
||||
this.nodejs()
|
||||
binaries.executable()
|
||||
}
|
||||
wasmJs() {
|
||||
browser()
|
||||
nodejs()
|
||||
}
|
||||
|
||||
compilerOptions {
|
||||
freeCompilerArgs.add("-Xexpect-actual-classes")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package org.mifos.mobile
|
||||
|
||||
/**
|
||||
* This is shared between :app and :benchmarks module to provide configurations type safety.
|
||||
*/
|
||||
enum class MifosBuildType(val applicationIdSuffix: String? = null) {
|
||||
DEBUG(".debug"),
|
||||
RELEASE,
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package org.mifos.mobile
|
||||
|
||||
import com.android.build.api.dsl.ApplicationExtension
|
||||
import com.android.build.api.dsl.ApplicationProductFlavor
|
||||
import com.android.build.api.dsl.CommonExtension
|
||||
import com.android.build.api.dsl.ProductFlavor
|
||||
|
||||
@Suppress("EnumEntryName")
|
||||
enum class FlavorDimension {
|
||||
contentType
|
||||
}
|
||||
|
||||
// The content for the app can either come from local static data which is useful for demo
|
||||
// purposes, or from a production backend server which supplies up-to-date, real content.
|
||||
// These two product flavors reflect this behaviour.
|
||||
@Suppress("EnumEntryName")
|
||||
enum class MifosFlavor(val dimension: FlavorDimension, val applicationIdSuffix: String? = null) {
|
||||
demo(FlavorDimension.contentType, applicationIdSuffix = ".demo"),
|
||||
prod(FlavorDimension.contentType)
|
||||
}
|
||||
|
||||
fun configureFlavors(
|
||||
commonExtension: CommonExtension<*, *, *, *, *, *>,
|
||||
flavorConfigurationBlock: ProductFlavor.(flavor: MifosFlavor) -> Unit = {}
|
||||
) {
|
||||
commonExtension.apply {
|
||||
flavorDimensions += FlavorDimension.contentType.name
|
||||
productFlavors {
|
||||
MifosFlavor.values().forEach {
|
||||
create(it.name) {
|
||||
dimension = it.dimension.name
|
||||
flavorConfigurationBlock(this, it)
|
||||
if (this@apply is ApplicationExtension && this is ApplicationProductFlavor) {
|
||||
if (it.applicationIdSuffix != null) {
|
||||
applicationIdSuffix = it.applicationIdSuffix
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -11,24 +11,30 @@ plugins {
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.android.library) apply false
|
||||
alias(libs.plugins.android.test) apply false
|
||||
|
||||
alias(libs.plugins.kotlin.android) apply false
|
||||
alias(libs.plugins.kotlin.jvm) apply false
|
||||
alias(libs.plugins.kotlin.serialization) apply false
|
||||
alias(libs.plugins.kotlin.parcelize) apply false
|
||||
alias(libs.plugins.dependencyGuard) apply false
|
||||
|
||||
alias(libs.plugins.firebase.crashlytics) apply false
|
||||
alias(libs.plugins.firebase.perf) apply false
|
||||
alias(libs.plugins.gms) apply false
|
||||
|
||||
alias(libs.plugins.hilt) apply false
|
||||
alias(libs.plugins.ksp) apply false
|
||||
alias(libs.plugins.roborazzi) apply false
|
||||
alias(libs.plugins.secrets) apply false
|
||||
alias(libs.plugins.room) apply false
|
||||
alias(libs.plugins.kotlin.android) apply false
|
||||
alias(libs.plugins.ksp) apply false
|
||||
|
||||
alias(libs.plugins.dependencyGuard) apply false
|
||||
alias(libs.plugins.detekt) apply false
|
||||
alias(libs.plugins.spotless) apply false
|
||||
|
||||
//Multiplatform Plugins
|
||||
alias(libs.plugins.jetbrainsCompose) apply false
|
||||
alias(libs.plugins.compose.compiler) apply false
|
||||
alias(libs.plugins.kotlinMultiplatform) apply false
|
||||
alias(libs.plugins.jetbrainsCompose) apply false
|
||||
alias(libs.plugins.wire) apply false
|
||||
alias(libs.plugins.ktorfit) apply false
|
||||
}
|
||||
|
||||
object DynamicVersion {
|
||||
|
||||
@ -13,9 +13,6 @@ call :run_gradle_task "check -p build-logic"
|
||||
call :run_gradle_task "spotlessApply --no-configuration-cache"
|
||||
call :run_gradle_task "dependencyGuardBaseline"
|
||||
call :run_gradle_task "detekt"
|
||||
call :run_gradle_task "testDebug :lint:test :androidApp:lintRelease :lint:lint"
|
||||
call :run_gradle_task "build"
|
||||
call :run_gradle_task "updateReleaseBadging"
|
||||
|
||||
echo All checks and tests completed successfully.
|
||||
exit /b 0
|
||||
|
||||
@ -28,9 +28,6 @@ tasks=(
|
||||
"spotlessApply --no-configuration-cache"
|
||||
"dependencyGuardBaseline"
|
||||
"detekt"
|
||||
# "testDebug :lint:test :lint:lint :androidApp:lintRelease"
|
||||
"build"
|
||||
"updateReleaseBadging"
|
||||
)
|
||||
|
||||
for task in "${tasks[@]}"; do
|
||||
|
||||
@ -65,7 +65,7 @@ object Utils {
|
||||
val newFile = File(imagePath, "image.png")
|
||||
return FileProvider.getUriForFile(
|
||||
context!!,
|
||||
"org.mifos.mobile.fileprovider",
|
||||
"${context.packageName}.fileprovider",
|
||||
newFile,
|
||||
)
|
||||
}
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
package org.mifos.mobile.core.database.utils
|
||||
|
||||
import androidx.room.TypeConverter
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import org.mifos.mobile.core.database.entity.ChargeCalculationTypeEntity
|
||||
import org.mifos.mobile.core.database.entity.ChargeTimeTypeEntity
|
||||
@ -29,7 +30,7 @@ class ChargeTypeConverters {
|
||||
|
||||
@TypeConverter
|
||||
fun fromChargeTimeType(value: ChargeTimeTypeEntity?): String? {
|
||||
return value?.let { Json.encodeToString(it) }
|
||||
return value?.let { Json.encodeToString(ChargeTimeTypeEntity.serializer(), it) }
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
@ -39,7 +40,7 @@ class ChargeTypeConverters {
|
||||
|
||||
@TypeConverter
|
||||
fun fromChargeCalculationType(value: ChargeCalculationTypeEntity?): String? {
|
||||
return value?.let { Json.encodeToString(it) }
|
||||
return value?.let { Json.encodeToString(ChargeCalculationTypeEntity.serializer(), it) }
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
@ -49,7 +50,7 @@ class ChargeTypeConverters {
|
||||
|
||||
@TypeConverter
|
||||
fun fromCurrency(value: CurrencyEntity?): String? {
|
||||
return value?.let { Json.encodeToString(it) }
|
||||
return value?.let { Json.encodeToString(CurrencyEntity.serializer(), it) }
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
|
||||
@ -207,7 +207,7 @@ class PreferencesHelper @Inject constructor(@ApplicationContext context: Context
|
||||
const val LANGUAGE_TYPE = "language_type"
|
||||
const val DEFAULT_SYSTEM_LANGUAGE = "default_system_language"
|
||||
|
||||
private const val DEFAULT_TENANT = "gsoc"
|
||||
private const val DEFAULT_TENANT = "default"
|
||||
private const val DEFAULT_BASE_URL = "https://gsoc.mifos.community"
|
||||
}
|
||||
|
||||
|
||||
@ -20,8 +20,6 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
lintPublish(projects.lint)
|
||||
|
||||
api(libs.androidx.compose.ui)
|
||||
api(libs.androidx.compose.foundation)
|
||||
api(libs.androidx.compose.foundation.layout)
|
||||
|
||||
@ -10,9 +10,9 @@
|
||||
package org.mifos.mobile.core.network
|
||||
|
||||
class BaseURL {
|
||||
val url: String? = null
|
||||
get() = field
|
||||
?: (PROTOCOL_HTTPS + API_ENDPOINT + API_PATH)
|
||||
val url: String
|
||||
get() = PROTOCOL_HTTPS + API_ENDPOINT + API_PATH
|
||||
|
||||
val defaultBaseUrl: String
|
||||
get() = PROTOCOL_HTTPS + API_ENDPOINT
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ class SelfServiceInterceptor(private val preferencesHelper: PreferencesHelper) :
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val chainRequest = chain.request()
|
||||
val builder = chainRequest.newBuilder()
|
||||
.header(HEADER_TENANT, preferencesHelper.tenant!!)
|
||||
.header(HEADER_TENANT, DEFAULT_TENANT)
|
||||
.header(CONTENT_TYPE, "application/json")
|
||||
if (!TextUtils.isEmpty(preferencesHelper.token)) {
|
||||
builder.header(HEADER_AUTH, preferencesHelper.token!!)
|
||||
@ -32,7 +32,7 @@ class SelfServiceInterceptor(private val preferencesHelper: PreferencesHelper) :
|
||||
companion object {
|
||||
const val HEADER_TENANT = "Fineract-Platform-TenantId"
|
||||
const val HEADER_AUTH = "Authorization"
|
||||
const val DEFAULT_TENANT = "gsoc"
|
||||
const val DEFAULT_TENANT = "default"
|
||||
const val CONTENT_TYPE = "Content-Type"
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,7 +41,7 @@ object NetworkModule {
|
||||
@Singleton
|
||||
fun providesRetrofitInstance(preferencesHelper: PreferencesHelper): Retrofit {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl(BaseURL().getUrl(preferencesHelper.baseUrl!!))
|
||||
.baseUrl(BaseURL().url)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
|
||||
.client(SelfServiceOkHttpClient(preferencesHelper).mifosOkHttpClient)
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
accompanistVersion = "0.34.0"
|
||||
activityVersion = "1.9.3"
|
||||
androidDesugarJdkLibs = "2.1.4"
|
||||
androidGradlePlugin = "8.7.0"
|
||||
androidTools = "31.7.0"
|
||||
androidGradlePlugin = "8.7.3"
|
||||
androidTools = "31.7.3"
|
||||
androidx-test-ext-junit = "1.2.1"
|
||||
androidxActivity = "1.9.3"
|
||||
androidxComposeBom = "2024.12.01"
|
||||
@ -25,7 +25,6 @@ appcompatVersion = "1.7.0"
|
||||
cameraCoreVersion = "1.3.4"
|
||||
cameraxVersion = "1.4.1"
|
||||
compose-material = "1.7.6"
|
||||
compose-plugin = "1.6.11"
|
||||
coreKtx = "1.15.0"
|
||||
dependencyGuard = "0.5.0"
|
||||
detekt = "1.23.7"
|
||||
@ -43,13 +42,6 @@ hilt = "2.54"
|
||||
hiltExt = "1.2.0"
|
||||
jacoco = "0.8.7"
|
||||
junitVersion = "4.13.2"
|
||||
koin = "4.0.0"
|
||||
koinComposeMultiplatform = "4.0.0"
|
||||
kotlin = "2.1.0"
|
||||
kotlinxCoroutines = "1.10.1"
|
||||
kotlinxImmutable = "0.3.8"
|
||||
kotlinxSerializationJson = "1.8.0-RC"
|
||||
ksp = "2.1.0-1.0.29"
|
||||
ktlint = "12.1.1"
|
||||
libphonenumberAndroidVersion = "8.13.35"
|
||||
lifecycleExtensionsVersion = "2.2.0"
|
||||
@ -78,6 +70,51 @@ twitter-detekt-compose = "0.0.26"
|
||||
versionCatalogLinterVersion = "1.0.3"
|
||||
zxingVersion = "3.5.3"
|
||||
|
||||
# Kotlin KMP Dependencies
|
||||
kotlin = "2.1.0"
|
||||
kotlinInject = "0.7.2"
|
||||
kotlinxCoroutines = "1.10.1"
|
||||
kotlinxDatetime = "0.6.1"
|
||||
kotlinxImmutable = "0.3.8"
|
||||
kotlinxSerializationJson = "1.7.3"
|
||||
ksp = "2.1.0-1.0.29"
|
||||
|
||||
# Ktor & Ktorfit
|
||||
ktorVersion = "3.0.3"
|
||||
ktorfit = "2.2.0"
|
||||
ktorfitKsp = "2.2.0-1.0.29"
|
||||
|
||||
# Koin CMP Dependencies
|
||||
koin = "4.0.1-RC1"
|
||||
koinAnnotationsVersion = "1.4.0-RC4"
|
||||
|
||||
# CMP Libraries
|
||||
compose-plugin = "1.7.0-rc01"
|
||||
coil = "3.0.4"
|
||||
backHandlerVersion = "2.1.0"
|
||||
constraintLayout = "0.4.0"
|
||||
multiplatformSettings = "1.2.0"
|
||||
mokoPermission = "0.18.0"
|
||||
qroseVersion = "1.0.1"
|
||||
okioVersion = "3.9.1"
|
||||
kermit = "2.0.4"
|
||||
fileKit = "0.8.7"
|
||||
wire = "5.0.0"
|
||||
|
||||
# Jetbrains CMP
|
||||
windowsSizeClass = "0.5.0"
|
||||
uiDesktopVersion = "1.7.0"
|
||||
composeJB = "1.7.3"
|
||||
composeLifecycle = "2.8.3"
|
||||
composeNavigation = "2.8.0-alpha10"
|
||||
jbCoreBundle = "1.0.1"
|
||||
jbSavedState = "1.2.2"
|
||||
|
||||
# Desktop Version
|
||||
packageName = "MifosWallet"
|
||||
packageNamespace = "org.mifos.desktop"
|
||||
packageVersion = "1.0.0"
|
||||
|
||||
[libraries]
|
||||
accompanist-pager = { group = "com.google.accompanist", name = "accompanist-pager", version.ref = "accompanistVersion" }
|
||||
accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanistVersion" }
|
||||
@ -132,7 +169,6 @@ androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "
|
||||
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidxTestRunner" }
|
||||
androidx-test-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "androidxUiAutomator" }
|
||||
androidx-tracing-ktx = { group = "androidx.tracing", name = "tracing-ktx", version.ref = "androidxTracing" }
|
||||
compose-gradlePlugin = { group = "org.jetbrains.kotlin", name = "compose-compiler-gradle-plugin", version.ref = "kotlin" }
|
||||
detekt-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" }
|
||||
detekt-gradlePlugin = { group = "io.gitlab.arturbosch.detekt", name = "detekt-gradle-plugin", version.ref = "detekt" }
|
||||
easycrop-compose = { group = "io.github.mr0xf00", name = "easycrop", version.ref = "easycropVersion" }
|
||||
@ -156,21 +192,7 @@ hilt-core = { group = "com.google.dagger", name = "hilt-core", version.ref = "hi
|
||||
hilt-ext-compiler = { group = "androidx.hilt", name = "hilt-compiler", version.ref = "hiltExt" }
|
||||
hilt-ext-work = { group = "androidx.hilt", name = "hilt-work", version.ref = "hiltExt" }
|
||||
jetbrains-kotlin-jdk7 = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk7", version.ref = "kotlin" }
|
||||
jetbrains-kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" }
|
||||
junit = { group = "junit", name = "junit", version.ref = "junitVersion" }
|
||||
koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin" }
|
||||
koin-androidx-compose = { group = "io.insert-koin", name = "koin-androidx-compose", version.ref = "koin" }
|
||||
koin-compose = { group = "io.insert-koin", name = "koin-compose", version.ref = "koinComposeMultiplatform" }
|
||||
koin-compose-viewmodel = { group = "io.insert-koin", name = "koin-compose-viewmodel", version.ref = "koinComposeMultiplatform" }
|
||||
koin-core = { group = "io.insert-koin", name = "koin-core", version.ref = "koin" }
|
||||
kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
|
||||
kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
|
||||
kotlinx-collections-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinxImmutable" }
|
||||
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinxCoroutines" }
|
||||
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }
|
||||
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" }
|
||||
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
|
||||
ksp-gradlePlugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
|
||||
ktlint-gradlePlugin = { group = "org.jlleitschuh.gradle", name = "ktlint-gradle", version.ref = "ktlint" }
|
||||
libphonenumber-android = { group = "io.michaelrocks", name = "libphonenumber-android", version.ref = "libphonenumberAndroidVersion" }
|
||||
lint-api = { group = "com.android.tools.lint", name = "lint-api", version.ref = "androidTools" }
|
||||
@ -194,6 +216,103 @@ twitter-detekt-compose = { group = "com.twitter.compose.rules", name = "detekt",
|
||||
work-testing = { group = "androidx.work", name = "work-testing", version = "2.8.1" }
|
||||
zxing-core = { group = "com.google.zxing", name = "core", version.ref = "zxingVersion" }
|
||||
|
||||
# [New KMP Dependencies]
|
||||
|
||||
# jb Compose
|
||||
jb-kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" }
|
||||
jb-kotlin-stdlib-js = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-js", version.ref = "kotlin" }
|
||||
jb-kotlin-dom = { group = "org.jetbrains.kotlin", name = "kotlin-dom-api-compat", version.ref = "kotlin" }
|
||||
jb-composeRuntime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeJB" }
|
||||
jb-composeViewmodel = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "composeLifecycle" }
|
||||
jb-lifecycleViewmodel = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel", version.ref = "composeLifecycle" }
|
||||
jb-lifecycleViewmodelSavedState = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate", version.ref = "composeLifecycle" }
|
||||
jb-bundle = { module = "org.jetbrains.androidx.core:core-bundle", version.ref = "jbCoreBundle" }
|
||||
jb-savedstate = { module = "org.jetbrains.androidx.savedstate:savedstate", version.ref = "jbSavedState" }
|
||||
jb-composeNavigation = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "composeNavigation" }
|
||||
jb-navigation = { module = "org.jetbrains.androidx.navigation:navigation-common", version.ref = "composeNavigation" }
|
||||
|
||||
koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin" }
|
||||
koin-androidx-compose = { group = "io.insert-koin", name = "koin-androidx-compose", version.ref = "koin" }
|
||||
koin-androidx-navigation = { group = "io.insert-koin", name = "koin-androidx-navigation", version.ref = "koin" }
|
||||
koin-annotations = { group = "io.insert-koin", name = "koin-annotations", version.ref = "koinAnnotationsVersion" }
|
||||
koin-bom = { group = "io.insert-koin", name = "koin-bom", version.ref = "koin" }
|
||||
koin-compose = { group = "io.insert-koin", name = "koin-compose", version.ref = "koin" }
|
||||
koin-compose-viewmodel = { group = "io.insert-koin", name = "koin-compose-viewmodel", version.ref = "koin" }
|
||||
koin-compose-navigation = { group = "io.insert-koin", name = "koin-compose-viewmodel-navigation", version.ref = "koin" }
|
||||
koin-core = { group = "io.insert-koin", name = "koin-core", version.ref = "koin" }
|
||||
koin-core-viewmodel = { group = "io.insert-koin", name = "koin-core-viewmodel", version.ref = "koin" }
|
||||
koin-ksp-compiler = { group = "io.insert-koin", name = "koin-ksp-compiler", version.ref = "koinAnnotationsVersion" }
|
||||
koin-test = { group = "io.insert-koin", name = "koin-test", version.ref = "koin" }
|
||||
koin-test-junit4 = { group = "io.insert-koin", name = "koin-test-junit4", version.ref = "koin" }
|
||||
koin-test-junit5 = { group = "io.insert-koin", name = "koin-test-junit5", version.ref = "koin" }
|
||||
|
||||
kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
|
||||
kotlin-inject-compiler-ksp = { group = "me.tatarka.inject", name = "kotlin-inject-compiler-ksp", version.ref = "kotlinInject" }
|
||||
kotlin-inject-runtime = { group = "me.tatarka.inject", name = "kotlin-inject-runtime", version.ref = "kotlinInject" }
|
||||
kotlin-inject-runtime-kmp = { group = "me.tatarka.inject", name = "kotlin-inject-runtime-kmp", version.ref = "kotlinInject" }
|
||||
kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
|
||||
kotlin-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "kotlin" }
|
||||
kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlin" }
|
||||
|
||||
kotlinx-collections-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinxImmutable" }
|
||||
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinxCoroutines" }
|
||||
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }
|
||||
kotlinx-coroutines-swing = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-swing", version.ref = "kotlinxCoroutines" }
|
||||
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" }
|
||||
kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinxDatetime" }
|
||||
kotlinx-serialization-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-core", version.ref = "kotlinxSerializationJson" }
|
||||
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
|
||||
|
||||
ksp-gradlePlugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
|
||||
|
||||
ktor-client-android = { group = "io.ktor", name = "ktor-client-android", version.ref = "ktorVersion" }
|
||||
ktor-client-auth = { group = "io.ktor", name = "ktor-client-auth", version.ref = "ktorVersion" }
|
||||
ktor-client-cio = { group = "io.ktor", name = "ktor-client-cio", version.ref = "ktorVersion" }
|
||||
ktor-client-content-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktorVersion" }
|
||||
ktor-client-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktorVersion" }
|
||||
ktor-client-darwin = { group = "io.ktor", name = "ktor-client-darwin", version.ref = "ktorVersion" }
|
||||
ktor-client-okhttp = { group = "io.ktor", name = "ktor-client-okhttp", version.ref = "ktorVersion" }
|
||||
ktor-client-java = { group = "io.ktor", name = "ktor-client-java", version.ref = "ktorVersion" }
|
||||
ktor-client-js = { group = "io.ktor", name = "ktor-client-js", version.ref = "ktorVersion" }
|
||||
ktor-client-json = { group = "io.ktor", name = "ktor-client-json", version.ref = "ktorVersion" }
|
||||
ktor-client-logging = { group = "io.ktor", name = "ktor-client-logging", version.ref = "ktorVersion" }
|
||||
ktor-client-serialization = { group = "io.ktor", name = "ktor-client-serialization", version.ref = "ktorVersion" }
|
||||
ktor-client-websockets = { group = "io.ktor", name = "ktor-client-websockets", version.ref = "ktorVersion" }
|
||||
ktor-client-winhttp = { group = "io.ktor", name = "ktor-client-winhttp", version.ref = "ktorVersion" }
|
||||
ktor-serialization-kotlinx-json = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktorVersion" }
|
||||
ktor-server-auth = { group = "io.ktor", name = "ktor-server-auth", version.ref = "ktorVersion" }
|
||||
|
||||
ktorfit-ksp = { group = "de.jensklingenberg.ktorfit", name = "ktorfit-ksp", version.ref = "ktorfitKsp" }
|
||||
ktorfit-converters-flow = { group = "de.jensklingenberg.ktorfit", name = "ktorfit-converters-flow", version.ref = "ktorfit" }
|
||||
ktorfit-lib = { group = "de.jensklingenberg.ktorfit", name = "ktorfit-lib", version.ref = "ktorfit" }
|
||||
|
||||
coil-core = { group = "io.coil-kt.coil3", name = "coil-core", version.ref = "coil" }
|
||||
coil-kt = { group = "io.coil-kt.coil3", name = "coil", version.ref = "coil" }
|
||||
coil-kt-compose = { group = "io.coil-kt.coil3", name = "coil-compose-core", version.ref = "coil" }
|
||||
coil-network-ktor = { group = "io.coil-kt.coil3", name = "coil-network-ktor3", version.ref = "coil" }
|
||||
coil-svg = { group = "io.coil-kt.coil3", name = "coil-svg", version.ref = "coil" }
|
||||
|
||||
compose-gradlePlugin = { group = "org.jetbrains.kotlin", name = "compose-compiler-gradle-plugin", version.ref = "kotlin" }
|
||||
squareup-okio = { group = "com.squareup.okio", name = "okio", version.ref = "okioVersion" }
|
||||
back-handler = { group = "com.arkivanov.essenty", name = "back-handler", version.ref = "backHandlerVersion" }
|
||||
constraint-layout = { group = "tech.annexflow.compose", name="constraintlayout-compose-multiplatform", version.ref = "constraintLayout" }
|
||||
filekit-core = { group = "io.github.vinceglb", name = "filekit-core", version.ref = "fileKit" }
|
||||
filekit-compose = { group = "io.github.vinceglb", name = "filekit-compose", version.ref = "fileKit" }
|
||||
qrose = { group = "io.github.alexzhirkevich", name="qrose", version.ref = "qroseVersion" }
|
||||
|
||||
kermit-logging = { group = "co.touchlab", name = "kermit", version.ref = "kermit" }
|
||||
kermit-simple = { group = "co.touchlab", name = "kermit-simple", version.ref = "kermit" }
|
||||
|
||||
multiplatform-settings = { group = "com.russhwolf", name = "multiplatform-settings-no-arg", version.ref = "multiplatformSettings" }
|
||||
multiplatform-settings-coroutines = { group = "com.russhwolf", name = "multiplatform-settings-coroutines", version.ref = "multiplatformSettings" }
|
||||
multiplatform-settings-serialization = { group = "com.russhwolf", name = "multiplatform-settings-serialization", version.ref = "multiplatformSettings" }
|
||||
multiplatform-settings-test = { group = "com.russhwolf", name = "multiplatform-settings-test", version.ref = "multiplatformSettings" }
|
||||
|
||||
moko-permission = { group = "dev.icerock.moko", name = "permissions", version.ref = "mokoPermission" }
|
||||
moko-permission-compose = { group = "dev.icerock.moko", name = "permissions-compose", version.ref = "mokoPermission" }
|
||||
|
||||
window-size = { group = "dev.chrisbanes.material3", name = "material3-window-size-class-multiplatform", version.ref = "windowsSizeClass" }
|
||||
|
||||
[bundles]
|
||||
androidx-compose-ui-test = [
|
||||
"androidx-compose-ui-test",
|
||||
@ -201,44 +320,55 @@ androidx-compose-ui-test = [
|
||||
]
|
||||
|
||||
[plugins]
|
||||
|
||||
# Android & Kotlin Plugins
|
||||
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
|
||||
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
|
||||
android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" }
|
||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||
dependencyGuard = { id = "com.dropbox.dependency-guard", version.ref = "dependencyGuard" }
|
||||
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
|
||||
firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebaseCrashlyticsPlugin" }
|
||||
firebase-perf = { id = "com.google.firebase.firebase-perf", version.ref = "firebasePerfPlugin" }
|
||||
gms = { id = "com.google.gms.google-services", version.ref = "gmsPlugin" }
|
||||
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
|
||||
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
|
||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
|
||||
# Hilt & Room Plugins
|
||||
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
|
||||
room = { id = "androidx.room", version.ref = "room" }
|
||||
|
||||
mifos-android-hilt = { id = "mifos.android.hilt", version = "unspecified" }
|
||||
mifos-android-room = { id = "mifos.android.room", version = "unspecified" }
|
||||
mifos-android-application = { id = "mifos.android.application", version = "unspecified" }
|
||||
mifos-android-application-compose = { id = "mifos.android.application.compose", version = "unspecified" }
|
||||
mifos-android-application-flavors = { id = "mifos.android.application.flavors", version = "unspecified" }
|
||||
mifos-android-library = { id = "mifos.android.library", version = "unspecified" }
|
||||
mifos-android-library-compose = { id = "mifos.android.library.compose", version = "unspecified" }
|
||||
mifos-android-feature = { id = "mifos.android.feature", version = "unspecified" }
|
||||
|
||||
# KMP & CMP Plugins
|
||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
|
||||
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||||
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
|
||||
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
|
||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
|
||||
mifos-android-application = { id = "mifos.android.application", version = "unspecified" }
|
||||
mifos-android-application-compose = { id = "mifos.android.application.compose", version = "unspecified" }
|
||||
mifos-android-application-firebase = { id = "mifos.android.application.firebase", version = "unspecified" }
|
||||
mifos-android-application-jacoco = { id = "mifos.android.application.jacoco", version = "unspecified" }
|
||||
mifos-android-feature = { id = "mifos.android.feature", version = "unspecified" }
|
||||
mifos-android-hilt = { id = "mifos.android.hilt", version = "unspecified" }
|
||||
mifos-android-library = { id = "mifos.android.library", version = "unspecified" }
|
||||
mifos-android-library-compose = { id = "mifos.android.library.compose", version = "unspecified" }
|
||||
mifos-android-library-jacoco = { id = "mifos.android.library.jacoco", version = "unspecified" }
|
||||
mifos-android-lint = { id = "mifos.android.lint", version = "unspecified" }
|
||||
mifos-android-room = { id = "mifos.android.room", version = "unspecified" }
|
||||
mifos-android-test = { id = "mifos.android.test", version = "unspecified" }
|
||||
ktorfit = { id = "de.jensklingenberg.ktorfit", version.ref = "ktorfit" }
|
||||
wire = { id = "com.squareup.wire", version.ref = "wire" }
|
||||
|
||||
mifos-cmp-feature = { id = "mifos.cmp.feature", version = "unspecified" }
|
||||
mifos-kmp-koin = { id = "mifos.kmp.koin", version = "unspecified" }
|
||||
mifos-kmp-library = { id = "mifos.kmp.library", version = "unspecified" }
|
||||
|
||||
# Utility Plugins
|
||||
mifos-detekt-plugin = { id = "mifos.detekt.plugin", version = "unspecified" }
|
||||
mifos-git-hooks = { id = "mifos.git.hooks", version = "unspecified" }
|
||||
mifos-jvm-library = { id = "mifos.jvm.library", version = "unspecified" }
|
||||
mifos-ktlint-plugin = { id = "mifos.ktlint.plugin", version = "unspecified" }
|
||||
mifos-spotless-plugin = { id = "mifos.spotless.plugin", version = "unspecified" }
|
||||
|
||||
firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebaseCrashlyticsPlugin" }
|
||||
firebase-perf = { id = "com.google.firebase.firebase-perf", version.ref = "firebasePerfPlugin" }
|
||||
|
||||
roborazzi = { id = "io.github.takahirom.roborazzi", version.ref = "roborazzi" }
|
||||
room = { id = "androidx.room", version.ref = "room" }
|
||||
gms = { id = "com.google.gms.google-services", version.ref = "gmsPlugin" }
|
||||
dependencyGuard = { id = "com.dropbox.dependency-guard", version.ref = "dependencyGuard" }
|
||||
secrets = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version.ref = "secrets" }
|
||||
|
||||
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
|
||||
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
|
||||
spotless = { id = "com.diffplug.spotless", version.ref = "spotlessVersion" }
|
||||
version-catalog-linter = { id = "io.github.pemistahl.version-catalog-linter", version.ref = "versionCatalogLinterVersion" }
|
||||
|
||||
@ -71,23 +71,6 @@ run_detekt_checks() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to run Version Catalog checks
|
||||
run_version_catalog_checks() {
|
||||
echo "\n🚀 Version catalog linter is now analyzing your catalog for potential issues!"
|
||||
./gradlew formatVersionCatalog
|
||||
DETEKT_EXIT_CODE=$?
|
||||
|
||||
if [ ${DETEKT_EXIT_CODE} -ne 0 ]; then
|
||||
echo "\n*********************************************************************************"
|
||||
echo " 💥 Oh no! Version Catalog found issues in the code! Time to fix those issues! 💥"
|
||||
echo " 💡 Tip: Review the Version Catalog logs to resolve these issues. 🛠️"
|
||||
echo "*********************************************************************************"
|
||||
exit ${DETEKT_EXIT_CODE}
|
||||
else
|
||||
echo "🎉 Fantastic work! Your Version catalog has been formatted successfully 🚀🌟"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to print success message
|
||||
print_success_message() {
|
||||
GIT_USERNAME=$(git config user.name)
|
||||
@ -103,7 +86,6 @@ check_current_branch
|
||||
run_spotless_checks
|
||||
run_detekt_checks
|
||||
run_dependency_guard
|
||||
run_version_catalog_checks
|
||||
print_success_message
|
||||
|
||||
exit 0
|
||||
|
||||
@ -73,24 +73,6 @@ run_dependency_guard() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to run Version Catalog checks
|
||||
run_version_catalog_checks() {
|
||||
echo "\n🚀 Version catalog linter is now analyzing your catalog for potential issues!"
|
||||
./gradlew checkVersionCatalog
|
||||
DETEKT_EXIT_CODE=$?
|
||||
|
||||
if [ ${DETEKT_EXIT_CODE} -ne 0 ]; then
|
||||
echo "\n*********************************************************************************"
|
||||
echo " 💥 Oh no! Version Catalog found issues in the code! Time to fix those issues! 💥"
|
||||
echo " 💡 Tip: Review the Version Catalog logs to resolve these issues. 🛠️"
|
||||
echo "*********************************************************************************"
|
||||
echo "🚀 Attempting to format the Version Catalog again..."
|
||||
./gradlew formatVersionCatalog
|
||||
else
|
||||
echo "🎉 Fantastic work! Your Version catalog has been formatted successfully 🚀🌟"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to print success message
|
||||
print_success_message() {
|
||||
GIT_USERNAME=$(git config user.name)
|
||||
@ -106,7 +88,6 @@ check_current_branch
|
||||
run_spotless_checks
|
||||
run_detekt_checks
|
||||
run_dependency_guard
|
||||
run_version_catalog_checks
|
||||
print_success_message
|
||||
|
||||
exit 0
|
||||
|
||||
@ -20,6 +20,7 @@ dependencyResolutionManagement {
|
||||
}
|
||||
|
||||
plugins {
|
||||
id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0")
|
||||
id("org.ajoberstar.reckon.settings") version("0.18.3")
|
||||
}
|
||||
|
||||
@ -73,7 +74,7 @@ include(":feature:home")
|
||||
include(":feature:user-profile")
|
||||
|
||||
// Lint Modules
|
||||
include(":lint")
|
||||
//include(":lint")
|
||||
|
||||
// Library Modules
|
||||
include(":libs:country-code-picker")
|
||||
|
||||
@ -6,13 +6,7 @@ plugins {
|
||||
}
|
||||
|
||||
kotlin {
|
||||
androidTarget {
|
||||
compilations.all {
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
}
|
||||
}
|
||||
androidTarget()
|
||||
|
||||
listOf(
|
||||
iosX64(),
|
||||
@ -49,12 +43,12 @@ kotlin {
|
||||
|
||||
android {
|
||||
namespace = "org.mifos.mobile.shared"
|
||||
compileSdk = 34
|
||||
compileSdk = 35
|
||||
defaultConfig {
|
||||
minSdk = 24
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user