package global
import com.typesafe.config.ConfigFactory
import play.api.Mode._
import play.api.inject.guice.{GuiceApplicationBuilder, GuiceApplicationLoader}
import play.api.{ApplicationLoader, Configuration, Logger}
class CustomApplicationLoader extends GuiceApplicationLoader {
override def builder(context: ApplicationLoader.Context): GuiceApplicationBuilder = {
val builder = initialBuilder.in(context.environment).overrides(overrides(context): _*)
context.environment.mode match {
case Prod =>
// start mode
Logger.info("Starting Prod mode...")
builder.loadConfig(context.initialConfiguration)
case Dev =>
// run mode
Logger.info("Starting Dev mode...")
val devConf = Configuration(ConfigFactory.load("application.dev.conf"))
builder.loadConfig(devConf)
case Test =>
// test mode
Logger.info("Starting Test mode...")
val testConf = Configuration(ConfigFactory.load("application.test.conf"))
builder.loadConfig(testConf)
}
}
}