Skip to content
This repository has been archived by the owner on Nov 5, 2024. It is now read-only.

Commit

Permalink
Bump the ivy-wallet group with 40 updates (#2874)
Browse files Browse the repository at this point in the history
* Bump the ivy-wallet group with 40 updates

Bumps the ivy-wallet group with 40 updates:

| Package | From | To |
| --- | --- | --- |
| com.android.tools.build:gradle | `8.1.2` | `8.2.1` |
| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `1.9.10` | `1.9.22` |
| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `1.9.10` | `1.9.22` |
| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `1.9.10` | `1.9.22` |
| [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://github.com/Kotlin/kotlinx.collections.immutable) | `0.3.6` | `0.3.7` |
| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.6.0` | `1.6.2` |
| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor) | `2.3.5` | `2.3.7` |
| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `2.3.5` | `2.3.7` |
| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `2.3.5` | `2.3.7` |
| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `2.3.5` | `2.3.7` |
| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `2.3.5` | `2.3.7` |
| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `2.3.5` | `2.3.7` |
| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.8` | `1.13.9` |
| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.7.2` | `5.8.0` |
| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.7.2` | `5.8.0` |
| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.7.2` | `5.8.0` |
| [io.kotest:kotest-framework-datatest](https://github.com/kotest/kotest) | `5.7.2` | `5.8.0` |
| [app.cash.molecule:molecule-gradle-plugin](https://github.com/cashapp/molecule) | `1.2.1` | `1.3.2` |
| androidx.activity:activity-compose | `1.8.0` | `1.8.2` |
| androidx.lifecycle:lifecycle-viewmodel-compose | `2.6.2` | `2.7.0` |
| [io.coil-kt:coil-compose](https://github.com/coil-kt/coil) | `2.4.0` | `2.5.0` |
| androidx.room:room-runtime | `2.6.0` | `2.6.1` |
| androidx.room:room-compiler | `2.6.0` | `2.6.1` |
| androidx.room:room-ktx | `2.6.0` | `2.6.1` |
| [com.google.dagger:hilt-android](https://github.com/google/dagger) | `2.48.1` | `2.50` |
| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger) | `2.48.1` | `2.50` |
| [com.google.dagger:hilt-android-gradle-plugin](https://github.com/google/dagger) | `2.48.1` | `2.50` |
| androidx.hilt:hilt-work | `1.0.0` | `1.1.0` |
| [com.google.firebase:firebase-crashlytics](https://github.com/firebase/firebase-android-sdk) | `18.5.0` | `18.6.0` |
| androidx.activity:activity-ktx | `1.8.0` | `1.8.2` |
| androidx.work:work-runtime-ktx | `2.8.1` | `2.9.0` |
| androidx.work:work-testing | `2.8.1` | `2.9.0` |
| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.10.0` | `1.11.0` |
| com.opencsv:opencsv | `5.8` | `5.9` |
| org.apache.commons:commons-lang3 | `3.13.0` | `3.14.0` |
| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.1` | `1.23.4` |
| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.1` | `1.23.4` |
| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.3.0` | `0.3.9` |
| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `1.9.10-1.0.13` | `1.9.22-1.0.16` |
| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.7.4` | `0.7.5` |


Updates `com.android.tools.build:gradle` from 8.1.2 to 8.2.1

Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.9.10 to 1.9.22
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.10...v1.9.22)

Updates `org.jetbrains.kotlin:kotlin-stdlib` from 1.9.10 to 1.9.22
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.10...v1.9.22)

Updates `org.jetbrains.kotlin:kotlin-serialization` from 1.9.10 to 1.9.22
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.10...v1.9.22)

Updates `org.jetbrains.kotlinx:kotlinx-collections-immutable` from 0.3.6 to 0.3.7
- [Release notes](https://github.com/Kotlin/kotlinx.collections.immutable/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.collections.immutable/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.collections.immutable@v0.3.6...v0.3.7)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.6.0 to 1.6.2
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.0...v1.6.2)

Updates `io.ktor:ktor-client-okhttp` from 2.3.5 to 2.3.7
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.7/CHANGELOG.md)
- [Commits](ktorio/ktor@2.3.5...2.3.7)

Updates `io.ktor:ktor-client-content-negotiation` from 2.3.5 to 2.3.7
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.7/CHANGELOG.md)
- [Commits](ktorio/ktor@2.3.5...2.3.7)

Updates `io.ktor:ktor-serialization-kotlinx-json` from 2.3.5 to 2.3.7
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.7/CHANGELOG.md)
- [Commits](ktorio/ktor@2.3.5...2.3.7)

