Commit Graph

49447 Commits

Author SHA1 Message Date
Phillip Webb
1bec676ca1 Add 'run' goal to spring-package-maven-plugin
Add a 'run' goal that allows maven to run a bootstrap packaged
application in-place. Similar to the maven-exec-plugin but also
adds src/main/resources to the classpath, allowing 'instant refresh'
for web developers.

Issue: #53592789
2013-07-17 23:20:41 -07:00
Dave Syer
7dd186aa40 Use enum for parent context modes in @ConditionalOnBean
@ConditionOn*Bean now have search=ALL by default (CURRENT and
PARENTS also supported).

[Fixes #53538357]
2013-07-17 12:25:54 +01:00
Dave Syer
b02be6e6ec Thymeleaf dialects now handled as @Autowired collection
This fixed the immediate problem with Thymeleaf, but leaves open
the question of how we can prevent other race conditions developing.
As long as the container can start handling requests before the Spring
context is refreshed this will be a source of bugs.

[Fixes #53482411] [bs-235] Race condition in Thymeleaf
2013-07-17 12:00:58 +01:00
Dave Syer
4de64c7f6b [bs-229] Switch to logback in starter POM
The spring-starter-logging is included everywhere transitively
now so logback is the default. The actuator sample explicitly
excludes the logging starter so it can have profiles for
different loggers (just as a demo).

[Fixes #53278727]
2013-07-17 09:43:22 +01:00
Dave Syer
e2ae839594 [Fixes #53388895] [bs-233] Remove structure 101 files 2013-07-17 09:24:35 +01:00
Phillip Webb
fd62eab23a Polish maven plugin 2013-07-17 01:12:21 -07:00
Phillip Webb
521608fda3 Extract CLI parsing from config file initializer
Extract command line property parsing logic from the
ConfigFileApplicationContextInitializer and instead perform it as part
of the SpringApplication initialization. This allows SpringApplications
that do not use the ConfigFileApplicationContextInitializer to still
expose command line arguments as property sources.

SpringApplicationInitializers may now implement EnvironmentAware if
they need access to the environment during early initialization.

This commit also removes the custom command line parsing logic that
was temporarily added to work around SPR-10579 which has since been
fixed upstream.
2013-07-17 00:23:25 -07:00
Dave Syer
cc926dac0c Add dist mgt to starter parent 2013-07-16 17:26:38 +01:00
Dave Syer
f0d5b8bbe3 [bs-153] Don't expose classes as resource
Made classpath:/[static,resourecs,public] available instead. Some
sample apps had to change so probably some gs-* guides etc as well?

[Fixes #51368907]
2013-07-16 15:30:26 +01:00
Dave Syer
6c3fd2b2d0 [bs-232] Use "jar" packaging instead of custom "executable-jar"
[Fixes #53376257]
2013-07-16 14:38:24 +01:00
Dave Syer
4ce6b64dce [bs-175] Generic dispatcher features for SpringApplication
* Move Spring.main into SpringApplication.main
* User can bind command line or application.properties into
SpringApplication
* User can provide sources dynamically with --spring.main.sources
(a CSV list of class names, package names or XML resource locations)
* One side effect was to make DocumentMatchers stateless

[#52830829]
2013-07-16 10:45:36 +01:00
Dave Syer
d75c1e4956 Speed up CLI tests if jar is cached locally 2013-07-16 10:23:14 +01:00
Dave Syer
eba5b74910 Remember to add interceptor to registry 2013-07-15 17:22:10 +01:00
Dave Syer
f52d624be5 Add option in @OnBeanCondition to *only* look in parent
[Fixes #53374039] [bs-231] Broken tests for management port configuration
2013-07-15 11:16:02 +01:00
Dave Syer
789e75d2e5 [bs-170] Out of the box support for thymeleaf security dialect
[Fixes #52121649]
2013-07-15 09:59:14 +01:00
Phillip Webb
14aa163731 Start to breakup README.md documentation 2013-07-14 20:50:44 -07:00
Phillip Webb
30bf5dcb0d Do not using static finals for PID and format
Update SimpleFormatter so that the PID and format can be different per
formatter instance.
2013-07-14 06:55:15 -07:00
Dave Syer
217a6a4cd1 Unify log format of default JDK logger with other systems 2013-07-14 08:58:47 +01:00
Phillip Webb
a97f4f670c Tweak starter poms
Minor tweaks to some starter POMs.
2013-07-13 22:46:45 -07:00
Phillip Webb
8d39abb8d9 Protect against multiple define package calls
Ensure that multiple calls to define package are not made when the
same class is contained in multiple jars.
2013-07-13 22:44:27 -07:00
Phillip Webb
dc1b787a01 Support color log output
Rework logback formatting to include ansi color output. Also added
support for JUL over SLF4J to ensure that tomcat logging looks OK.

Issue: #53249833
2013-07-13 21:05:07 -07:00
Phillip Webb
5c46a39494 Polish ANSI code 2013-07-13 16:05:56 -07:00
Phillip Webb
a324beadac Create LoggingSystem class to configure logging
Add LoggingSystem class that can be used to configure various logging
systems in a consistent way. Mostly the code is migrated from the
LoggingApplicationContextInitializer.
2013-07-13 16:04:08 -07:00
Phillip Webb
ae20d389c4 Add SpringApplicationInitializer strategy
Add SpringApplicationInitializer that can be used to initialize a
SpringApplication before it runs. An ApplicationContextInitializer
can optionally implement this interface.
2013-07-13 16:04:07 -07:00
Phillip Webb
d46dbca115 Use starter for CLI apps
Update SpringCompilerAutoConfiguration to used the spring starter
rather than explicit bootstrap dependencies.
2013-07-13 16:02:32 -07:00
Phillip Webb
0b673d82e2 Add simple ANSI encoder and colorize the banner
Issue: #51754753
2013-07-12 13:51:50 -07:00
Phillip Webb
95373af374 Use logback as default logging implementation
Issue: #53278727
2013-07-12 11:15:06 -07:00
Phillip Webb
0ec0851a4f Update CLI SLF4J version 2013-07-12 09:52:44 -07:00
Dave Syer
8801abe24a Merge pull request #7 from scottfrederick/master
Fixed URL for installer and code formatting.
2013-07-12 09:49:43 -07:00
Scott Frederick
8711f8f57e Fixed URL for installer and code formatting. 2013-07-12 11:26:02 -05:00
Phillip Webb
2a4454b524 Add simple Java Util Logging formatter
Add simple formatter used with the default logging.properties to
improve JUL output.
2013-07-12 00:44:16 -07:00
Phillip Webb
0121e15a32 Associate manifest information with packages
Add a custom classloader to ensure that packages from classes loaded
from nested JARs include manifest information.
2013-07-12 00:44:16 -07:00
Phillip Webb
8f62222419 Generate default manifest for all projects 2013-07-12 00:44:16 -07:00
Phillip Webb
d4b9014b64 Log useful information on startup
Include the bootstrap version number in the banner and log information
such as the host name when starting.

Issue: #53030523
2013-07-12 00:44:05 -07:00
Phillip Webb
7d824a5701 Fix accidentally broken test 2013-07-11 11:29:17 -07:00
Phillip Webb
7d0c0fc0dd Polish 2013-07-11 11:21:34 -07:00
Dave Syer
6dbd6d7c4c [bs-178] Use OpenEntityManagerInView by default in webapp with JPA
If JPA is used and the context is a webapp we add the OEMIV interceptor.
It can be switched off by the user declaring a bean of type OEMSIVI or
the corresponding Filter, or by setting spring.jpa.open_in_view=false.

[Fixes #52939983]
2013-07-11 18:13:49 +01:00
Dave Syer
5b2986d7a9 Use parent pom with scope=import to define dependency management.
If you add a pom-type dependency with scope=import to the dependency
management section, it pulls in the dependencyManagement section from
the other side. So we can have all the depndency versions fixed in one
place (the root parent).

[#53185049] [bs-225] Rework starter parent pom
2013-07-11 16:22:21 +01:00
Dave Syer
a7c3edefe8 Tied up loose end for spring profile binding in YAML
The short story: we only support comma-separated spring.profiles
in YAML documents.

[#51968679]
2013-07-11 15:24:25 +01:00
Dave Syer
d5aad97d1f [bs-168] Support convenient binding of @Bean to external source
@ConfigurationProperties now has a path() attribute that can be used
to specify a resource location explicitly.

[Fixes #51968657]
2013-07-11 13:23:24 +01:00
Dave Syer
15ba11f302 [bs-167] Fixed YamlProcessor to not create a key for an array
[Fixes #51968679] YamlPropertiesFactoryBean creates unbindable keys
(the toString() of the whole map for instance)
2013-07-11 11:07:42 +01:00
Dave Syer
fcb786ed91 Rename starter parent 2013-07-11 09:22:23 +01:00
Phillip Webb
29a9f69d96 Rework maven parent starter POM
Create a new spring-starter-maven-parent POM that does not inherit from
the main parent.

Issue: #53185049
2013-07-10 16:20:57 -07:00
Phillip Webb
d8d8b7643b Upgrade various dependency versions 2013-07-10 15:58:23 -07:00
Phillip Webb
7932456c5f Remove --help command 2013-07-10 11:55:58 -07:00
Phillip Webb
68f42a7c48 Fix null in help output 2013-07-10 11:21:17 -07:00
Phillip Webb
2d2ce0d3c3 Clean grapes before tests 2013-07-10 11:20:57 -07:00
Phillip Webb
d9fc3fc9de Fix updated thymeleaf dep 2013-07-10 11:20:22 -07:00
Phillip Webb
86ce60593b Relax logging tests for CI 2013-07-10 10:50:04 -07:00
Dave Syer
36cbb39dec [bs-194] Restore udev in maven
Also tidy up some TODOs

[Fixes #53030439]
2013-07-10 17:03:26 +01:00