Commit Graph

23481 Commits

Author SHA1 Message Date
Phillip Webb
077cd662e7 Add zsh shell completion script 2013-11-16 00:08:14 -08:00
Phillip Webb
fe0dd8e08f Don't provide hints for the hint command 2013-11-15 16:39:29 -08:00
Phillip Webb
d2678e08de Improve startup performance for nested JARs
Refactor spring-boot-loader to work directly with low level zip data
structures, removing the need to read every byte when the application
loads.

This change was initially driven by the desire to improve tab-completion
time when working with the Spring CLI tool. Local tests show CLI
startup time improving from ~0.7 to ~0.22 seconds.

Startup times for regular Spring Boot applications are also improved,
for example, the tomcat sample application now starts 0.5 seconds
faster.
2013-11-15 16:15:47 -08:00
Phillip Webb
6a6159f106 Add JVM uptime to startup info log output 2013-11-15 15:41:51 -08:00
Dave Syer
4254eb971e Upgrade Spring Data 2013-11-15 14:00:44 +00:00
Dave Syer
8bc5e9c36c Refine semantics of server.port=0
If the server port is 0 it doesn't mean you don't want *any* container
because there might still be servlet context aware components in the
classpath. Better to try and stop the server from actually starting.

This change is a step in the right direction: it prevents the server
from starting in the start() method (even though for technical reasons
it may have already been started and stopped in initialize()).

N.B. Tomcat at least uses port=0 as a signal it should pick a random
port. Pertty useful feature that we may want to capitalize on at some
point (on the other hand having our own port scanner would be useful
generally too).
2013-11-14 14:59:30 +00:00
Dave Syer
11149443e3 Make sure Batch autoconfig only gets inlcuded once 2013-11-14 14:55:03 +00:00
Dave Syer
b39ab925cf Make the AutoConfigurationReportEndpoint path a bit shorter 2013-11-14 14:54:32 +00:00
Phillip Webb
6849640cba Update README with M6 references 2013-11-09 11:05:20 -08:00
Phillip Webb
ff635cf75b Move shell completion logic to Java
Refactor bash shell completion to move the majority of the logic into
the Java code. This commit also removes the need for the '--' prefix on
every command.
2013-11-09 09:31:38 -08:00
Phillip Webb
202e32425e Reinstate git commit ID in loader tools manifest
Add Spring-Boot-Commit-Id to MANIFEST.MF of spring-boot-loader-tools.
The reinstates functionality of 498ca07698
but does not cause issues in eclipse.
2013-11-07 11:03:51 -08:00
Phillip Webb
dc3d670019 Strip trailing whitespace 2013-11-07 10:32:57 -08:00
Phillip Webb
e6597e6f33 Fix broken tests 2013-11-07 10:30:18 -08:00
Dave Syer
0c1aa1942e Add tests for loading dependencies in starters without parent 2013-11-07 16:05:01 +00:00
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 498ca07698.

Removed due to eclipse failures.
2013-11-05 10:05:57 -08:00