1. 29 Jan, 2014 3 commits
    • Dave Syer's avatar
      Support for AuthenticationManagerBuilder injection into user code · 4d608f20
      Dave Syer authored
      Spring Boot provides a default AuthenticatiomManager for getting
      started quickly with security and never exposing insecure
      endpoints. To override that feature as users move to the next
      stage in their project, they may have to do something slightly
      different depending on whether it is a webapp or not.
      
      In any app (web or not), providing a @Bean of type
      AuthenticationManager always works, but you don't get the benefit of
      the builder features.
      
      In a webapp the user can also extend WebSecurityConfigurerAdapter
      to provides a custom AuthenticationManager, and the preferred
      way of doing that is via a void method that is autowired with an
      AuthenticationManagerBuilder. The default AuthenticationManager is
      built in a configurer with @Order(LOWEST_PRECEDENCE - 3) so
      to override it the user's confugrer must have higher precedence
      (lower @Order).
      
      @EnableGlobalMethodSecurity can also be used in a non-webapp, and
      Spring Boot will still provide a default AuthenticationManager.
      To override it the user has to either extend
      GlobalMethodSecurityConfiguration or provide a @Bean of type
      AuthenticationManager (there's no other way to
      capture the AuthenticationManagerBuilder that doesn't happen too late
      in the beans lifecyle).
      
      Fixes gh-244
      4d608f20
    • Andy Wilkinson's avatar
      Add a command to produce a self-contained executable JAR for a CLI app · 96e10104
      Andy Wilkinson authored
      A new command, jar, has been added to the CLI. The command can be
      used to create a self-contained executable JAR file from a CLI app.
      
      Basic usage is:
      
      spring jar <jar-name> <source-files>
      
      For example:
      
      spring jar my-app.jar *.groovy
      
      The resulting jar will contain the classes generated by compiling the
      source files, all of the application's dependencies, and entries
      on the application's classpath.
      
      By default a CLI application has the current working directory on
      its classpath. This can be overridden using the --classpath option.
      Any file that is referenced directly by the classpath is always
      included in the jar. Any file that is found a result of being
      contained within a directory that is on the classpath is subject to
      filtering to determine whether or not it should be included. The
      default includes are public/**, static/**, resources/**,
      META-INF/**, *. The default excludes are .*, repository/**, build/**,
      target/**. To be included in the jar, a file must match one of the
      includes and none of the excludes. The filters can be overridden using
      the --include and --exclude options.
      
      Closes #241
      96e10104
    • Phillip Webb's avatar
      Switch to Spring Framework 4.0.1.RELEASE · a99a3896
      Phillip Webb authored
      a99a3896
  2. 28 Jan, 2014 19 commits
  3. 27 Jan, 2014 13 commits
  4. 26 Jan, 2014 1 commit
  5. 25 Jan, 2014 2 commits
    • Phillip Webb's avatar
      Update CLI to use spring-boot-dependency-tools · 49ef1cd2
      Phillip Webb authored
      Update `GroovyCompiler` and `AetherGrapeEngineFactory` to use the
      recently added `spring-boot-dependency-tools` in favor of loading
      dependency information from a generated properties file.
      49ef1cd2
    • Phillip Webb's avatar
      Allow gradle builds without version numbers · ab4baa3c
      Phillip Webb authored
      Add a gradle `ResolutionStrategy` that resolves missing version numbers
      using the `spring-boot-dependencies` POM.
      
      This commit also introduces a new `spring-boot-dependency-tools` module
      that provides programmatic access to the `dependencyManagement` section
      of the dependencies POM.
      
      Fixed gh-262
      ab4baa3c
  6. 24 Jan, 2014 2 commits
    • Dave Syer's avatar
      Add destroyMethods to DataSources · 19ca4d4e
      Dave Syer authored
      19ca4d4e
    • Dave Syer's avatar
      Add some more smarts around --debug · c5584b49
      Dave Syer authored
      --verbose seems to be only for CLI logging (so really only
      for dependency resolution). --debug is interpreted by SpringApplication
      but up to now has been extracted and deleted from the command line
      by the CommandRunner. This change makes --debug set a System property
      *and* pass it down to the application (if used with -- separator).
      
      Fixes gh-266
      c5584b49