Commit Graph

678 Commits (db0c41851ba3bccd324f11f4fbe550e7fe4db7f7)

Author SHA1 Message Date
Eddú Meléndez 3d52c86a21 Annotate interfaces with @FunctionaInterface
Closes gh-6857
8 years ago
Spring Buildmaster ed1ce140c0 Next Development Version 8 years ago
Phillip Webb 17451c5e7a Merge branch '1.5.x' 8 years ago
Phillip Webb 6f19538028 Update CLI open_source_licenses.txt for json
Update the open_source_licenses file to reflect the fact that the
org.json library is no longer used.

See gh-5929
8 years ago
Phillip Webb f3db8c90c7 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb ae910f3169 Update CLI open_source_licenses.txt file
Closes gh-7703
8 years ago
Andy Wilkinson 9bba73a1a9 Upgrade to Thymeleaf 3 and drop support for Thymleaf 2
This commit raises the minimum supported version of Thymeleaf to
3.0.x. It also upgrades Spring Social to a version that is compatible
with Thymeleaf 3.

Closes gh-7450
Closes gh-6258
See gh-7885
8 years ago
Stephane Nicoll 661fd848eb Merge branch '1.5.x' 8 years ago
Stephane Nicoll 505e7f75ea Polish contribution
Closes gh-8089
8 years ago
dreis d58f38f6f6 Use String.replace() with single char if possible
See gh-8089
8 years ago
Andy Wilkinson ae3434ba4c Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson d2201d5284 Correct copyright dates and enforce that starting year is 2012
Closes gh-7923
8 years ago
Andy Wilkinson 3c35066ed5 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 426435f4af Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 1afb050061 Correct copyright dates and enforce that starting year is 2012
Closes gh-7923
8 years ago
Phillip Webb 77f9bb09ca Further Polish Mockito 2 support
See gh-7770
8 years ago
Phillip Webb 0cc313f224 Polish 8 years ago
Stephane Nicoll c28ff4314c Upgrade to Mockito 2
Closes gh-7770
8 years ago
Phillip Webb 4bfecc1307 Merge branch '1.5.x' 8 years ago
Phillip Webb cc7c2ebb87 Migrate to android-json
Migrate from `org.json:json` to the clean room Apache 2.0 licensed
version that was developed for Android.

Fixes gh-5929
8 years ago
Phillip Webb 53f1df86a2 Merge branch '1.5.x' 8 years ago
Phillip Webb aacf5d660f Update copyright year for changed files 8 years ago
Spring Buildmaster 9057f9ae1f Next development version 8 years ago
Phillip Webb 1f417997f3 Merge branch '1.5.x' 8 years ago
Phillip Webb 6121208cbb Polish formatting 8 years ago
Phillip Webb 4b9cba351b Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb bd74c3d327 Polish formatting 8 years ago
Andy Wilkinson 4edab86ba2 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 387a406aad Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson b3e0a37197 Remove unwanted System.out calls in test code 8 years ago
Spring Buildmaster e712a9ba8c Next Development Version 8 years ago
Andy Wilkinson 9a70a4e261 Merge branch '1.5.x' 8 years ago
Andy Wilkinson d7ef48a9b6 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 2c4f39045f Stop relying on Artemis's on-demand queue creation in CLI JMS test
Artemis's on-demand queue cretaion appears to be rather flakey,
sometimes failing with a NullPointerException.

This commit ensures that the queue used by the sample is created
during start up rather than on demand. This will hopefully make the
test that runs the sample more robust.

