Skip to content

Instantly share code, notes, and snippets.

View DoTheMonkeyBusiness's full-sized avatar

Maksim Nasalevich DoTheMonkeyBusiness

View GitHub Profile
@Module(includes = [SecondModule::class])
@ComponentScan("com.firstModule")
class FirstModule
@Module
@ComponentScan("com.secondModule")
class SecondModule
@Module
@ComponentScan("com.cprt.advancedauction.common")
class CommonModule {
@Single
fun json() = Json {
ignoreUnknownKeys = true
}
}
internal val commonModule = module {
factory<ScreenProvider> { AppScreenProvider() }
single {
Json {
ignoreUnknownKeys = true
}
}
}
sourceSets {
val commonMain by getting {
kotlin.srcDir("build/generated/ksp/desktop/desktopMain/kotlin")
dependencies {
implementation(libs.koin.core)
implementation(libs.koin.ksp.annotations)
}
}
}
//From
sealed interface A {
interface B : A
}
class C : A.B
//To
sealed interface A
interface B : A
@DoTheMonkeyBusiness
DoTheMonkeyBusiness / Project.kt
Created May 17, 2022 14:11
Ksp extension for multiplatform project
package extension
import org.gradle.api.Project
fun Project.ksp(dependencyNotation: Any) {
project.dependencies.add("ksp", dependencyNotation)
}