32 lines
818 B
Kotlin
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()
|
|
}
|