Commit Graph

1209 Commits (3e6eb6fec89ecf5bd8f2cbc5309e53d5e4674228)
 

Author SHA1 Message Date
Dave Syer 3e6eb6fec8 Remove support for InitCommand outside REPL
In this commit we retain "init" as a command inside the ShellCommand
but not on the bash command line.

Seems to have an impact on performance so relevant to gh-212.
11 years ago
Dave Syer c43d91598e Update config location docs 11 years ago
Dave Syer 5b90e18564 More performance tweaks for SpringCli 11 years ago
Dave Syer e1605b4691 Add launcher.count as useful performance testing aid 11 years ago
Andy Wilkinson 895daacde9 Roll spring-boot-maven-settings into the CLI 11 years ago
Phillip Webb 719b47fad8 Polish 11 years ago
Phillip Webb e3b352e0b5 Support 'headless' applications
Update SpringApplication to run by default in 'headless' mode. This
prevents the AWT system from creating a Java icon (for example in the
OSX dock).

Also update builds to run tests in 'headless' mode.
11 years ago
Phillip Webb 0e413c3b48 Update to latest maven plugins 11 years ago
Phillip Webb ffe8bf5419 Remove unused .gitignore files 11 years ago
Phillip Webb 2f71f9fa4c Add main.basedir property 11 years ago
Andy Wilkinson e96fa79c31 Don't pull test and provided dependencies into the CLI jar 11 years ago
Dave Syer c9f8dac9d9 Typo in howto 11 years ago
Dave Syer 165ba2eb45 Add some performance tests for InitCommand
Fixed gh-212 again
11 years ago
Dave Syer dba6a5bfaf Add support for = separator in EnvironmentTestUtils 11 years ago
Dave Syer 577c177d6a Fix typo in EnvironmentTestUtils
Fixes gh-214
11 years ago
Dave Syer c349cb66ba Ensure SpringApplication closes its ApplicationContext
...even if the CommandLineRunners fail and we drop to the error
handling path.

Fixes gh-211
11 years ago
Dave Syer 420fc69983 Only run InitCommand if there is code to process
This appears to be a significant improvement in performance
(checking for the existence of init.grooy is cheap, but compiling
it is expensive).

I'm going to say this fixes gh-212.
11 years ago
Dave Syer 322af41d72 Revert CLI to JarLauncher
Affects gh-212
11 years ago
Phillip Webb d125357bf6 Protect against JARs with different local headers
Fix JarEntryData to re-read the local header, rather than relying on
the central directory record.

This protects against the situation where a JAR file is written with an
'Extra Field Length' that is different in the local header to the
central directory header.

This appears to be the case with aspectj 1.7.4 which contains the
following central directory file header for ProceedingJoinPoint:

	50 4B 01 02     signature
	14 03           version made by
	0A 00           version required
	00 00           general
	08 00           compress methods
	0E 40 59 43     last modified
	2D 59 20 70     crc
	EC 00 00 00     csize
	8D 01 00 00     size
	2A 00           fname len
	00 00           ext field len
	00 00           file comment len
	00 00           disk num
	00 00           int file att
	00 00 A4 81     ext file att
	97 F3 00 00     relative offset of the local file header
	...             file name

and the following local header:

	50 4B 03 04     signature
	0A 00           version required
	00 00           general
	08 00           compress method
	0E 40 59 43     last modified
	2D 59 20 70     crc
	EC 00 00 00     csize
	8D 01 00 00     size
	2A 00           fname len
	14 00           ext field len
	...             file name
	...             extra field

Note that the 'ext field len' is 0x00 in the central record but 0x14 in
the local record.

Fixes gh-203
11 years ago
Phillip Webb 47da8a817a Polish 11 years ago
Phillip Webb 26d900f3ad Revert "Allow maven build with JDK 1.8"
Revert commit fd15b62a9d to
ensure that we don't accidentally use Java 8 features.
11 years ago
Phillip Webb 18a666caf8 Replaces references to 'files' with 'sources'
Replace references to 'files' throughout the code-base with 'sources'
following the rename of `FileOptions` to `SourceOptions`.

Also cleanup ResourceUtils a little
11 years ago
Phillip Webb 2c6231a0fc Restore eclipse settings to stop m2e errors 11 years ago
Dave Syer f038da1fe5 Throw an exception if a config file that exists cannot be parsed
Fixes gh-209 in a general way
11 years ago
Dave Syer cc996ce7f9 Extend YAML map key special cases to nested maps
Fixes gh-208
11 years ago
Dave Syer ff3af47ef0 Watch out for non-Strings in YAML map keys
Fixes gh-205
11 years ago
Dave Syer bd73705393 FileOptions -> SourceOptions to work with String paths instead of Files
We check for existence of the sources and (as before) resolve multiple
resources on the classpath if a path is not a File. In addition supports
Spring pseudo-URL prefixes as well as normal URLs as source locations.

In addition sources can now be specified as a directory (searched
recursively by default), or a resource pattern (e.g. app/**/*.groovy).

Fixes gh-207
11 years ago
Christian Dupuis 62e02d3d81 Add initialSize configuration property to datasource auto configuration
fixes #206
11 years ago
Dave Syer edaaac8993 Fix broken test
Recent changes to the repository configuration for @Grab
didn't update the tests which use the GroovyCompiler as
a standalone. Fixed that by using the
RepositoryConfigurationFactory.
11 years ago
Dave Syer 5bbb01c071 Move properties file to correct location 11 years ago
Christian Dupuis 1a44b3e676 Fix sorting of auto configuration classes on JDK 8 11 years ago
Christian Dupuis fd15b62a9d Allow maven build with JDK 1.8 11 years ago
Dave Syer d6b2ade8df Ensure logging initializer listens to the right event
This should make a difference to gh-196. It might even fix it
(depending on what snapshot the user had there).
11 years ago
Dave Syer 2377bd9ec9 Don't load BatchAutoConfiguration at all if there is no JobLauncher
Fixes gh-204
11 years ago
Dave Syer b1db714c23 Allow @EnableGlobalMethodSecurity in a non webapp
Fixes gh-202
11 years ago
Christian Dupuis b8b948d366 Migrate JolokiaAutoConfiguration to use ConfigurationProperties instead of accessing the environment directly to obtain configuration properties 11 years ago
Dave Syer 51f9189923 Prevent 404 in gh-pages 11 years ago
Dave Syer 889a97a6b2 Default spring.config.location to file: if no prefix supplied
Fixes gh-198
11 years ago
Dave Syer aebaa580db Add test for user overriding @EnableJpaRepositories 11 years ago
Dave Syer c8152bfc70 SpringBootTestUtils->EnvironmentTestUtils 11 years ago
Dave Syer 478e655758 Change algorithm for determining active profile from external config
Instead of adding active prpfiles for every one we encounter, we need to
build up a complete "default" Environment and then ask it what the active
profiles are. Implemented in ConfigFileApplicationListener.

Fixes gh-198
11 years ago
Dave Syer 7d846c835a Allow user to disable all JMX exports with spring.jmx.enabled 11 years ago
Dave Syer 561cb3a50f TestUtils -> SpringBootTestUtils 11 years ago
Andy Wilkinson 73b9899708 Use a single <manifestEntries> element
Previously, there were two <manifestEntries> elements in the CLI's
pom.xml. With certain versions of Maven, this appeared to cause the
first element to be ignored in favour of the second. The problem did
not occur when built locally with Maven 3.1.1, but did occur when built
by Bamboo which, I believe, uses 3.0.x

This commit combines the two <manifestEntries> into one.
11 years ago
Andy Wilkinson 9a5be9f4cd Revert "Test that auto configurations can be added by init scripts"
The test passes locally, both in Eclipse and on the command line, but
fails on the CI server. Revert the addition of the test while I
hopefully figure out why.

This reverts commit 2e81b1d0d0.
11 years ago
Andy Wilkinson a010de955d Reinstate ./repository as a "remote" repository
The grab command downloads the dependencies of one or more Groovy
scripts to ./repository. This commit ensures that those previously
downloaded dependencies can be used by a subsequent invocation of the
run command.

The location and behaviour of the local cache is unaffected by this
change. If the dependencies in ./repository do not exist in the local
cache, Aether will "download" them from ./repository and store them in
the local cache.

Fixes #191
11 years ago
Andy Wilkinson a58e4cbb1f Add support for configuring Aether via settings.xml
Previously, Aether's configuration was largely hard-coded making it
impossible to configure a mirror, provide credentials for accessing
a repository, etc.

This commit adds support for configuring Aether via Maven's
settings.xml file. The support is optional and must be enabled by
grabbing spring-boot-maven-settings in an init script. The Aether
instance that's used when running the application will then be
configured using settings.xml. The settings file is expected to be
found in ${user.home}/.m2/settings.xml.

The configuration of the following items is currently supported:

 - Offline
 - Proxies
 - Mirrors
 - Server authentication
 - Local repository location

If the support is not enabled, settings.xml does not exist, or
settings.xml does not configure certain things then sensible defaults
are applied.
11 years ago
Andy Wilkinson 2e81b1d0d0 Test that auto configurations can be added by init scripts
When an init command is run, it may add entries to the classpath. This
commit adds a test that verifies that, if an entry that is added to
the classpath contains a CompilerAutoConfiguration file in
META-INF/services, then the CompilerAutoConfigurations declared in it
are found by subsequent ServiceLoader.load calls.
11 years ago
Dave Syer 321ce3aad2 TestUtils -> SpringBootTestUtils 11 years ago
Dave Syer 147968cf83 Set isolation to DEFAULT for JPA transaction manager
Also logs a warning about the fact that locks may not be taken when
starting a Job. JPA and Batch don't really work that well together
in general so it's probably not worth a lot of effort to work aoround
this. If anyone needs to they should create a custom JpaDialect
(and a BatchConfigurer).

Fixes gh-197
11 years ago