diff --git a/api/pom.xml b/api/pom.xml index 87e64aa..899e856 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -14,7 +14,7 @@ 5.6.2 3.0.0 2.6.0 - 6.5.4 + 7.0.0 6.3.3 3.10.2 0.4 @@ -99,7 +99,7 @@ org.kodein.di - kodein-di-generic-jvm + kodein-di-jvm ${kodein_version} @@ -216,6 +216,14 @@ + + org.codehaus.mojo + exec-maven-plugin + 3.0.0 + + ${main.class} + + org.apache.maven.plugins maven-surefire-plugin diff --git a/api/src/Dependencies.kt b/api/src/Dependencies.kt index ab863f9..bd1ce81 100644 --- a/api/src/Dependencies.kt +++ b/api/src/Dependencies.kt @@ -14,11 +14,11 @@ import be.vandewalleh.routing.TagRoutes import be.vandewalleh.routing.UserRoutes import be.vandewalleh.services.NoteService import be.vandewalleh.services.UserService -import org.kodein.di.Kodein -import org.kodein.di.generic.* +import org.kodein.di.* +import org.kodein.di.DI import org.slf4j.LoggerFactory -val mainModule = Kodein.Module("main") { +val mainModule = DI.Module("main") { bind() from singleton { NoteService(instance()) } bind() from singleton { UserService(instance(), instance()) } diff --git a/api/src/NotesApplication.kt b/api/src/NotesApplication.kt index 0b27dbb..4996848 100644 --- a/api/src/NotesApplication.kt +++ b/api/src/NotesApplication.kt @@ -6,32 +6,28 @@ import io.ktor.application.* import io.ktor.routing.* import io.ktor.server.engine.* import io.ktor.server.netty.* -import org.kodein.di.Kodein +import org.kodein.di.DI import org.kodein.di.description -import org.kodein.di.generic.instance +import org.kodein.di.instance import org.slf4j.Logger import java.util.concurrent.TimeUnit fun main() { - val kodein = Kodein { - import(mainModule) - } - - val config by kodein.instance() - val logger by kodein.instance() + val di = DI { import(mainModule) } + val config by di.instance() + val logger by di.instance() logger.info("Running application with configuration $config") - logger.debug("Kodein bindings\n${kodein.container.tree.bindings.description()}") - - serve(kodein) + logger.debug("Kodein bindings\n${di.container.tree.bindings.description()}") + serve(di) } -fun serve(kodein: Kodein) { - val config by kodein.instance() - val logger by kodein.instance() +fun serve(di: DI) { + val config by di.instance() + val logger by di.instance() val env = applicationEngineEnvironment { module { - module(kodein) + module(di) } log = logger connector { @@ -46,14 +42,14 @@ fun serve(kodein: Kodein) { } -fun Application.module(kodein: Kodein) { - val builders: Set by kodein.instance() +fun Application.module(di: DI) { + val builders: Set by di.instance() builders.forEach { it.builder(this) } - val routingBuilders: Set by kodein.instance() + val routingBuilders: Set by di.instance() routingBuilders.forEach { routing(it.builder) } diff --git a/api/src/routing/TagRoutes.kt b/api/src/routing/TagRoutes.kt index 91a65d8..e4eb673 100644 --- a/api/src/routing/TagRoutes.kt +++ b/api/src/routing/TagRoutes.kt @@ -7,8 +7,6 @@ import io.ktor.application.* import io.ktor.auth.* import io.ktor.response.* import io.ktor.routing.* -import org.kodein.di.Kodein -import org.kodein.di.generic.instance class TagRoutes(noteService: NoteService) : RoutingBuilder({ authenticate { diff --git a/api/test/integration/routing/AuthControllerKtTest.kt b/api/test/integration/routing/AuthControllerKtTest.kt index dec46af..0de74f4 100644 --- a/api/test/integration/routing/AuthControllerKtTest.kt +++ b/api/test/integration/routing/AuthControllerKtTest.kt @@ -17,9 +17,9 @@ import io.mockk.mockk import org.amshove.kluent.* import org.json.JSONObject import org.junit.jupiter.api.* -import org.kodein.di.Kodein -import org.kodein.di.generic.bind -import org.kodein.di.generic.instance +import org.kodein.di.DI +import org.kodein.di.bind +import org.kodein.di.instance import utils.* import java.util.* @@ -28,7 +28,7 @@ class AuthControllerKtTest { private val userService = mockk() - private val kodein = Kodein { + private val kodein = DI { import(mainModule, allowOverride = true) bind(overrides = true) with instance(userService) } diff --git a/api/test/integration/routing/UserControllerKtTest.kt b/api/test/integration/routing/UserControllerKtTest.kt index 9615dff..797dfc8 100644 --- a/api/test/integration/routing/UserControllerKtTest.kt +++ b/api/test/integration/routing/UserControllerKtTest.kt @@ -11,9 +11,9 @@ import io.mockk.coEvery import io.mockk.mockk import org.amshove.kluent.* import org.junit.jupiter.api.* -import org.kodein.di.Kodein -import org.kodein.di.generic.bind -import org.kodein.di.generic.instance +import org.kodein.di.DI +import org.kodein.di.bind +import org.kodein.di.instance import utils.* @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -42,7 +42,7 @@ class UserControllerKtTest { } - private val kodein = Kodein { + private val kodein = DI { import(mainModule, allowOverride = true) bind(overrides = true) with instance(userService) } diff --git a/api/test/integration/services/NoteServiceTest.kt b/api/test/integration/services/NoteServiceTest.kt index 7dbc0df..583f5c9 100644 --- a/api/test/integration/services/NoteServiceTest.kt +++ b/api/test/integration/services/NoteServiceTest.kt @@ -18,12 +18,11 @@ import kotlinx.coroutines.runBlocking import me.liuwj.ktorm.jackson.* import org.amshove.kluent.* import org.junit.jupiter.api.* -import org.kodein.di.Kodein -import org.kodein.di.generic.bind -import org.kodein.di.generic.instance -import org.kodein.di.generic.singleton +import org.kodein.di.DI +import org.kodein.di.bind +import org.kodein.di.instance +import org.kodein.di.singleton import utils.KMariadbContainer -import javax.sql.DataSource @TestInstance(TestInstance.Lifecycle.PER_CLASS) class NoteServiceTest { @@ -32,7 +31,7 @@ class NoteServiceTest { inner class DB { private val mariadb = KMariadbContainer().apply { start() } - private val kodein = Kodein { + private val kodein = DI { import(mainModule, allowOverride = true) bind(overrides = true) from singleton { mariadb.datasource() } } diff --git a/api/test/integration/services/UserServiceTest.kt b/api/test/integration/services/UserServiceTest.kt index 86543e4..57905ab 100644 --- a/api/test/integration/services/UserServiceTest.kt +++ b/api/test/integration/services/UserServiceTest.kt @@ -3,16 +3,14 @@ package integration.services import be.vandewalleh.features.Migration import be.vandewalleh.mainModule import be.vandewalleh.services.UserService -import com.zaxxer.hikari.HikariDataSource import kotlinx.coroutines.runBlocking import org.amshove.kluent.* import org.junit.jupiter.api.* -import org.kodein.di.Kodein -import org.kodein.di.generic.bind -import org.kodein.di.generic.instance -import org.kodein.di.generic.singleton +import org.kodein.di.DI +import org.kodein.di.bind +import org.kodein.di.instance +import org.kodein.di.singleton import utils.KMariadbContainer -import javax.sql.DataSource @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -21,9 +19,9 @@ class UserServiceTest { private val mariadb = KMariadbContainer().apply { start() } - private val kodein = Kodein { + private val kodein = DI { import(mainModule, allowOverride = true) - bind(overrides = true) from singleton { mariadb.datasource() } + bind( overrides = true) from singleton { mariadb.datasource() } } private val userService by kodein.instance()