diff --git a/CHANGELOG.md b/CHANGELOG.md index 16de1fa6..a4db014d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ### Pending changes +([#195](https://github.com/badoo/MVICore/pull/195)): +Updated Kotlin to 1.9.23 + ([#193](https://github.com/badoo/MVICore/pull/193)): Updated Kotlin to 1.8.10 diff --git a/binder/build.gradle.kts b/binder/build.gradle.kts index 424dae05..8fde34fc 100644 --- a/binder/build.gradle.kts +++ b/binder/build.gradle.kts @@ -7,8 +7,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } tasks.withType { diff --git a/build.gradle.kts b/build.gradle.kts index 43e4a7ee..30db89c0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { @@ -8,7 +11,7 @@ buildscript { dependencies { classpath(libs.plugin.android) classpath(libs.plugin.kotlin) - classpath("org.jetbrains.dokka:dokka-gradle-plugin:${libs.versions.kotlinVersion.get()}") + classpath("org.jetbrains.dokka:dokka-gradle-plugin:${libs.versions.dokka.get()}") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -52,3 +55,13 @@ dependencyAnalysis { tasks.register("clean", Delete::class) { delete(rootProject.buildDir) } + +subprojects { + afterEvaluate { + tasks.withType(KotlinJvmCompile::class.java).configureEach { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_11) + } + } + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c676397f..bad86534 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,8 @@ [versions] -kotlinVersion = "1.8.10" +kotlinVersion = "1.9.23" detekt = "1.22.0" dependencyAnalysis = "1.19.0" +dokka = "1.9.20" # Dokka versions no longer match Kotlin 1:1 # Android androidLifecycleVersion = "2.6.1" diff --git a/mvicore-android/build.gradle.kts b/mvicore-android/build.gradle.kts index 0345e410..750c7086 100644 --- a/mvicore-android/build.gradle.kts +++ b/mvicore-android/build.gradle.kts @@ -36,8 +36,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } diff --git a/mvicore-debugdrawer/build.gradle.kts b/mvicore-debugdrawer/build.gradle.kts index e044a95a..92d7bcd2 100644 --- a/mvicore-debugdrawer/build.gradle.kts +++ b/mvicore-debugdrawer/build.gradle.kts @@ -29,8 +29,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } diff --git a/mvicore-demo/mvicore-demo-app/build.gradle.kts b/mvicore-demo/mvicore-demo-app/build.gradle.kts index d61f3fff..e7862277 100644 --- a/mvicore-demo/mvicore-demo-app/build.gradle.kts +++ b/mvicore-demo/mvicore-demo-app/build.gradle.kts @@ -35,8 +35,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } diff --git a/mvicore-demo/mvicore-demo-app/src/main/java/com/badoo/mvicoredemo/ui/common/ObservableSourceActivity.kt b/mvicore-demo/mvicore-demo-app/src/main/java/com/badoo/mvicoredemo/ui/common/ObservableSourceActivity.kt index 9ee2fcb6..b232d53e 100644 --- a/mvicore-demo/mvicore-demo-app/src/main/java/com/badoo/mvicoredemo/ui/common/ObservableSourceActivity.kt +++ b/mvicore-demo/mvicore-demo-app/src/main/java/com/badoo/mvicoredemo/ui/common/ObservableSourceActivity.kt @@ -4,7 +4,7 @@ import io.reactivex.ObservableSource import io.reactivex.Observer import io.reactivex.subjects.PublishSubject -abstract class ObservableSourceActivity : DebugActivity(), ObservableSource { +abstract class ObservableSourceActivity : DebugActivity(), ObservableSource { private val source = PublishSubject.create() diff --git a/mvicore-demo/mvicore-demo-app/src/main/java/com/badoo/mvicoredemo/ui/main/event/UiEvent.kt b/mvicore-demo/mvicore-demo-app/src/main/java/com/badoo/mvicoredemo/ui/main/event/UiEvent.kt index c66f792b..3faa3f77 100644 --- a/mvicore-demo/mvicore-demo-app/src/main/java/com/badoo/mvicoredemo/ui/main/event/UiEvent.kt +++ b/mvicore-demo/mvicore-demo-app/src/main/java/com/badoo/mvicoredemo/ui/main/event/UiEvent.kt @@ -2,6 +2,6 @@ package com.badoo.mvicoredemo.ui.main.event sealed class UiEvent { data class ButtonClicked(val idx: Int) : UiEvent() - object PlusClicked : UiEvent() - object ImageClicked : UiEvent() + data object PlusClicked : UiEvent() + data object ImageClicked : UiEvent() } diff --git a/mvicore-demo/mvicore-demo-catapi/build.gradle.kts b/mvicore-demo/mvicore-demo-catapi/build.gradle.kts index dfc02e9a..7e174647 100644 --- a/mvicore-demo/mvicore-demo-catapi/build.gradle.kts +++ b/mvicore-demo/mvicore-demo-catapi/build.gradle.kts @@ -27,8 +27,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } diff --git a/mvicore-demo/mvicore-demo-feature1/build.gradle.kts b/mvicore-demo/mvicore-demo-feature1/build.gradle.kts index 4ada39b1..f8472ce1 100644 --- a/mvicore-demo/mvicore-demo-feature1/build.gradle.kts +++ b/mvicore-demo/mvicore-demo-feature1/build.gradle.kts @@ -27,8 +27,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } diff --git a/mvicore-demo/mvicore-demo-feature1/src/main/java/com/badoo/feature1/Feature1.kt b/mvicore-demo/mvicore-demo-feature1/src/main/java/com/badoo/feature1/Feature1.kt index dd942e5b..84b7fdbc 100644 --- a/mvicore-demo/mvicore-demo-feature1/src/main/java/com/badoo/feature1/Feature1.kt +++ b/mvicore-demo/mvicore-demo-feature1/src/main/java/com/badoo/feature1/Feature1.kt @@ -17,7 +17,7 @@ class Feature1 : ReducerFeature( ) sealed class Wish { - object IncreaseCounter : Wish() + data object IncreaseCounter : Wish() data class SetActiveButton(val idx: Int) : Wish() } diff --git a/mvicore-demo/mvicore-demo-feature2/build.gradle.kts b/mvicore-demo/mvicore-demo-feature2/build.gradle.kts index 117fbeff..c9de4f91 100644 --- a/mvicore-demo/mvicore-demo-feature2/build.gradle.kts +++ b/mvicore-demo/mvicore-demo-feature2/build.gradle.kts @@ -28,8 +28,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } } diff --git a/mvicore-demo/mvicore-demo-feature2/src/main/java/com/badoo/feature2/Feature2.kt b/mvicore-demo/mvicore-demo-feature2/src/main/java/com/badoo/feature2/Feature2.kt index 98aa55fe..ec4ea30f 100644 --- a/mvicore-demo/mvicore-demo-feature2/src/main/java/com/badoo/feature2/Feature2.kt +++ b/mvicore-demo/mvicore-demo-feature2/src/main/java/com/badoo/feature2/Feature2.kt @@ -45,11 +45,11 @@ class Feature2( ) : Parcelable sealed class Wish { - object LoadNewImage : Wish() + data object LoadNewImage : Wish() } sealed class Effect { - object StartedLoading : Effect() + data object StartedLoading : Effect() data class LoadedImage(val url: String) : Effect() data class ErrorLoading(val throwable: Throwable) : Effect() } diff --git a/mvicore-diff/build.gradle.kts b/mvicore-diff/build.gradle.kts index 4e501475..18468780 100644 --- a/mvicore-diff/build.gradle.kts +++ b/mvicore-diff/build.gradle.kts @@ -7,8 +7,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } tasks.withType { diff --git a/mvicore-diff/src/test/java/com/badoo/mvicore/util/SealedModel.kt b/mvicore-diff/src/test/java/com/badoo/mvicore/util/SealedModel.kt index 2b103a65..2b94eabe 100644 --- a/mvicore-diff/src/test/java/com/badoo/mvicore/util/SealedModel.kt +++ b/mvicore-diff/src/test/java/com/badoo/mvicore/util/SealedModel.kt @@ -9,7 +9,7 @@ sealed class SealedModel { val nullable: Boolean? = null ): SealedModel() - object Nothing: SealedModel() { + data object Nothing: SealedModel() { override val list: List = emptyList() } } @@ -17,7 +17,7 @@ sealed class SealedModel { sealed class Nested { sealed class SubNested : Nested() { data class Value(val list: List) : SubNested() - object Nothing : SubNested() + data object Nothing : SubNested() } - object Something: Nested() + data object Something: Nested() } diff --git a/mvicore-plugin/common/build.gradle.kts b/mvicore-plugin/common/build.gradle.kts index 68333398..c5ebc566 100644 --- a/mvicore-plugin/common/build.gradle.kts +++ b/mvicore-plugin/common/build.gradle.kts @@ -5,8 +5,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } base.archivesBaseName = "mvicore-plugin-common" diff --git a/mvicore-plugin/common/src/main/java/com/badoo/mvicore/plugin/model/Event.kt b/mvicore-plugin/common/src/main/java/com/badoo/mvicore/plugin/model/Event.kt index 5fdefd02..6073a050 100644 --- a/mvicore-plugin/common/src/main/java/com/badoo/mvicore/plugin/model/Event.kt +++ b/mvicore-plugin/common/src/main/java/com/badoo/mvicore/plugin/model/Event.kt @@ -25,5 +25,5 @@ sealed class Event(val type: String) { val name: String ) : Event("connect") - object Ping: Event("ping") + data object Ping: Event("ping") } diff --git a/mvicore-plugin/idea/build.gradle.kts b/mvicore-plugin/idea/build.gradle.kts index d331064c..cd96ddb8 100644 --- a/mvicore-plugin/idea/build.gradle.kts +++ b/mvicore-plugin/idea/build.gradle.kts @@ -7,8 +7,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } group = "com.github.badoo.mvicore" diff --git a/mvicore-plugin/middleware/build.gradle.kts b/mvicore-plugin/middleware/build.gradle.kts index 34b21a84..df635d3a 100644 --- a/mvicore-plugin/middleware/build.gradle.kts +++ b/mvicore-plugin/middleware/build.gradle.kts @@ -7,8 +7,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } base.archivesBaseName = "mvicore-plugin-middleware" diff --git a/mvicore/build.gradle.kts b/mvicore/build.gradle.kts index 800b62ec..56b68d3f 100644 --- a/mvicore/build.gradle.kts +++ b/mvicore/build.gradle.kts @@ -7,8 +7,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } tasks.withType { diff --git a/mvicore/src/main/java/com/badoo/mvicore/extension/Rx.kt b/mvicore/src/main/java/com/badoo/mvicore/extension/Rx.kt index e0722ac0..acf1ed82 100644 --- a/mvicore/src/main/java/com/badoo/mvicore/extension/Rx.kt +++ b/mvicore/src/main/java/com/badoo/mvicore/extension/Rx.kt @@ -5,7 +5,7 @@ import io.reactivex.Observer import io.reactivex.Scheduler import io.reactivex.functions.Consumer -fun Observer.asConsumer() = Consumer { onNext(it) } +fun Observer.asConsumer() = Consumer { onNext(it) } internal fun Observable.subscribeOnNullable(scheduler: Scheduler?): Observable = if (scheduler != null) subscribeOn(scheduler) else this diff --git a/mvicore/src/test/java/com/badoo/mvicore/TestHelper.kt b/mvicore/src/test/java/com/badoo/mvicore/TestHelper.kt index cbe6ed0c..0ee93be6 100644 --- a/mvicore/src/test/java/com/badoo/mvicore/TestHelper.kt +++ b/mvicore/src/test/java/com/badoo/mvicore/TestHelper.kt @@ -59,36 +59,36 @@ class TestHelper { } sealed class TestWish { - object Unfulfillable : TestWish() - object MaybeFulfillable : TestWish() - object FulfillableInstantly1 : TestWish() - object FulfillableInstantly2 : TestWish() + data object Unfulfillable : TestWish() + data object MaybeFulfillable : TestWish() + data object FulfillableInstantly1 : TestWish() + data object FulfillableInstantly2 : TestWish() data class FulfillableAsync(val delayMs: Long) : TestWish() - object TranslatesTo3Effects : TestWish() - object LoopbackWishInitial : TestWish() - object LoopbackWish1 : TestWish() - object LoopbackWish2 : TestWish() - object LoopbackWish3 : TestWish() + data object TranslatesTo3Effects : TestWish() + data object LoopbackWishInitial : TestWish() + data object LoopbackWish1 : TestWish() + data object LoopbackWish2 : TestWish() + data object LoopbackWish3 : TestWish() data class IncreasCounterBy(val value: Int) : TestWish() } sealed class TestEffect { - object StartedAsync : TestEffect() + data object StartedAsync : TestEffect() data class InstantEffect(val amount: Int) : TestEffect() data class FinishedAsync(val amount: Int) : TestEffect() data class ConditionalThingHappened(val multiplier: Int) : TestEffect() - object MultipleEffect1 : TestEffect() - object MultipleEffect2 : TestEffect() - object MultipleEffect3 : TestEffect() - object LoopbackEffectInitial : TestEffect() - object LoopbackEffect1 : TestEffect() - object LoopbackEffect2 : TestEffect() - object LoopbackEffect3 : TestEffect() + data object MultipleEffect1 : TestEffect() + data object MultipleEffect2 : TestEffect() + data object MultipleEffect3 : TestEffect() + data object LoopbackEffectInitial : TestEffect() + data object LoopbackEffect1 : TestEffect() + data object LoopbackEffect2 : TestEffect() + data object LoopbackEffect3 : TestEffect() } sealed class TestNews { - object ConditionalThingHappened : TestNews() - object Loopback : TestNews() + data object ConditionalThingHappened : TestNews() + data object Loopback : TestNews() } class TestActor( diff --git a/mvicore/src/test/java/com/badoo/mvicore/bootstrapper/BootstrapperTest.kt b/mvicore/src/test/java/com/badoo/mvicore/bootstrapper/BootstrapperTest.kt index d80353de..9e4c40f4 100644 --- a/mvicore/src/test/java/com/badoo/mvicore/bootstrapper/BootstrapperTest.kt +++ b/mvicore/src/test/java/com/badoo/mvicore/bootstrapper/BootstrapperTest.kt @@ -26,9 +26,9 @@ import org.mockito.kotlin.verify class BootstrapperTest { private sealed class Action { - object Action1 : Action() - object Action2 : Action() - object Action3 : Action() + data object Action1 : Action() + data object Action2 : Action() + data object Action3 : Action() } private lateinit var feature: Feature diff --git a/mvicore/src/test/java/com/badoo/mvicore/feature/BaseFeaturePostProcessorTest.kt b/mvicore/src/test/java/com/badoo/mvicore/feature/BaseFeaturePostProcessorTest.kt index 1c681ea4..ee6aefa7 100644 --- a/mvicore/src/test/java/com/badoo/mvicore/feature/BaseFeaturePostProcessorTest.kt +++ b/mvicore/src/test/java/com/badoo/mvicore/feature/BaseFeaturePostProcessorTest.kt @@ -48,20 +48,20 @@ private class PostProcessorTestFeature(featureScheduler: FeatureScheduler?) : ) { sealed class Wish { - object InitialTrigger : Wish() - object PostProcessorTrigger : Wish() + data object InitialTrigger : Wish() + data object PostProcessorTrigger : Wish() } sealed class Effect { - object TriggerEffect : Effect() - object PostProcessorEffect : Effect() + data object TriggerEffect : Effect() + data object PostProcessorEffect : Effect() } object State sealed class News { - object TriggerNews : News() - object PostProcessorNews : News() + data object TriggerNews : News() + data object PostProcessorNews : News() } class ActorImpl : Actor { diff --git a/mvicore/src/test/java/com/badoo/mvicore/feature/TrampolineFeatureSchedulerTest.kt b/mvicore/src/test/java/com/badoo/mvicore/feature/TrampolineFeatureSchedulerTest.kt index 2678e868..4b6d3087 100644 --- a/mvicore/src/test/java/com/badoo/mvicore/feature/TrampolineFeatureSchedulerTest.kt +++ b/mvicore/src/test/java/com/badoo/mvicore/feature/TrampolineFeatureSchedulerTest.kt @@ -40,11 +40,11 @@ class TrampolineFeatureSchedulerTest { featureScheduler = featureScheduler ) { sealed class Wish { - object Trigger : Wish() + data object Trigger : Wish() } sealed class Effect { - object Mutate : Effect() + data object Mutate : Effect() } data class State(val mutated: Boolean = false) diff --git a/mvicore/src/test/java/com/badoo/mvicore/newspublishing/NewsPublishingTest.kt b/mvicore/src/test/java/com/badoo/mvicore/newspublishing/NewsPublishingTest.kt index fe2a09b1..93074a46 100644 --- a/mvicore/src/test/java/com/badoo/mvicore/newspublishing/NewsPublishingTest.kt +++ b/mvicore/src/test/java/com/badoo/mvicore/newspublishing/NewsPublishingTest.kt @@ -34,15 +34,15 @@ import org.mockito.kotlin.whenever sealed class TestWish { - object Wish1 : TestWish() - object Wish2 : TestWish() - object Wish3 : TestWish() + data object Wish1 : TestWish() + data object Wish2 : TestWish() + data object Wish3 : TestWish() } sealed class TestNews { - object News1 : TestNews() - object News2 : TestNews() - object News3 : TestNews() + data object News1 : TestNews() + data object News2 : TestNews() + data object News3 : TestNews() } class Parameter(val middlewareConfiguration: MiddlewareConfiguration?) {