/*
 * Copyright (C) 2009-2017 Lightbend Inc. <https://www.lightbend.com>
 */
package play.inject;

import play.api.Configuration;
import play.api.Environment;
import play.api.inject.Binding;
import play.libs.Files;
import play.libs.crypto.CSRFTokenSigner;
import play.libs.crypto.CookieSigner;
import play.libs.crypto.DefaultCSRFTokenSigner;
import play.libs.crypto.HMACSHA1CookieSigner;
import play.mvc.FileMimeTypes;
import scala.collection.Seq;

public class BuiltInModule extends play.api.inject.Module {
    @Override
    public Seq<Binding<?>> bindings(Environment environment, Configuration configuration) {
        return seq(
          bind(ApplicationLifecycle.class).to(DelegateApplicationLifecycle.class),
          bind(play.Configuration.class).toProvider(ConfigurationProvider.class),
          bind(CSRFTokenSigner.class).to(DefaultCSRFTokenSigner.class),
          bind(CookieSigner.class).to(HMACSHA1CookieSigner.class),
          bind(Files.TemporaryFileCreator.class).to(Files.DelegateTemporaryFileCreator.class),
          bind(FileMimeTypes.class).toSelf()
        );
    }
}

@@ -634,24 +634,26 @@
 (%0A          
+  
 bind(Applica
@@ -705,32 +705,85 @@
 fecycle.class),%0A
+            bind(play.Environment.class).toSelf(),%0A  
           bind(p
@@ -854,24 +854,26 @@
 ,%0A          
+ 
+ 
 bind(CSRFTok
@@ -928,24 +928,26 @@
 ,%0A          
+  
 bind(CookieS
@@ -993,32 +993,34 @@
 ass),%0A          
+ 
+ 
 bind(Files.Tempo
@@ -1080,32 +1080,34 @@
 Creator.class),%0A
+  
           bind(F

Make play.Environment injectable (#7080)