867 Commits

Author SHA1 Message Date
Dave Syer
578fadf6f9 Attempt to allow Aether to load from local repo 2013-11-07 15:47:41 +00:00
Dave Syer
e46c427b75 Remove unused field 2013-11-07 15:47:41 +00:00
Dave Syer
0b130f6f6a Pin Spring version when using security 2013-11-07 15:47:41 +00:00
Dave Syer
a41a2db976 Add all starters to parent pom 2013-11-07 15:47:41 +00:00
Dave Syer
811bd32ce2 More sensible signature for servlet initializer 2013-11-07 14:03:58 +00:00
Christian Dupuis
1f922f49b0 Switch to placeholders in conditional expressions; Ensure that Crsh auto configuration works without Spring Security 2013-11-07 12:48:03 +01:00
Christian Dupuis
cc941bf89b Have spring-boot-starter-shell-remote depend on spring-boot-starter-actuator 2013-11-07 12:48:03 +01:00
Christian Dupuis
a498a7f477 Make simple authentication the default and log default password 2013-11-07 12:48:03 +01:00
Phillip Webb
dafeddca09 Rework auto-configure report
Update the auto-configuration report to improve log formatting and to
separate the internal report data-structure from the JSON friendly
endpoint data-structure.
2013-11-06 21:40:05 -08:00
Phillip Webb
04fd7fdbbe Improve message used on match
Update OnBeanCondition and OnClassCondition to improve the message used
on a successful match.
2013-11-06 21:31:58 -08:00
Phillip Webb
ab249b034d Rename Outcome -> ConditionOutcome 2013-11-06 15:40:09 -08:00
Phillip Webb
a9a6077fdb Polish SpringApplicationErrorHandler 2013-11-06 15:40:09 -08:00
Phillip Webb
68e07eba5c Minor formatting polish 2013-11-06 15:40:09 -08:00
Andy Wilkinson
32fc2c3d1c Remove Boot-specifics from AetherGrapeEngine
With the goal of making AetherGrapeEngine generally useful with Groovy,
this commit removes any Boot specifics from it. Specifically, there
is now only a single default repository: Maven Central. The
Boot-specific Spring milestone and snapshot repositories are now added
via @GrabResolver annotations that are added using an ASTTransformation.

As part of this change, AetherGrapeEngine has also been updated to store
its repositories using a LinkedHashSet, this ensures that the same
repository is not used more than once while maintaining their ordering.
2013-11-06 17:46:53 +00:00
Andy Wilkinson
b05f3e2eec Fix CliTester so that sample integration tests can be run 2013-11-06 17:46:33 +00:00
Andy Wilkinson
6ab14a51eb Add detailed download reporting to AetherGrapeEngine
Groovy's Grape allows a user to enable download reports using the
system property groovy.grape.report.downloads. This commit updates
AetherGrapeEngine to honour this property and produce a detailed
download report when the system property is set to true. In the
absence of the system property, or when it's set to a value other than
true, the existing summary report is still produced.

[bs-344]
[60145094]
2013-11-06 15:52:33 +00:00
Andy Wilkinson
dc4bf01e95 Add support for @GrabExclude to AetherGrapeEngine
@GrabExclude can now be used to exclude certain transitive dependencies.
In Aether (Maven), exclusions are applied to an individual dependency
rather than being global. In Grape, exclusions are global.
AetherGrapeEngine adheres to the Grape convention by applying every
exclusion create by @GrabExclude to every dependency, effectively making
them global.
2013-11-06 14:36:13 +00:00
Dave Syer
8922a6be4a Ignore exceptions while resolving placeholders in PropertySources
When a PropertySourcesPropertyValues is used to bind Environment
values to a bean (or the SpringApplication) it tries to resolve
placeholders eagerly in the Environment. Any that fail might not
actually be a problem for users (until validation is done it's
impossible to tell even whether that value was needed for the
ongoing binding or not).

Fixed by ignoring exceptions in the PropertySourcesPropertyValues
constructor.

Fixes gh-108
2013-11-06 14:16:31 +00:00
Dave Syer
7cf98d15f2 Tidy up log tests
Bamboo doesn't seem to be causing issues now, so assume
[Fixes #52871199] [bs-176] -Djava.util.logging.config.file
is passed to log4j as a file name?
2013-11-06 13:54:11 +00:00
Andy Wilkinson
5aba3272c2 Add support for @GrabResolver to AetherGrapeEngine
@GrabResolver can now be used to add a repository to the list that is
used for dependency resolution. Any repository that is added via the
annotation will then be available for the lifetime of the
AetherGrapeEngine instance. In reality, this equates to the lifetime
of the Boot application. This is in keeping with the documented default
behaviour [1]: "By default, the grape subsystem is shared globally, so
added resolvers will become available for any subsequent grab calls".

[1] - http://groovy.codehaus.org/api/groovy/lang/GrabResolver.html

[bs-345]
[60145036]
2013-11-06 13:20:08 +00:00
Dave Syer
c2488b1a9b Flush output streams in capture
Avoids possible test failures owing to unflushed buffers
2013-11-06 13:19:04 +00:00
Dave Syer
c678be49e3 Explicitly add servlet API to actuator sample 2013-11-06 13:02:27 +00:00
Dave Syer
51f240c1d5 Jpa auto configuration updates for new Spring Data release
User now gets @EnableSpringDataWebSupport for free in any
autoconfigured JPA webapp.

[Fixes #53028329] [bs-216]
2013-11-06 13:02:27 +00:00
Andy Wilkinson
24486eb68c Use legal java.util.logging levels in logging.properties 2013-11-06 12:17:36 +00:00
Andy Wilkinson
acfdfb789d Update main class to reflect use of JarLauncher
b19f6bb238 updated the CLI so that it should be launched using Spring
Boot Loader's JarLauncher, however the spring and spring.bat shell
scripts were not updated so they still launched the CLI by using
SpringCli as the main class. This led to a NoClassDefFoundError
as none of the dependencies in the jar's /lib directory could be
found.

This commit updates the two shells scripts to use JarLauncher as the
main class.
2013-11-06 11:48:27 +00:00
Dave Syer
76e229bfb6 Add starter dependency to jdbc for parity 2013-11-06 11:44:30 +00:00
Dave Syer
b07c2f0b34 Set default log levels same for all systems 2013-11-06 11:40:23 +00:00
Dave Syer
6845c6b787 Remove tomcat dependencies from sample unless needed 2013-11-06 11:40:23 +00:00
Christian Dupuis
55b0e747b0 Rename spring-boot-starter-shell-crsh to spring-boot-starter-shell-remote 2013-11-06 12:12:40 +01:00
Dave Syer
8cb0211dce Add "integration" profile in Maven build
By default it is on, but you can switch it
off (`-P '!integration'`) to ignore integration tests
and get a faster build.

.travis.yml uses this feature so that it doesn't keep
failing on a timeout.
2013-11-06 09:43:58 +00:00
Dave Syer
dac470a8fc Add useful features to CliTester 2013-11-06 09:43:58 +00:00
Christian Dupuis
9f13d291ec Return early if no plugins should be disabled 2013-11-06 10:35:15 +01:00
Phillip Webb
4c75700164 Detect Tomcat start failures
Detect if the tomcat container fails to start and propagate an
exception to the caller.
2013-11-05 17:00:14 -08:00
Phillip Webb
2910fe618b Update eclipse formatter XML
Update the eclipse formatter XML to align it with the project specific
settings files. Also corrected the information in CONTRIBUTING.md
2013-11-05 11:18:22 -08:00
Phillip Webb
b39ed89a6f Increase whitespace around password logging
Increase the whitespace to make the password easier to find in the log.
2013-11-05 10:31:11 -08:00
Phillip Webb
18147b24c0 Revert "Re-add Spring-Boot-Commit-Id to MANIFEST.MF of created jars"
This reverts commit 498ca076989742b2d95fa9c3da0950d0f0f3669c.

Removed due to eclipse failures.
2013-11-05 10:05:57 -08:00
Phillip Webb
aede0165a0 Favor groovy.jar instead of groovy-all.jar
Update CLI application to use groovy.jar rather than groovy-all.jar.
This prevents classloading issues when a user project @Grabs groovy-ant.
2013-11-05 09:56:59 -08:00
Phillip Webb
557f69a449 Remove accidental commit 2013-11-05 09:10:43 -08:00
Dave Syer
68475406eb Really fix it 2013-11-05 15:32:53 +00:00
Dave Syer
c144cae600 Comment out security condition pending SPR-11069 2013-11-05 14:20:51 +00:00
Dave Syer
e43dcd3061 Upgrade reactor and tomcat (for websocket) 2013-11-05 11:56:32 +00:00
Dave Syer
7006f222ab Use @Transactional where appropriate 2013-11-05 11:28:24 +00:00
Dave Syer
fa998287ab Only log report if INFO enabled 2013-11-05 11:28:01 +00:00
Dave Syer
5ab2b472a8 Be more lax with --debug parsing 2013-11-05 10:21:54 +00:00
Dave Syer
c6efac87f5 Shorten field names a bit 2013-11-05 09:02:43 +00:00
Phillip Webb
b19f6bb238 Isolate class loading for launched CLI apps
Rework classloading for launched applications so that CLI classes and
dependencies are not visible. This change allows many of the previous
hacks and workarounds to be removed.

With the exception of the 'org.springframework.boot.groovy' package
and 'groovy-all' all user required depndencies are now pulled in
via @Grab annotations.

The updated classloading algorithm has enabled the following changes:

- AetherGrapeEngine is now back in the cli project and the
  spring-boot-cli-grape project has been removed. The AetherGrapeEngine
  has also been simplified.

- The TestCommand now launches a TestRunner (similar in design to the
  SpringApplicationRunner) and report test failures directly using
  the junit TextListener. Adding custom 'testers' source to the users
  project is no longer required. The previous 'double compile' for
  tests has also been removed.

- Utility classes have been removed in favor of using versions from
  spring-core.

- The CLI jar is now packaged using the 'boot-loader' rather than using
  the maven shade plugin.

This commit also applied minor polish refactoring to a number of
classes.
2013-11-04 23:19:46 -08:00
Phillip Webb
58300deee4 Add dependencies to spring-boot-starter-web
Add dependencies that are usually picked up transitively directly to
spring-boot-starter-web. Helps mavens dependency conflict resolution
algorithm to pick the correct version.
2013-11-04 22:26:48 -08:00
Phillip Webb
d7ae8cafbf Move tests from 'samples' to 'test-samples' 2013-11-04 22:21:37 -08:00
Phillip Webb
065220c0fa Add spring-boot-starter-mobile 2013-11-04 22:17:42 -08:00
Phillip Webb
bec1c8f00f Polish 2013-11-04 22:17:38 -08:00