Add a LevelRemappingAppender that can remap the level of logback events
as they are written.
Also update the base configuration to change the somewhat noisy
Thymeleaf INFO logging to DEBUG.
Fixes gh-265
Change TomcatEmbeddedServletContainerFactory to allow per context
skip patterns to be defined, rather than using a global system property.
This commit also renames `skipPatterns` to `tldSkip` to align it with
Tomcat context.xml configuration.
Updates gh-256
Update JarFile to allow the custom registration of a JAR
`URLStreamHandler` that allows `jar:` URLs to be constructed from
Strings. This removes the previous requirement that all nested JAR URLs
be created with a 'context'.
To supported nested JARs the `java.protocol.handler.pkgs` system
property is changed so that our custom URLHandler is picked for 'jar'
protocols in preference to the Java default.
Fixes gh-269
I guess this didn't get done before because of the legacy structure of the
class hierarchy of TestContextLoaders. It makes sense that we should just prefer
netsted @Configuration though, so that's what this change does.
Fixes gh-271
Update `GroovyCompiler` and `AetherGrapeEngineFactory` to use the
recently added `spring-boot-dependency-tools` in favor of loading
dependency information from a generated properties file.
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
--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
spring.config.[name,location] can both be a comma-separated list now. Highest
priority is last, like a hash overriding its keys (as per other conventions
in the listener).
Fixes gh-261
If any @Import (or @Enable*, especially @EnableScheduling) has registered
bean *names* as ApplicationListeners, and the application context wasn't
refreshed fully when it failed, then the listener lookup could fail and
mask the original exception
Fixes gh-253
YAML documents can be text literals, so some common typos can be misleading
and not generate the expected exception (Boot fails to cast the
document to a Map, rather than reporting the underlying exception).
Fixes gh-235