1
0
KotlinStarter/src/main/kotlin/starter/KotlinStarter.kt

32 lines
818 B
Kotlin

package starter
import org.koin.core.context.startKoin
import org.koin.dsl.bind
import org.koin.dsl.module
import starter.templates.LogbackTemplate
import starter.templates.MainTemplate
import starter.templates.PomTemplate
import starter.templates.Template
val mainModule = module {
single { Config().load() }
single { PebbleModule().engine() }
single { Server(get(), get(), get()) }
single { Views(get()) }
single { ProjectZip(getAll()) }
}
val templateModule = module {
single { PomTemplate(get()) } bind Template::class
single { MainTemplate(get()) } bind Template::class
single { LogbackTemplate(get()) } bind Template::class
}
fun main() {
val koin = startKoin {
modules(mainModule, templateModule)
}.koin
val server = koin.get<Server>()
server.run()
}