Updates `io.ktor:ktor-client-core` from 2.3.5 to 2.3.7
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.7/CHANGELOG.md)
- [Commits](ktorio/ktor@2.3.5...2.3.7)

Updates `io.ktor:ktor-client-serialization` from 2.3.5 to 2.3.7
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.7/CHANGELOG.md)
- [Commits](ktorio/ktor@2.3.5...2.3.7)

Updates `io.ktor:ktor-client-logging` from 2.3.5 to 2.3.7
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.7/CHANGELOG.md)
- [Commits](ktorio/ktor@2.3.5...2.3.7)

Updates `io.mockk:mockk` from 1.13.8 to 1.13.9
- [Release notes](https://github.com/mockk/mockk/releases)
- [Commits](mockk/mockk@1.13.8...1.13.9)

Updates `io.kotest:kotest-runner-junit5` from 5.7.2 to 5.8.0
- [Release notes](https://github.com/kotest/kotest/releases)
- [Commits](kotest/kotest@v5.7.2...v5.8.0)

Updates `io.kotest:kotest-assertions-core` from 5.7.2 to 5.8.0
- [Release notes](https://github.com/kotest/kotest/releases)
- [Commits](kotest/kotest@v5.7.2...v5.8.0)

Updates `io.kotest:kotest-property` from 5.7.2 to 5.8.0
- [Release notes](https://github.com/kotest/kotest/releases)
- [Commits](kotest/kotest@v5.7.2...v5.8.0)

Updates `io.kotest:kotest-framework-datatest` from 5.7.2 to 5.8.0
- [Release notes](https://github.com/kotest/kotest/releases)
- [Commits](kotest/kotest@v5.7.2...v5.8.0)

Updates `app.cash.molecule:molecule-gradle-plugin` from 1.2.1 to 1.3.2
- [Release notes](https://github.com/cashapp/molecule/releases)
- [Changelog](https://github.com/cashapp/molecule/blob/trunk/CHANGELOG.md)
- [Commits](cashapp/molecule@1.2.1...1.3.2)

Updates `androidx.activity:activity-compose` from 1.8.0 to 1.8.2

Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.6.2 to 2.7.0

Updates `io.coil-kt:coil-compose` from 2.4.0 to 2.5.0
- [Release notes](https://github.com/coil-kt/coil/releases)
- [Changelog](https://github.com/coil-kt/coil/blob/main/CHANGELOG.md)
- [Commits](coil-kt/coil@2.4.0...2.5.0)

Updates `androidx.room:room-runtime` from 2.6.0 to 2.6.1

Updates `androidx.room:room-compiler` from 2.6.0 to 2.6.1

Updates `androidx.room:room-ktx` from 2.6.0 to 2.6.1

Updates `com.google.dagger:hilt-android` from 2.48.1 to 2.50
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.48.1...dagger-2.50)

Updates `com.google.dagger:hilt-android-compiler` from 2.48.1 to 2.50
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.48.1...dagger-2.50)

Updates `com.google.dagger:hilt-android-gradle-plugin` from 2.48.1 to 2.50
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.48.1...dagger-2.50)

Updates `androidx.hilt:hilt-work` from 1.0.0 to 1.1.0

Updates `com.google.firebase:firebase-crashlytics` from 18.5.0 to 18.6.0
- [Changelog](https://github.com/firebase/firebase-android-sdk/blob/master/docs/make_release_notes.py)
- [Commits](https://github.com/firebase/firebase-android-sdk/commits)

Updates `androidx.activity:activity-ktx` from 1.8.0 to 1.8.2

Updates `androidx.work:work-runtime-ktx` from 2.8.1 to 2.9.0

Updates `androidx.work:work-testing` from 2.8.1 to 2.9.0

Updates `com.google.android.material:material` from 1.10.0 to 1.11.0
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](material-components/material-components-android@1.10.0...1.11.0)

Updates `com.opencsv:opencsv` from 5.8 to 5.9

Updates `org.apache.commons:commons-lang3` from 3.13.0 to 3.14.0

Updates `io.gitlab.arturbosch.detekt:detekt-gradle-plugin` from 1.23.1 to 1.23.4
- [Release notes](https://github.com/detekt/detekt/releases)
- [Commits](detekt/detekt@v1.23.1...v1.23.4)

Updates `io.gitlab.arturbosch.detekt:detekt-formatting` from 1.23.1 to 1.23.4
- [Release notes](https://github.com/detekt/detekt/releases)
- [Commits](detekt/detekt@v1.23.1...v1.23.4)

Updates `io.nlopez.compose.rules:detekt` from 0.3.0 to 0.3.9
- [Release notes](https://github.com/mrmans0n/compose-rules/releases)
- [Commits](mrmans0n/compose-rules@v0.3.0...v0.3.9)

Updates `com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin` from 1.9.10-1.0.13 to 1.9.22-1.0.16
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@1.9.10-1.0.13...1.9.22-1.0.16)

Updates `org.jetbrains.kotlinx.kover` from 0.7.4 to 0.7.5
- [Release notes](https://github.com/Kotlin/kotlinx-kover/releases)
- [Changelog](https://github.com/Kotlin/kotlinx-kover/blob/main/CHANGELOG.md)
- [Commits](Kotlin/kotlinx-kover@0.7.4...v0.7.5)

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: org.jetbrains.kotlin:kotlin-serialization
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: org.jetbrains.kotlinx:kotlinx-collections-immutable
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.ktor:ktor-client-okhttp
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.ktor:ktor-client-content-negotiation
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.ktor:ktor-client-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.ktor:ktor-client-serialization
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.ktor:ktor-client-logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.mockk:mockk
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.kotest:kotest-runner-junit5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: io.kotest:kotest-assertions-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: io.kotest:kotest-property
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: io.kotest:kotest-framework-datatest
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: app.cash.molecule:molecule-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: androidx.activity:activity-compose
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: io.coil-kt:coil-compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: androidx.room:room-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: androidx.room:room-compiler
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: androidx.room:room-ktx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: com.google.dagger:hilt-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: com.google.dagger:hilt-android-compiler
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: com.google.dagger:hilt-android-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: androidx.hilt:hilt-work
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: com.google.firebase:firebase-crashlytics
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: androidx.activity:activity-ktx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: androidx.work:work-runtime-ktx
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: androidx.work:work-testing
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: com.google.android.material:material
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: com.opencsv:opencsv
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ivy-wallet
- dependency-name: io.gitlab.arturbosch.detekt:detekt-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.gitlab.arturbosch.detekt:detekt-formatting
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: io.nlopez.compose.rules:detekt
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
- dependency-name: org.jetbrains.kotlinx.kover
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ivy-wallet
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fix version update errors

* Add Detekt baseline

* Fix Detekt error

* Fix the ComposeViewModel test extension

* Add Detekt baseline

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: iliyangermanov <[email protected]>
  • Loading branch information
dependabot[bot] and ILIYANGERMANOV authored Jan 15, 2024
1 parent 8512768 commit 1c10d23
Show file tree
Hide file tree
Showing 8 changed files with 2,653 additions and 2,827 deletions.
2 changes: 1 addition & 1 deletion .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/migrations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions app/src/main/java/com/ivy/wallet/IvyAndroidApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@ class IvyAndroidApp : Application(), Configuration.Provider {
@Inject
lateinit var workerFactory: HiltWorkerFactory

override fun getWorkManagerConfiguration(): Configuration {
return Configuration.Builder()
override val workManagerConfiguration: Configuration
get() = Configuration.Builder()
.setWorkerFactory(workerFactory)
.build()
}

override fun onCreate() {
super.onCreate()
Expand Down
5,366 changes: 2,585 additions & 2,781 deletions config/detekt/baseline.yml

Large diffs are not rendered by default.

51 changes: 26 additions & 25 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
[versions]
kotlin = "1.9.10"
kotlin = "1.9.22"
kotlin-coroutines = "1.7.3"
ktor = "2.3.5"
ktor = "2.3.7"
arrow = "1.2.1"
kotest = "5.7.2"
kotest = "5.8.0"
# https://developer.android.com/jetpack/androidx/releases/compose
compose = "1.5.4"
# https://developer.android.com/jetpack/androidx/releases/compose-kotlin
compose-compiler = "1.5.3" # It's used! Use compatible with Kotlin one
compose-compiler = "1.5.8" # It's used! Use compatible with Kotlin one
compose-material3 = "1.1.2"
glance = "1.0.0"
hilt = "2.48.1"
room = "2.6.0"
androidx-work = "2.8.1"
kotlinx-collections = "0.3.6"
hilt = "2.50"
room = "2.6.1"
androidx-work = "2.9.0"
kotlinx-collections = "0.3.7"

# Android
min-sdk = "28"
Expand All @@ -22,10 +23,10 @@ version-code = "150"


# Linters
detekt = "1.23.1" # https://detekt.dev/docs/gettingstarted/gradle/
detekt = "1.23.4" # https://detekt.dev/docs/gettingstarted/gradle/

[libraries]
android-gradle-plugin = { module = "com.android.tools.build:gradle", version = "8.1.2" }
android-gradle-plugin = { module = "com.android.tools.build:gradle", version = "8.2.1" }

# Kotlin
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
Expand All @@ -36,7 +37,7 @@ kotlin-coroutines-googleplay-temp = { module = "org.jetbrains.kotlinx:kotlinx-co
kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "kotlinx-collections" }

# KotlinX Serialization
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.6.0" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.6.2" }
kotlinx-serialization-plugin = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin" }

# Ktor
Expand All @@ -51,15 +52,15 @@ ktor-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
arrowkt-core = { module = "io.arrow-kt:arrow-core", version.ref = "arrow" }

# Testing
mockk = { module = "io.mockk:mockk", version = "1.13.8" }
mockk = { module = "io.mockk:mockk", version = "1.13.9" }
kotest-junit5 = { module = "io.kotest:kotest-runner-junit5", version.ref = "kotest" }
kotest-assertions = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" }
kotest-property = { module = "io.kotest:kotest-property", version.ref = "kotest" }
kotest-property-arrow = { module = "io.kotest.extensions:kotest-property-arrow", version.ref = "arrow" }
kotest-assertions-arrow = { module = "io.kotest.extensions:kotest-assertions-arrow", version.ref = "arrow" }
kotest-datatest = { module = "io.kotest:kotest-framework-datatest", version.ref = "kotest" }
kotlin-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin-coroutines" }
cashapp-molecule-plugin = { module = "app.cash.molecule:molecule-gradle-plugin", version = "1.2.1" }
cashapp-molecule-plugin = { module = "app.cash.molecule:molecule-gradle-plugin", version = "1.3.2" }
cashapp-turbine = { module = "app.cash.turbine:turbine", version = "1.0.0" }

# Compose
Expand All @@ -70,10 +71,10 @@ compose-material3-windowsize = { module = "androidx.compose.material3:material3-
compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "compose" }
compose-runtime-livedate-temp = { module = "androidx.compose.runtime:runtime-livedata", version.ref = "compose" }
compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose" }
compose-activity = { module = "androidx.activity:activity-compose", version = "1.8.0" }
compose-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version = "2.6.2" }
compose-activity = { module = "androidx.activity:activity-compose", version = "1.8.2" }
compose-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version = "2.7.0" }
compose-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
compose-coil = { module = "io.coil-kt:coil-compose", version = "2.4.0" }
compose-coil = { module = "io.coil-kt:coil-compose", version = "2.5.0" }
glance = { module = "androidx.glance:glance", version.ref = "glance" }
glance-appwidget = { module = "androidx.glance:glance-appwidget", version.ref = "glance" }
glance-material3 = { module = "androidx.glance:glance-material3", version.ref = "glance" }
Expand All @@ -86,7 +87,7 @@ room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }

# Hilt
hilt = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
hilt-work = { module = "androidx.hilt:hilt-work", version = "1.0.0" }
hilt-work = { module = "androidx.hilt:hilt-work", version = "1.1.0" }
hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }
hilt-gradle-plugin = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" }

Expand All @@ -95,38 +96,38 @@ google-services-plugin = { module = "com.google.gms:google-services", version =
google-playservices-auth = { module = "com.google.android.gms:play-services-auth", version = "20.7.0" }
google-play-core = { module = "com.google.android.play:core", version = "1.10.3" }
google-play-core-ktx = { module = "com.google.android.play:core-ktx", version = "1.8.1" }
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics", version = "18.5.0" }
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics", version = "18.6.0" }
firebase-crashlytics-gradle-plugin = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "2.9.9" }

# AndroidX
androidx-security = { module = "androidx.security:security-crypto", version = "1.0.0" }
androidx-biometrics = { module = "androidx.biometric:biometric", version = "1.2.0-alpha05" }
androidx-activity = { module = "androidx.activity:activity-ktx", version = "1.8.0" }
androidx-activity = { module = "androidx.activity:activity-ktx", version = "1.8.2" }
appcompat-activity = { module = "androidx.appcompat:appcompat", version = "1.7.0-alpha03" }
androidx-work = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "androidx-work" }
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.3.2" }

# Material
material = { module = "com.google.android.material:material", version = "1.10.0" }
material = { module = "com.google.android.material:material", version = "1.11.0" }

# Logging
timber = { module = "com.jakewharton.timber:timber", version = "5.0.1" }

# Legacy
keval = { module = "com.notkamui.libs:keval", version = "0.9.0" }
opencsv-csv = { module = "com.opencsv:opencsv", version = "5.8" }
opencsv-apache-commons = { module = "org.apache.commons:commons-lang3", version = "3.13.0" }
opencsv-csv = { module = "com.opencsv:opencsv", version = "5.9" }
opencsv-apache-commons = { module = "org.apache.commons:commons-lang3", version = "3.14.0" }

# Linters
detekt-gradle-plugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
detekt-ruleset-compiler = { module = "com.braisgabin.detekt:kotlin-compiler-wrapper", version = "0.0.4" }
detekt-ruleset-ktlint = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
detekt-ruleset-compose = { module = "io.nlopez.compose.rules:detekt", version = "0.3.0" }
detekt-ruleset-compose = { module = "io.nlopez.compose.rules:detekt", version = "0.3.9" }
slack-lint-compose = { module = "com.slack.lint.compose:compose-lint-checks", version = "1.2.0" }

# KSP
ksp-plugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", version = "1.9.10-1.0.13" }
ksp-plugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", version = "1.9.22-1.0.16" }

[bundles]
kotlin = [
Expand Down Expand Up @@ -206,4 +207,4 @@ opencsv = [

[plugins]
gradleWrapperUpgrade = { id = "org.gradle.wrapper-upgrade", version = "0.11.4" }
koverPlugin = { id = "org.jetbrains.kotlinx.kover", version = "0.7.4" }
koverPlugin = { id = "org.jetbrains.kotlinx.kover", version = "0.7.5" }
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner

@SuppressLint("ComposeCompositionLocalUsage")
private val localNavigation = compositionLocalOf<Navigation> { error("No LocalNavigation") }
private val LocalNavigation = compositionLocalOf<Navigation> { error("No LocalNavigation") }

@Composable
fun NavigationRoot(
navigation: Navigation,
navGraph: @Composable (screen: Screen?) -> Unit
) {
CompositionLocalProvider(
localNavigation provides navigation,
LocalNavigation provides navigation,
) {
val viewModelStore = LocalViewModelStoreOwner.current
DisposableEffect(navigation.currentScreen) {
Expand All @@ -35,7 +35,7 @@ fun NavigationRoot(

@Composable
fun navigation(): Navigation {
return localNavigation.current
return LocalNavigation.current
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,35 @@ import app.cash.molecule.RecompositionMode
import app.cash.molecule.moleculeFlow
import app.cash.turbine.test
import com.ivy.domain.ComposeViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.resetMain
import kotlinx.coroutines.test.setMain

/**
* Runs a [ComposeViewModel] test simulation.
* Compose runtime effects are executed [RecompositionMode.Immediate].
* @param events pass the events that have occurred in your simulation
* @param verify assert what's the expected state after all the events
*/
@OptIn(ExperimentalCoroutinesApi::class)
fun <UiState, UiEvent> ComposeViewModel<UiState, UiEvent>.runTest(
vararg events: UiEvent,
events: List<UiEvent> = emptyList(),
verify: UiState.() -> Unit
) {
val viewModel = this
kotlinx.coroutines.test.runTest {
moleculeFlow(mode = RecompositionMode.Immediate) {
viewModel.uiState()
}.test {
events.onEach(viewModel::onEvent)
verify(expectMostRecentItem())
cancel()
try {
Dispatchers.setMain(Dispatchers.Unconfined)
val viewModel = this
kotlinx.coroutines.test.runTest {
moleculeFlow(mode = RecompositionMode.Immediate) {
viewModel.uiState()
}.test {
events.onEach(viewModel::onEvent)
verify(expectMostRecentItem())
cancel()
}
}
} finally {
Dispatchers.resetMain()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class ComposeViewModelTestExtTest : FreeSpec({
val viewModel = newViewModel()

viewModel.runTest(
FakeUiEvent.Increment
events = listOf(FakeUiEvent.Increment)
) {
counter shouldBe 43
}
Expand All @@ -28,7 +28,7 @@ class ComposeViewModelTestExtTest : FreeSpec({
val viewModel = newViewModel()

viewModel.runTest(
FakeUiEvent.Decrement
events = listOf(FakeUiEvent.Decrement)
) {
counter shouldBe 41
}
Expand All @@ -38,9 +38,11 @@ class ComposeViewModelTestExtTest : FreeSpec({
val viewModel = newViewModel()

viewModel.runTest(
FakeUiEvent.Decrement,
FakeUiEvent.Increment,
FakeUiEvent.Increment,
events = listOf(
FakeUiEvent.Decrement,
FakeUiEvent.Increment,
FakeUiEvent.Increment,
)
) {
counter shouldBe 43
}
Expand Down

0 comments on commit 1c10d23

Please sign in to comment.