Update kodein
This commit is contained in:
parent
02c6b2a0c5
commit
fb471f8100
12
api/pom.xml
12
api/pom.xml
@ -14,7 +14,7 @@
|
|||||||
<junit_version>5.6.2</junit_version>
|
<junit_version>5.6.2</junit_version>
|
||||||
<ktorm_version>3.0.0</ktorm_version>
|
<ktorm_version>3.0.0</ktorm_version>
|
||||||
<mariadb_version>2.6.0</mariadb_version>
|
<mariadb_version>2.6.0</mariadb_version>
|
||||||
<kodein_version>6.5.4</kodein_version>
|
<kodein_version>7.0.0</kodein_version>
|
||||||
<flyway_version>6.3.3</flyway_version>
|
<flyway_version>6.3.3</flyway_version>
|
||||||
<javajwt_version>3.10.2</javajwt_version>
|
<javajwt_version>3.10.2</javajwt_version>
|
||||||
<jbcrypt_version>0.4</jbcrypt_version>
|
<jbcrypt_version>0.4</jbcrypt_version>
|
||||||
@ -99,7 +99,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.kodein.di</groupId>
|
<groupId>org.kodein.di</groupId>
|
||||||
<artifactId>kodein-di-generic-jvm</artifactId>
|
<artifactId>kodein-di-jvm</artifactId>
|
||||||
<version>${kodein_version}</version>
|
<version>${kodein_version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -216,6 +216,14 @@
|
|||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
|
<version>3.0.0</version>
|
||||||
|
<configuration>
|
||||||
|
<mainClass>${main.class}</mainClass>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
|||||||
@ -14,11 +14,11 @@ import be.vandewalleh.routing.TagRoutes
|
|||||||
import be.vandewalleh.routing.UserRoutes
|
import be.vandewalleh.routing.UserRoutes
|
||||||
import be.vandewalleh.services.NoteService
|
import be.vandewalleh.services.NoteService
|
||||||
import be.vandewalleh.services.UserService
|
import be.vandewalleh.services.UserService
|
||||||
import org.kodein.di.Kodein
|
import org.kodein.di.*
|
||||||
import org.kodein.di.generic.*
|
import org.kodein.di.DI
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
|
|
||||||
val mainModule = Kodein.Module("main") {
|
val mainModule = DI.Module("main") {
|
||||||
bind() from singleton { NoteService(instance()) }
|
bind() from singleton { NoteService(instance()) }
|
||||||
bind() from singleton { UserService(instance(), instance()) }
|
bind() from singleton { UserService(instance(), instance()) }
|
||||||
|
|
||||||
|
|||||||
@ -6,32 +6,28 @@ import io.ktor.application.*
|
|||||||
import io.ktor.routing.*
|
import io.ktor.routing.*
|
||||||
import io.ktor.server.engine.*
|
import io.ktor.server.engine.*
|
||||||
import io.ktor.server.netty.*
|
import io.ktor.server.netty.*
|
||||||
import org.kodein.di.Kodein
|
import org.kodein.di.DI
|
||||||
import org.kodein.di.description
|
import org.kodein.di.description
|
||||||
import org.kodein.di.generic.instance
|
import org.kodein.di.instance
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
|
|
||||||
fun main() {
|
fun main() {
|
||||||
val kodein = Kodein {
|
val di = DI { import(mainModule) }
|
||||||
import(mainModule)
|
val config by di.instance<Config>()
|
||||||
}
|
val logger by di.instance<Logger>()
|
||||||
|
|
||||||
val config by kodein.instance<Config>()
|
|
||||||
val logger by kodein.instance<Logger>()
|
|
||||||
logger.info("Running application with configuration $config")
|
logger.info("Running application with configuration $config")
|
||||||
logger.debug("Kodein bindings\n${kodein.container.tree.bindings.description()}")
|
logger.debug("Kodein bindings\n${di.container.tree.bindings.description()}")
|
||||||
|
serve(di)
|
||||||
serve(kodein)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun serve(kodein: Kodein) {
|
fun serve(di: DI) {
|
||||||
val config by kodein.instance<Config>()
|
val config by di.instance<Config>()
|
||||||
val logger by kodein.instance<Logger>()
|
val logger by di.instance<Logger>()
|
||||||
val env = applicationEngineEnvironment {
|
val env = applicationEngineEnvironment {
|
||||||
module {
|
module {
|
||||||
module(kodein)
|
module(di)
|
||||||
}
|
}
|
||||||
log = logger
|
log = logger
|
||||||
connector {
|
connector {
|
||||||
@ -46,14 +42,14 @@ fun serve(kodein: Kodein) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun Application.module(kodein: Kodein) {
|
fun Application.module(di: DI) {
|
||||||
val builders: Set<ApplicationBuilder> by kodein.instance()
|
val builders: Set<ApplicationBuilder> by di.instance()
|
||||||
|
|
||||||
builders.forEach {
|
builders.forEach {
|
||||||
it.builder(this)
|
it.builder(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
val routingBuilders: Set<RoutingBuilder> by kodein.instance()
|
val routingBuilders: Set<RoutingBuilder> by di.instance()
|
||||||
routingBuilders.forEach {
|
routingBuilders.forEach {
|
||||||
routing(it.builder)
|
routing(it.builder)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,8 +7,6 @@ import io.ktor.application.*
|
|||||||
import io.ktor.auth.*
|
import io.ktor.auth.*
|
||||||
import io.ktor.response.*
|
import io.ktor.response.*
|
||||||
import io.ktor.routing.*
|
import io.ktor.routing.*
|
||||||
import org.kodein.di.Kodein
|
|
||||||
import org.kodein.di.generic.instance
|
|
||||||
|
|
||||||
class TagRoutes(noteService: NoteService) : RoutingBuilder({
|
class TagRoutes(noteService: NoteService) : RoutingBuilder({
|
||||||
authenticate {
|
authenticate {
|
||||||
|
|||||||
@ -17,9 +17,9 @@ import io.mockk.mockk
|
|||||||
import org.amshove.kluent.*
|
import org.amshove.kluent.*
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
import org.junit.jupiter.api.*
|
import org.junit.jupiter.api.*
|
||||||
import org.kodein.di.Kodein
|
import org.kodein.di.DI
|
||||||
import org.kodein.di.generic.bind
|
import org.kodein.di.bind
|
||||||
import org.kodein.di.generic.instance
|
import org.kodein.di.instance
|
||||||
import utils.*
|
import utils.*
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ class AuthControllerKtTest {
|
|||||||
|
|
||||||
private val userService = mockk<UserService>()
|
private val userService = mockk<UserService>()
|
||||||
|
|
||||||
private val kodein = Kodein {
|
private val kodein = DI {
|
||||||
import(mainModule, allowOverride = true)
|
import(mainModule, allowOverride = true)
|
||||||
bind<UserService>(overrides = true) with instance(userService)
|
bind<UserService>(overrides = true) with instance(userService)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,9 +11,9 @@ import io.mockk.coEvery
|
|||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
import org.amshove.kluent.*
|
import org.amshove.kluent.*
|
||||||
import org.junit.jupiter.api.*
|
import org.junit.jupiter.api.*
|
||||||
import org.kodein.di.Kodein
|
import org.kodein.di.DI
|
||||||
import org.kodein.di.generic.bind
|
import org.kodein.di.bind
|
||||||
import org.kodein.di.generic.instance
|
import org.kodein.di.instance
|
||||||
import utils.*
|
import utils.*
|
||||||
|
|
||||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
||||||
@ -42,7 +42,7 @@ class UserControllerKtTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private val kodein = Kodein {
|
private val kodein = DI {
|
||||||
import(mainModule, allowOverride = true)
|
import(mainModule, allowOverride = true)
|
||||||
bind<UserService>(overrides = true) with instance(userService)
|
bind<UserService>(overrides = true) with instance(userService)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,12 +18,11 @@ import kotlinx.coroutines.runBlocking
|
|||||||
import me.liuwj.ktorm.jackson.*
|
import me.liuwj.ktorm.jackson.*
|
||||||
import org.amshove.kluent.*
|
import org.amshove.kluent.*
|
||||||
import org.junit.jupiter.api.*
|
import org.junit.jupiter.api.*
|
||||||
import org.kodein.di.Kodein
|
import org.kodein.di.DI
|
||||||
import org.kodein.di.generic.bind
|
import org.kodein.di.bind
|
||||||
import org.kodein.di.generic.instance
|
import org.kodein.di.instance
|
||||||
import org.kodein.di.generic.singleton
|
import org.kodein.di.singleton
|
||||||
import utils.KMariadbContainer
|
import utils.KMariadbContainer
|
||||||
import javax.sql.DataSource
|
|
||||||
|
|
||||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
||||||
class NoteServiceTest {
|
class NoteServiceTest {
|
||||||
@ -32,7 +31,7 @@ class NoteServiceTest {
|
|||||||
inner class DB {
|
inner class DB {
|
||||||
private val mariadb = KMariadbContainer().apply { start() }
|
private val mariadb = KMariadbContainer().apply { start() }
|
||||||
|
|
||||||
private val kodein = Kodein {
|
private val kodein = DI {
|
||||||
import(mainModule, allowOverride = true)
|
import(mainModule, allowOverride = true)
|
||||||
bind(overrides = true) from singleton { mariadb.datasource() }
|
bind(overrides = true) from singleton { mariadb.datasource() }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,16 +3,14 @@ package integration.services
|
|||||||
import be.vandewalleh.features.Migration
|
import be.vandewalleh.features.Migration
|
||||||
import be.vandewalleh.mainModule
|
import be.vandewalleh.mainModule
|
||||||
import be.vandewalleh.services.UserService
|
import be.vandewalleh.services.UserService
|
||||||
import com.zaxxer.hikari.HikariDataSource
|
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.amshove.kluent.*
|
import org.amshove.kluent.*
|
||||||
import org.junit.jupiter.api.*
|
import org.junit.jupiter.api.*
|
||||||
import org.kodein.di.Kodein
|
import org.kodein.di.DI
|
||||||
import org.kodein.di.generic.bind
|
import org.kodein.di.bind
|
||||||
import org.kodein.di.generic.instance
|
import org.kodein.di.instance
|
||||||
import org.kodein.di.generic.singleton
|
import org.kodein.di.singleton
|
||||||
import utils.KMariadbContainer
|
import utils.KMariadbContainer
|
||||||
import javax.sql.DataSource
|
|
||||||
|
|
||||||
|
|
||||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
||||||
@ -21,7 +19,7 @@ class UserServiceTest {
|
|||||||
|
|
||||||
private val mariadb = KMariadbContainer().apply { start() }
|
private val mariadb = KMariadbContainer().apply { start() }
|
||||||
|
|
||||||
private val kodein = Kodein {
|
private val kodein = DI {
|
||||||
import(mainModule, allowOverride = true)
|
import(mainModule, allowOverride = true)
|
||||||
bind( overrides = true) from singleton { mariadb.datasource() }
|
bind( overrides = true) from singleton { mariadb.datasource() }
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user