Closes gh-7346
8 years ago
Andy Wilkinson becf225911 Simplify CLI integration auto-config test by removing use of Artemis
Artemis seems to be a bit flakey which is causing sporadic build
failures, for example due to an NPE in Artemis' code.
8 years ago
Andy Wilkinson 4486d2d209 Upgrade to Reactor 3.0 and start building against SI 5.0 snapshots
Closes gh-7301
See gh-7029
8 years ago
Andy Wilkinson 4e30da35ad Merge branch '1.5.x' 8 years ago
Andy Wilkinson aeaaaaf903 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson ae4b8dc420 Ensure that CLI-based tests automatically import new TestRestTemplate
See gh-6973
8 years ago
Andy Wilkinson fc0d4e45a5 Update CLI test auto-configuration to 1.4's new test infrastructure
Closes gh-6973
8 years ago
Andy Wilkinson 1186eb3250 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 9b6c9eeedd Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 7e8c5f5940 Silence CLI dependency resolution progress reporting when run with -q
Closes gh-7247
8 years ago
Dave Syer a02fd93d18 Merge branch '1.5.x' 8 years ago
Dave Syer e97b703a20 Additionally make package method public 8 years ago
Dave Syer 13a02a6e55 Merge branch '1.5.x' 8 years ago
Dave Syer f62abade90 Make DependencyResolutionContext empty by default
It's more useful as a building block for other tools that way,
and it's easy to add the spring boot dependencies using public
methods.
8 years ago
Phillip Webb 01900c8342 Merge branch '1.5.x' 8 years ago
Phillip Webb d818a09ed8 Polish 8 years ago
Stephane Nicoll 264d8442da Fix build 8 years ago
Stephane Nicoll c5cc626d48 Remove remote shell support
See gh-7044
8 years ago
Stephane Nicoll 4119da1d9e Merge branch '1.5.x' 8 years ago
Stephane Nicoll 2d75cc79c0 Polish contribution
Closes gh-6367
8 years ago
Henri Kerola d07f689446 "spring war" should copy resources to WEB-INF/classes
Closes gh-6351
8 years ago
Andy Wilkinson f82dc8e043 Upgrade to JMS API 2.0
Closes gh-7049
8 years ago
Andy Wilkinson 3e058e038f Merge branch '1.5.x' 8 years ago
Andy Wilkinson cd45ce9104 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 1bb5dc205d Update samples to use Artemis in place of HornetQ
Closes gh-7057
8 years ago
Stephane Nicoll 6643ec3713 Next development version 8 years ago
Andy Wilkinson 6fb44b2410 Fix TestCommandIntegrationTests after removal of deprecated test support
See gh-6971
See gh-6973
8 years ago
Stephane Nicoll 6bd670edbc Initiate 1.4.x branch 8 years ago
Spring Buildmaster 7e9ed5e1a7 Next Development Version 8 years ago
Andy Wilkinson 472117299e Add some integration tests for the CLI’s quiet mode
See gh-6918
8 years ago
Phillip Webb 7299976d12 Fix banner property used in "quiet" mode
Fixes gh-6918
8 years ago
Dave Syer b5294a48b2 Use context class loader instead of one-off for command location
This works, and feels like the right thing to do, since there is no
guarantee that extensions won't in turn use ServiceLoader for things
that we haven't yet anticipated.

Fixes gh-6829. Cc @wilkinsona in case he has an opinion.
8 years ago
Johnny Lim 4b9f6869f0 Polish
Closes gh-6817
8 years ago
Andy Wilkinson 270530c4fd Fix class loading problems when CLI extensions are installed
Previously, CLI extensions where installed into the CLI's lib
directory which meant that they were on the class path of the app
class loader. Following the change to an executable jar's packaging,
this meant that they could not see classes in the CLI and a
ClassNotFoundException would result.

This commit updates the CLI to install extensions into lib/ext and
load commands using a new ClassLoader that has all of the jars in
lib/ext on its class path and that uses the launch class loader as
its parent.

Closes gh-6615
8 years ago
nagarajasr 0996615ac3 Apply sytem properties on HttpClient
Closes gh-6600
8 years ago
Stephane Nicoll 81094e4b23 Merge branch '1.3.x' 8 years ago
Stephane Nicoll f186008d1f Fix Groovy version in INSTALL.txt
This commit uses maven filtering to set the Groovy version rather than an
hard-coded value that can be easily outdated.

