diff --git a/.idea/compiler.xml b/.idea/compiler.xml index d88f58a9..bc84b827 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -3,6 +3,7 @@ + diff --git a/.idea/gradle.xml b/.idea/gradle.xml index cb99164d..232f8f16 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -25,6 +25,7 @@ + diff --git a/.idea/misc.xml b/.idea/misc.xml index bd2b2cb7..4673587a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -22,7 +22,7 @@ - + diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 67d9a741..c0586d1b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -79,4 +79,5 @@ dependencies { addUnitTest() testImplementation(testUtils) testImplementation(deps.koin.testJunit4) + testImplementation(deps.koin.test) } diff --git a/app/src/main/java/com/hoc/flowmvi/App.kt b/app/src/main/java/com/hoc/flowmvi/App.kt index 27bd8819..ab285f8f 100644 --- a/app/src/main/java/com/hoc/flowmvi/App.kt +++ b/app/src/main/java/com/hoc/flowmvi/App.kt @@ -51,8 +51,7 @@ class App : Application() { startKoin { androidContext(this@App) - // TODO(koin): https://github.com/InsertKoinIO/koin/issues/1188 - androidLogger(if (BuildConfig.DEBUG) Level.ERROR else Level.NONE) + androidLogger(if (BuildConfig.DEBUG) Level.DEBUG else Level.NONE) modules(allModules) } diff --git a/app/src/test/java/com/hoc/flowmvi/CheckModulesTest.kt b/app/src/test/java/com/hoc/flowmvi/CheckModulesTest.kt index 921dfa51..259fa6fc 100644 --- a/app/src/test/java/com/hoc/flowmvi/CheckModulesTest.kt +++ b/app/src/test/java/com/hoc/flowmvi/CheckModulesTest.kt @@ -36,8 +36,7 @@ class CheckModulesTest : AutoCloseKoinTest() { koinApplication { modules(allModules) - // TODO(koin): https://github.com/InsertKoinIO/koin/issues/1188 - printLogger(Level.ERROR) + printLogger(Level.DEBUG) checkModules { withInstance() diff --git a/buildSrc/src/main/kotlin/deps.kt b/buildSrc/src/main/kotlin/deps.kt index 34d2f71a..bf0b7886 100644 --- a/buildSrc/src/main/kotlin/deps.kt +++ b/buildSrc/src/main/kotlin/deps.kt @@ -6,33 +6,33 @@ import org.gradle.kotlin.dsl.project import org.gradle.plugin.use.PluginDependenciesSpec import org.gradle.plugin.use.PluginDependencySpec -const val ktlintVersion = "0.43.2" -const val kotlinVersion = "1.6.10" +const val ktlintVersion = "0.44.0" +const val kotlinVersion = "1.6.21" object appConfig { const val applicationId = "com.hoc.flowmvi" - const val compileSdkVersion = 31 - const val buildToolsVersion = "31.0.0" + const val compileSdkVersion = 32 + const val buildToolsVersion = "32.0.0" const val minSdkVersion = 21 - const val targetSdkVersion = 31 + const val targetSdkVersion = 32 private const val MAJOR = 2 private const val MINOR = 1 - private const val PATCH = 0 + private const val PATCH = 1 const val versionCode = MAJOR * 10000 + MINOR * 100 + PATCH - const val versionName = "$MAJOR.$MINOR.$PATCH" + const val versionName = "$MAJOR.$MINOR.$PATCH-SNAPSHOT" } object deps { object androidx { const val appCompat = "androidx.appcompat:appcompat:1.4.1" const val coreKtx = "androidx.core:core-ktx:1.7.0" - const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.1" + const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.3" const val recyclerView = "androidx.recyclerview:recyclerview:1.2.1" const val swipeRefreshLayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01" - const val material = "com.google.android.material:material:1.6.0-alpha02" + const val material = "com.google.android.material:material:1.6.0" } object lifecycle { @@ -52,7 +52,7 @@ object deps { } object coroutines { - private const val version = "1.6.0" + private const val version = "1.6.1" const val core = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version" const val android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version" @@ -60,20 +60,21 @@ object deps { } object koin { - private const val version = "3.1.5" + private const val version = "3.2.0-beta-1" const val core = "io.insert-koin:koin-core:$version" const val android = "io.insert-koin:koin-android:$version" const val testJunit4 = "io.insert-koin:koin-test-junit4:$version" + const val test = "io.insert-koin:koin-test:$version" } - const val coil = "io.coil-kt:coil:1.2.1" + const val coil = "io.coil-kt:coil:2.0.0-rc03" const val viewBindingDelegate = "com.github.hoc081098:ViewBindingDelegate:1.3.1" const val flowExt = "io.github.hoc081098:FlowExt:0.3.0" const val timber = "com.jakewharton.timber:timber:5.0.1" object arrow { - private const val version = "1.0.1" + private const val version = "1.1.2" const val core = "io.arrow-kt:arrow-core:$version" } @@ -89,7 +90,7 @@ object deps { } } - const val mockk = "io.mockk:mockk:1.12.1" + const val mockk = "io.mockk:mockk:1.12.3" const val kotlinJUnit = "org.jetbrains.kotlin:kotlin-test-junit:$kotlinVersion" } } @@ -125,6 +126,4 @@ fun DependencyHandler.addUnitTest(testImplementation: Boolean = true) { } val Project.isCiBuild: Boolean - get() = providers.environmentVariable("CI") - .forUseAtConfigurationTime() - .orNull == "true" + get() = providers.environmentVariable("CI").orNull == "true" diff --git a/data/build.gradle.kts b/data/build.gradle.kts index a70eba5f..36ab8761 100644 --- a/data/build.gradle.kts +++ b/data/build.gradle.kts @@ -58,4 +58,5 @@ dependencies { addUnitTest() testImplementation(testUtils) testImplementation(deps.koin.testJunit4) + testImplementation(deps.koin.test) } diff --git a/data/src/main/java/com/hoc/flowmvi/data/UserRepositoryImpl.kt b/data/src/main/java/com/hoc/flowmvi/data/UserRepositoryImpl.kt index ac7022ae..73012e16 100644 --- a/data/src/main/java/com/hoc/flowmvi/data/UserRepositoryImpl.kt +++ b/data/src/main/java/com/hoc/flowmvi/data/UserRepositoryImpl.kt @@ -1,7 +1,7 @@ package com.hoc.flowmvi.data import arrow.core.ValidatedNel -import arrow.core.computations.either +import arrow.core.continuations.either import arrow.core.left import arrow.core.leftWiden import arrow.core.right diff --git a/data/src/test/java/com/hoc/flowmvi/data/UserRepositoryImplRealAPITest.kt b/data/src/test/java/com/hoc/flowmvi/data/UserRepositoryImplRealAPITest.kt index 9e0c8436..033c1ff4 100644 --- a/data/src/test/java/com/hoc/flowmvi/data/UserRepositoryImplRealAPITest.kt +++ b/data/src/test/java/com/hoc/flowmvi/data/UserRepositoryImplRealAPITest.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.flow.first import kotlinx.coroutines.runBlocking import org.junit.Rule @@ -25,14 +26,15 @@ import kotlin.test.Test import kotlin.test.assertTrue import kotlin.time.ExperimentalTime +@FlowPreview @ExperimentalCoroutinesApi @ExperimentalTime @ExperimentalStdlibApi class UserRepositoryImplRealAPITest : KoinTest { @get:Rule val koinRuleTest = KoinTestRule.create { - // TODO(koin): https://github.com/InsertKoinIO/koin/issues/1188 - printLogger(Level.ERROR) + printLogger(Level.DEBUG) + modules( dataModule, module { diff --git a/feature-main/src/main/java/com/hoc/flowmvi/ui/main/MainActivity.kt b/feature-main/src/main/java/com/hoc/flowmvi/ui/main/MainActivity.kt index 3231e46e..9853b88c 100644 --- a/feature-main/src/main/java/com/hoc/flowmvi/ui/main/MainActivity.kt +++ b/feature-main/src/main/java/com/hoc/flowmvi/ui/main/MainActivity.kt @@ -55,7 +55,7 @@ class MainActivity : } } - override fun onCreateOptionsMenu(menu: Menu?) = + override fun onCreateOptionsMenu(menu: Menu) = menuInflater.inflate(R.menu.menu_main, menu).let { true } override fun setupViews() {