Hey team, I'm using koinBom = `4.1.1` and `koinPlu...
# koin
v
Hey team, I'm using koinBom =
4.1.1
and
koinPlugin = "0.3.0"
version. I cannot access the
import org.koin.plugin.module.dsl.single
. I have to provide
get()
in every class. what I'm missing in here
Copy code
import com.android.showoff.network.ktor.KtorClient
import com.android.showoff.network.ktor.KtorHttpService
import org.koin.dsl.lazyModule
import org.koin.plugin.module.dsl.single // unused import
import org.koin.dsl.module // 

val networkModule = lazyModule {
    single { KtorClient().build() }
    single { KtorHttpService(get(),get()) }
}
Unresolved reference 'plugin'.
Copy code
plugins {
    alias(libs.plugins.android.library)
    alias(libs.plugins.serialization)
    alias(libs.plugins.koin.compiler)
}

android {
    namespace = "com.android.showoff.network"
    compileSdk {
        version = release(libs.versions.compileSdk.get().toInt()) {
            minorApiLevel = 1
        }
    }

    defaultConfig {
        minSdk = libs.versions.minSdk.get().toInt()

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles("<http://consumer-rules.pro|consumer-rules.pro>")
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "<http://proguard-rules.pro|proguard-rules.pro>"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }
}

dependencies {
    implementation(platform(libs.koin.bom))
    implementation(libs.koin.android)
    implementation(libs.koin.core)
    implementation(libs.koin.core.coroutines)

    implementation(libs.serialization.json)

    implementation(libs.ktor.client.core)
    implementation(libs.ktor.client.logging)
    implementation(libs.ktor.client.okhttp)
    implementation(libs.ktor.client.auth)
    implementation(libs.ktor.client.content.negotiation)
    implementation(libs.ktor.serialization.kotlinx.json)
}
Copy code
[versions]
koinBom = "4.1.1"
koinPlugin = "0.3.0"

[libraries]
koin-bom = { group = "io.insert-koin", name = "koin-bom", version.ref = "koinBom" }
koin-core = { group = "io.insert-koin", name = "koin-core" }
koin-android = { group = "io.insert-koin", name = "koin-android" }
koin-androidx-compose = { group = "io.insert-koin", name = "koin-androidx-compose" }
koin-core-coroutines = { group = "io.insert-koin", name = "koin-core-coroutines" }

[plugins]
serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
koin-compiler = { id = "io.insert-koin.compiler.plugin", version.ref = "koinPlugin" }
libs.gradle.kts
I was following this article
t
you need to use 4.2.0-RC1,
Version Compatibility
- Kotlin 2.3.20-Beta1 - Koin 4.2.0-RC1 - Koin Compiler Plugin 0.3.0 - Gradle 8.x+
v
Yes I'm using the same version of koin and it didn't work
I'm not in the kotlin beta version but in the most stable version
a
latest version of Koin Plugin 0.4.0, is for Koin 4.2.0-RC2 + Kotlin 2.3.20-RC2