Closes gh-6530
8 years ago
Spring Buildmaster 334baaeffd Next development version 8 years ago
Spring Buildmaster a89ef5df6e Next Development Version 8 years ago
Spring Buildmaster 2216369348 Next Development Version 8 years ago
Andy Wilkinson c24c5aeb3b Upgrade to Maven Assembly Plugin 2.6
Closes gh-6291
9 years ago
Andy Wilkinson 92bb24e365 Avoid synchronizing on this and use an internal monitor instead
Where possible, code that previously synchronized on this (or on the
class in the case of static methods) has been updated to use an
internal monitor object instead. This allows the locking model that's
employed to be an implementation detail rather than part of the
class's API.

Classes that override a synchronized method continue to declare
the overriding method as synchronized. This ensures that locking
is consistent across the superclass and its subclass.

Closes gh-6262
9 years ago
Phillip Webb 99c6194e17 Don't use MockitoJUnitRunner
Replace `@RunWith(MockitoJUnitRunner.class)` with direct Mockito
initialization since the running doesn't support parallel test
execution.
9 years ago
Vedran Pavic a1ac934bee Ignore special variable related JVM output in CommandLineInvoker
Closes gh-5883
9 years ago
Spring Buildmaster 819a9574a6 Next Development Version 9 years ago
Andy Wilkinson 38ad420810 Merge branch '1.3.x' 9 years ago
Andy Wilkinson d77d3ff236 Use a SHA256 checksum in the Homebrew formula
Closes gh-5885
9 years ago
Spring Buildmaster 376bbe68d8 Next Development Version 9 years ago
Phillip Webb 609cb52cd4 Move to relocated web classes
Refactor code to move from recently deprecated classes.

Closes gh-5822
9 years ago
Stephane Nicoll 93c495f69a Remove pid file
This shouldn't have been committed.
9 years ago
Phillip Webb 2679a6f0c6 Polish 9 years ago
Johnny Lim b914b4aa52 Remove the second parameter of substring() if possible
Closes gh-5720
9 years ago
Jakub Narloch 64989ae192 Replacing StringBuffer with lock-free StringBuilder
Closes gh-5727
9 years ago
Andy Wilkinson 0c78b2fd3d Handle fully-qualified Windows paths correctly in the CLI
Previously, the CLI would always use the class loader to try to locate
a source file. This was contrary to the SourceOptions javadoc which
states that the class loader is “used to try and load files that are
not found in the local filesystem”. This provide to be problematic on
Windows when a fully-qualified source file was supplied. The driver
letter colon slash (e.g. c:/) at the start of the path is considered
invalid for a class path resource by URLClassPath.Loader resulting in an
IllegalArgumentException being thrown.

A workaround for this URLClassPath behaviour was added in a71c9b5d. It
was removed as part of reworking LaunchedURLClassLoader to use a
conventional delegation model in 87fe0b2a. It was then reinstated in
cc140b2c. This work around is undesirable as it causes
LaunchedURLClassLoader’s behaviour to diverge from URLClassLoader’s
behaviour (this is contrary to the comments in the test added in
a71c9b5d which incorrectly tests the two class loader with different
class paths. If the two class loaders are created with the same class
path then their behaviour is the same).

This commit updates SourceOptions to make its behaviour match its
javadoc so that a search of the class path is only performed if the
filename doesn’t exist on the filesystem. Furthermore, when running on
Windows, if the filename is an absolute path no further searching is
performed as the path cannot reliably be used to search the class path
due to the behaviour of URLClassPath.Loader when given a path that
is an absolute file path on Windows. This ensures that the user is
presented with an error message indicating that the file could not be
found.

Closes gh-5650
9 years ago
Phillip Webb 6d23ce2ada Polish 9 years ago
Phillip Webb 893a6c32f3 Upgrade to checkstyle 6.17
Fixes gh-5547
9 years ago
Phillip Webb c28f552883 Migrate SpringJUnit4ClassRunner to SpringRunner
Replace all existing SpringJUnit4ClassRunner references with the new
SpringRunner alias.

Fixes gh-5292
9 years ago
Phillip Webb 2f815a907a Migrate existing tests from deprecated package
Update the existing tests to use the relocated `spring-boot-test`
classes. Restructuring was achieved using the following command:

