diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d4e62b35e7..4f7013a57b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 0.19.4 + +* `Versions`: + * `Koin`: `3.4.1` -> `3.4.2` + * `Android Fragments`: `1.5.7` -> `1.6.0` +* `Koin` + * `Generator` + * Fixes in new generic generator part + ## 0.19.3 * `Koin` diff --git a/gradle.properties b/gradle.properties index 74b2480d031..034c2dbee22 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,5 +14,5 @@ crypto_js_version=4.1.1 # Project data group=dev.inmo -version=0.19.3 -android_code_version=199 +version=0.19.4 +android_code_version=200 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 96f65b3ced8..c697d57c4a4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,7 +17,7 @@ ktor = "2.3.1" gh-release = "2.4.1" -koin = "3.4.1" +koin = "3.4.2" okio = "3.3.0" @@ -30,7 +30,7 @@ dexcount = "4.0.0" android-coreKtx = "1.10.1" android-recyclerView = "1.3.0" android-appCompat = "1.6.1" -android-fragment = "1.5.7" +android-fragment = "1.6.0" android-espresso = "3.5.1" android-test = "1.1.5" diff --git a/koin/generator/build.gradle b/koin/generator/build.gradle index dc08c5eb3a6..a2a030632d4 100644 --- a/koin/generator/build.gradle +++ b/koin/generator/build.gradle @@ -13,3 +13,8 @@ dependencies { api libs.kotlin.poet api libs.ksp } + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} diff --git a/koin/generator/src/main/kotlin/Processor.kt b/koin/generator/src/main/kotlin/Processor.kt index 0f7380e5c31..8f906e87074 100644 --- a/koin/generator/src/main/kotlin/Processor.kt +++ b/koin/generator/src/main/kotlin/Processor.kt @@ -127,7 +127,7 @@ class Processor( addModifiers(KModifier.INLINE) targetTypeAsGenericType ?.let { addTypeVariable(it) - returns(it) + returns(it.copy(nullable = nullable)) } ?: returns(targetType) addCode( "return " + (if (nullable) { diff --git a/koin/generator/test/src/commonMain/kotlin/GeneratedDefinitionsTest.kt b/koin/generator/test/src/commonMain/kotlin/GeneratedDefinitionsTest.kt index f71bd452576..0ec0aea444a 100644 --- a/koin/generator/test/src/commonMain/kotlin/GeneratedDefinitionsTest.kt +++ b/koin/generator/test/src/commonMain/kotlin/GeneratedDefinitionsTest.kt @@ -97,3 +97,28 @@ public inline fun Module.singleTest(createdAtStart: Boolean = */ public inline fun Module.factoryTest(noinline definition: Definition): KoinDefinition = factory(named("test"), definition = definition) + +/** + * @return Definition by key "testNullable" with [parameters] + */ +public inline fun Scope.testNullable(noinline parameters: ParametersDefinition? = + null): T? = getOrNull(named("testNullable"), parameters) + +/** + * @return Definition by key "testNullable" with [parameters] + */ +public inline fun Koin.testNullable(noinline parameters: ParametersDefinition? = + null): T? = getOrNull(named("testNullable"), parameters) + +/** + * Will register [definition] with [org.koin.core.module.Module.single] and key "testNullable" + */ +public inline fun Module.singleTestNullable(createdAtStart: Boolean = false, + noinline definition: Definition): KoinDefinition = single(named("testNullable"), + createdAtStart = createdAtStart, definition = definition) + +/** + * Will register [definition] with [org.koin.core.module.Module.factory] and key "testNullable" + */ +public inline fun Module.factoryTestNullable(noinline definition: Definition): + KoinDefinition = factory(named("testNullable"), definition = definition) diff --git a/koin/generator/test/src/commonMain/kotlin/Test.kt b/koin/generator/test/src/commonMain/kotlin/Test.kt index ee78929507d..7fb7fb290b2 100644 --- a/koin/generator/test/src/commonMain/kotlin/Test.kt +++ b/koin/generator/test/src/commonMain/kotlin/Test.kt @@ -1,5 +1,6 @@ @file:GenerateKoinDefinition("sampleInfo", Test::class, String::class, nullable = false) @file:GenerateGenericKoinDefinition("test", nullable = false) +@file:GenerateGenericKoinDefinition("testNullable", nullable = true) package dev.inmo.micro_utils.koin.generator.test import dev.inmo.micro_utils.koin.annotations.GenerateGenericKoinDefinition diff --git a/repos/generator/build.gradle b/repos/generator/build.gradle index 112b1af1eac..5fe59f4c167 100644 --- a/repos/generator/build.gradle +++ b/repos/generator/build.gradle @@ -14,3 +14,8 @@ dependencies { api libs.kotlin.poet api libs.ksp } + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +}