Commit Graph

957 Commits (7ef9688d99be15026eb0dd35bfc2ba8cf4d32dc8)
 

Author SHA1 Message Date
Phillip Webb ab249b034d Rename Outcome -> ConditionOutcome 11 years ago
Phillip Webb a9a6077fdb Polish SpringApplicationErrorHandler 11 years ago
Phillip Webb 68e07eba5c Minor formatting polish 11 years ago
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.
11 years ago
Andy Wilkinson b05f3e2eec Fix CliTester so that sample integration tests can be run 11 years ago
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]
11 years ago
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.
11 years ago
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
11 years ago
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?
11 years ago
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]
11 years ago
Dave Syer c2488b1a9b Flush output streams in capture
Avoids possible test failures owing to unflushed buffers
11 years ago
Dave Syer c678be49e3 Explicitly add servlet API to actuator sample 11 years ago
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]
11 years ago
Andy Wilkinson 24486eb68c Use legal java.util.logging levels in logging.properties 11 years ago
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.
11 years ago
Dave Syer 76e229bfb6 Add starter dependency to jdbc for parity 11 years ago
Dave Syer b07c2f0b34 Set default log levels same for all systems 11 years ago
Dave Syer 6845c6b787 Remove tomcat dependencies from sample unless needed 11 years ago
Christian Dupuis 55b0e747b0 Rename spring-boot-starter-shell-crsh to spring-boot-starter-shell-remote 11 years ago
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.
11 years ago
Dave Syer dac470a8fc Add useful features to CliTester 11 years ago
Christian Dupuis 9f13d291ec Return early if no plugins should be disabled 11 years ago
Phillip Webb 4c75700164 Detect Tomcat start failures
Detect if the tomcat container fails to start and propagate an
exception to the caller.
11 years ago
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
11 years ago
Phillip Webb b39ed89a6f Increase whitespace around password logging
Increase the whitespace to make the password easier to find in the log.
11 years ago
Phillip Webb 18147b24c0 Revert "Re-add Spring-Boot-Commit-Id to MANIFEST.MF of created jars"
This reverts commit 498ca07698.

Removed due to eclipse failures.
11 years ago
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.
11 years ago
Phillip Webb 557f69a449 Remove accidental commit 11 years ago
Dave Syer 68475406eb Really fix it 11 years ago
Dave Syer c144cae600 Comment out security condition pending SPR-11069 11 years ago
Dave Syer e43dcd3061 Upgrade reactor and tomcat (for websocket) 11 years ago
Dave Syer 7006f222ab Use @Transactional where appropriate 11 years ago
Dave Syer fa998287ab Only log report if INFO enabled 11 years ago
Dave Syer 5ab2b472a8 Be more lax with --debug parsing 11 years ago
Dave Syer c6efac87f5 Shorten field names a bit 11 years ago
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.
11 years ago
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.
11 years ago
Phillip Webb d7ae8cafbf Move tests from 'samples' to 'test-samples' 11 years ago
Phillip Webb 065220c0fa Add spring-boot-starter-mobile 11 years ago
Phillip Webb bec1c8f00f Polish 11 years ago
Phillip Webb d784cb6a88 Apply eclipse-formatter conventions 11 years ago
Dave Syer 0def447750 More care required getting beans early in lifecycle 11 years ago
Dave Syer 0c79c8913f Ensure AutoConfigurationReport is always present 11 years ago
Greg Turnquist b63016d8fc Create a report based on Boot's autoconfiguration decisions
- Gather autoconfiguration conditional decisiions (true and false)
- Provide an actuator endpoint as one means to read the report
- Define @EnableAutConfigurationReport annotation to turn this feature on
- Tidy up autoconfig report a bit and log it if --debug=true
11 years ago
Dave Syer 089233e472 Add SpringApplicationErrorHandler
[#48055575] [bs-31] Add hooks for failed application context startup
11 years ago
Christian Dupuis c2204d6618 Fix jmx.groovy command 11 years ago
Christian Dupuis f9caade3cc Fix test assertion 11 years ago
Christian Dupuis 368f279788 Fix failing database test on 1.7 11 years ago
Christian Dupuis 498ca07698 Re-add Spring-Boot-Commit-Id to MANIFEST.MF of created jars 11 years ago
Christian Dupuis 6b599b8483 Add remote shell implementation based on crsh
This commit adds a new starter named spring-boot-starter-shell-crsh and auto configuration support to embed a system shell within Spring Boot applications.

The embedded shell allows clients to connect via ssh or telnet to the Boot app and execute commands. Commands can be implemented and embedded with app.

For sample usage see spring-boot-samples-actuator.
11 years ago