find . -type f -name '*.java' -exec sed -i '' \
-e s/org.springframework.boot.test.ConfigFileApplicationContextInitializer/\
org.springframework.boot.test.context.ConfigFileApplicationContextInitializer/g \
-e s/org.springframework.boot.test.EnvironmentTestUtils/\
org.springframework.boot.test.util.EnvironmentTestUtils/g \
-e s/org.springframework.boot.test.IntegrationTest/\
org.springframework.boot.test.context.IntegrationTest/g \
-e s/org.springframework.boot.test.IntegrationTestPropertiesListener/\
org.springframework.boot.test.context.IntegrationTestPropertiesListener/g \
-e s/org.springframework.boot.test.OutputCapture/\
org.springframework.boot.test.rule.OutputCapture/g \
-e s/org.springframework.boot.test.SpringApplicationConfiguration/\
org.springframework.boot.test.context.SpringApplicationConfiguration/g \
-e s/org.springframework.boot.test.SpringApplicationContextLoader/\
org.springframework.boot.test.context.SpringApplicationContextLoader/g \
-e s/org.springframework.boot.test.SpringBootMockServletContext/\
org.springframework.boot.test.mock.web.SpringBootMockServletContext/g \
-e s/org.springframework.boot.test.TestRestTemplate/\
org.springframework.boot.test.web.client.TestRestTemplate/g \
-e s/org.springframework.boot.test.WebIntegrationTest/\
org.springframework.boot.test.context.web.WebIntegrationTest/g {} \;

See gh-5293
9 years ago
Phillip Webb 644ae2c21a Merge branch '1.3.x' 9 years ago
Phillip Webb 5e722dae6a Polish 9 years ago
Dave Syer 120a39a689 Merge branch '1.3.x' 9 years ago
Dave Syer baf7dda05a Accumulate state in a local variable, not a field in the instance
State is accumulating unnecessarily in AST tranformation instances.
We can fix the ones we have implemented so far just by using a
local variable and passing it into the methods where it is used.
All the methods are private so this change is safe in a point release.

Fixes gh-5283
9 years ago
Dave Syer 0dd3531f77 Fix apostrophe 9 years ago
Spring Buildmaster 225d877ab9 Next Development Version 9 years ago
Andy Wilkinson 44ddfcc7fa Upgrade copyright headers of all files changed in 2016 9 years ago
Phillip Webb 89b7704977 Extract spring-boot-test.jar
Relocate the `org.springframework.boot.test` package from the
`spring-boot.jar` to `spring-boot-test.jar`.

Fixes gh-5184
9 years ago
Andy Wilkinson 87fe0b2ade Use a conventional delegation model in LaunchedURLClassLoader
When an application is run as an executable archive with nested jars,
the application's own classes need to be able to load classes from
within the nested jars. This means that the application's classes need
to be loaded by the same class loader as is used for the nested jars.
When an application is launched with java -jar the contents of the
jar are on the class path of the app class loader, which is the
parent of the LaunchedURLClassLoader that is used to load classes
from within the nested jars. If the root of the jar includes the
application's classes, they would be loaded by the app class loader
and, therefore, would not be able to load classes from within the
nested jars.

Previously, this problem was resolved by LaunchedURLClassLoader being
created with a copy of all of the app class laoder's URLs and by
using an unconventional delegation model that caused it to skip its
parent (the app class loader) and jump straight to its root class
loader. This ensured that the LaunchedURLClassLoader would load both
the application's own classes and those from within any nested jars.
Unfortunately, this unusual delegation model has proved to be
problematic. We have seen and worked around some problems with Java
Agents (see gh-4911 and gh-863), but there are others (see gh-4868)
that cannot be made to work with the current delegation model.

This commit reworks LaunchedURLClassLoader to use a conventional
delegate model with the app class loader as its parent. With this
change in place, the application's own classes need to be hidden
from the app class loader via some other means. This is now achieved
by packaging application classes in BOOT-INF/classes (and, for
symmetry, nested jars are now packaged in BOOT-INF/lib). Both the
JarLauncher and the PropertiesLauncher (which supports the executable
jar layout) have been updated to look for classes and nested jars in
these new locations.

Closes gh-4897
Fixes gh-4868
9 years ago