Commit Graph

24862 Commits

Author SHA1 Message Date
Stephane Nicoll
9c27921a46 Upgrade Java 13 version in CI image
Closes gh-19856
2020-01-23 08:52:07 +01:00
Stephane Nicoll
ff5f8e18ac Merge branch '2.2.x'
Closes gh-19870
2020-01-23 08:50:48 +01:00
Stephane Nicoll
b315bfd87c Merge branch '2.1.x' into 2.2.x
Closes gh-19869
2020-01-23 08:50:21 +01:00
Stephane Nicoll
8dc3e74447 Upgrade Java 8 version in CI image
Closes gh-19857
2020-01-23 08:49:46 +01:00
Phillip Webb
b5b4a02c61 Automatically add jarmode jars when packaging
Update the `Packager` to automatically add the layertools jarmode jar
when producing a layered jar.

Closes gh-19865
2020-01-22 23:14:47 -08:00
Phillip Webb
2b83edeb27 Fix jarmode support in unexploded jars
Update `LaunchedURLClassLoader` to ensure that the `JarModeLauncher`
is created in the correct classloader.

Prior to this commit the launcher was created by the application
classloader and did not have access to any of the required
`org.springframework` classes.

See gh-19848
2020-01-22 23:07:18 -08:00
Phillip Webb
57db621b70 Polish 2020-01-22 23:06:58 -08:00
Phillip Webb
77bbe089b2 Update copyright year of changed files 2020-01-22 20:24:23 -08:00
Phillip Webb
71ce212f7f Rename spring-boot-layertools
Rename `spring-boot-layertools` to `spring-boot-jarmode-layertools`.

Closes gh-19853
2020-01-22 20:24:23 -08:00
Madhura Bhave
13f7db2d8c Write classpath index file from Gradle plugin
Closes gh-19847
2020-01-22 19:32:08 -08:00
Phillip Webb
2198614359 Fix incorrect spring replace due to " change 2020-01-22 17:11:31 -08:00
Scott Frederick
462f5635d6 Reinstate JobLauncherCommandLineRunner
This class was mistakenly marked as deprecated in 2.2.0 instead of deprecated
in 2.3.0. This resulted in the class being deleted as part of the 2.3.0
cleanup.

Putting it back in place now with the correct deprecation noted.

Closes gh-19861
2020-01-22 18:48:55 -06:00
Phillip Webb
e0013454b5 Use parentheses when declaring dependencies
Update all dependencies declarations to use the form `scope(reference)`
rather than `scope reference`.

Prior to this commit we declared dependencies without parentheses unless
we were forced to add them due to an `exclude`.
2020-01-22 16:02:38 -08:00
Phillip Webb
0209cd3e4c Polish quote form used in Gradle scripts
Replace Gradle single quote strings with the double quote form
whenever possible. The change helps to being consistency to the
dependencies section where mostly single quotes were used, but
occasionally double quotes were required due to `${}` references.
2020-01-22 15:49:52 -08:00
Scott Frederick
ed6fbc6bec Remove Spring Cloud Connectors auto-config/starter
The Spring Cloud Connectors project has been deprecated in favor of the
Java CFEnv project. The Boot auto-configuration and starter that support
Connectors were deprecated in Boot 2.2.

This commit removes the Connectors auto-configuration, starter,
and dependency management.

Closes gh-19798
2020-01-22 17:06:32 -06:00
Madhura Bhave
df5b0f1163 Add support for layered jars in gradle plugin
Closes gh-19792

Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
2020-01-22 14:53:36 -08:00
Scott Frederick
9ff50f903f Default spring.datasource.generate-unique-name to true
This change ensures that each test in a test suite that shares an
application context gets a unique embedded database, to prevent
inconsistent embedded database state between tests.

Closes gh-16747
2020-01-22 15:41:40 -06:00
Phillip Webb
951d0b0fdf Fix exploded jar classloader issues
Fix a bug in `ExplodedURLClassLoader` and merge the code into the
existing `LaunchedURLClassLoader` class. Also polish a few method
names relating to layer support.

See gh-19848
See gh-19767
2020-01-22 12:56:14 -08:00
Phillip Webb
b4229239ab Protect against NPE in server tests
Update `AbstractApplicationLauncher` to not attempt to shutdown
the process if startup fails.
2020-01-22 12:54:35 -08:00
Phillip Webb
e28338d6cd Rename spring-boot-cloudnativebuildpack
Rename the `spring-boot-cloudnativebuildpack` module to
`spring-boot-buildpack-platform` and update the the package
name to `org.springframework.boot.buildpack.platform`.

Closes gh-19851
2020-01-22 11:01:32 -08:00
Scott Frederick
288889685d Change default BootstrapMode for JPA repositories
Change the default `BootstrapMode` for auto-configured `JpaRepositories`
to `BootstrapMode.DEFERRED` to allow the initialization of
`EntityManagerFactory` to be parallelized for increased startup efficiency.

Prior to this change, the default BootstrapMode for all auto-configured
Spring Data repositories was `BootstrapMode.DEFAULT`.

Closes gh-16230
2020-01-22 10:55:51 -08:00
Andy Wilkinson
ae3bdc79f3 Merge pull request #19850 from dreis2211
* gh-19850:
  Treat Java 11+'s NoSuchFileException the same as FileNotFoundException

Closes gh-19850
2020-01-22 11:45:22 +00:00
dreis2211
23e87f8266 Treat Java 11+'s NoSuchFileException the same as FileNotFoundException
See gh-19850
2020-01-22 11:45:11 +00:00
Andy Wilkinson
adc6444272 Upgrade to Micrometer 1.3.3
Closes gh-19652
2020-01-22 11:24:01 +00:00
Phillip Webb
e513fe4666 Add layertools jarmode
Add a new `spring-boot-layertools` module which provides jarmode support
for working with layers. The module works with both classic fat jars,
as well as layered jars.

Closes gh-19849
2020-01-22 01:26:55 -08:00
Phillip Webb
73a42050d6 Add jarmode support to the loader code
Update the `Launcher` class to allow a packaged jar to be  launched in
a different mode. The launcher now checks for a `jarmode` property and
attempts to find a `JarMode` implementation using the standard
`spring.factories` mechanism.

Closes gh-19848
2020-01-22 01:23:11 -08:00
Phillip Webb
d5a70688cb Reserve layer names for future use
Update layered jar support so that the name `ext` and any name
starting `springboot` are reserved.

See gh-19767
2020-01-22 01:13:54 -08:00
Phillip Webb
3af4930f75 Add cloudnativebuildpack to dependencies
Update the managed dependencies to include the recently added
`spring-boot-cloudnativebuildpack` module.

See gh-19828
2020-01-22 01:10:57 -08:00
Phillip Webb
7d8f8d47c8 Fix packager code to generate layer index file
Update `Packager` to create the layer index file when repackaging.

Closes gh-19767
2020-01-21 23:26:19 -08:00
Phillip Webb
bfd2ca7fd9 Polish Gradle expression references
Expand all expression `$` references to the full `${...}` form.
2020-01-21 18:33:33 -08:00
Andy Wilkinson
89237634c7 Fix classpath used for Gradle Plugin integration tests in Eclipse
See gh-19841
2020-01-21 14:59:07 +00:00
Stephane Nicoll
1faa6b3b1f Merge pull request #19790 from scottfrederick
* pr/19790:
  Polish "Upgrade to Infinispan 10.1.1.Final"
  Upgrade to Infinispan 10.1.1.Final

Closes gh-19790
2020-01-21 15:11:29 +01:00
Stephane Nicoll
4d70f58bc8 Polish "Upgrade to Infinispan 10.1.1.Final"
See gh-19790
2020-01-21 14:53:09 +01:00
Scott Frederick
511258f486 Upgrade to Infinispan 10.1.1.Final
See gh-19790
2020-01-21 14:46:56 +01:00
Stephane Nicoll
08967bca3e Merge branch '2.2.x'
Closes gh-19843
2020-01-21 14:44:01 +01:00
Stephane Nicoll
84324c438b Merge branch '2.1.x' into 2.2.x
Closes gh-19842
2020-01-21 14:34:44 +01:00
Stephane Nicoll
34c263a828 Polish actuator dependencies and test resources
This commit removes references of cache infra following the move to
Micrometer. We no longer ships an infinispan specific binder so the
dependency has been removed as well.

Closes gh-19838
2020-01-21 14:20:28 +01:00
Andy Wilkinson
1e72fa202c Rework loader-tools resource generation to work with Buildship
Previously, the generated resources were added as an output to the
main source set. This worked on the command line, but resulted in
the META-INF folder that contains the loader jar not being on the
classpath of downstream projects in Eclipse.

This commit changes loader-tools to add the generated resources
as a srcDir to the main source set. This results in it appearing on
the classpath of other projects in Eclipse that depend on loader-tools
such as the Gradle plugin, thereby allowing its tests to be run in
the IDE as well as on the command line.

Fixes gh-19841
2020-01-21 12:52:02 +00:00
Andy Wilkinson
4486da8ef3 Use JavaExec to invoke Ant with required dependencies on its classpath
Previously, we were adding dependencies to Ant's ClassLoader within
Gradle. It is suspected that this was causing sporadic loader
contraint violations as types that Gradle itself uses (from Commons
Compress) were then available from two different ClassLoaders.

This commit reworks the Ant smoke test to use JavaExec and Ant's
launcher to run the build. This allows us to make the necessary
dependencies available to Ant in an isolated manner. The javac
invocation within Ant is now forked to allow it to find the tools jar
even when the build itself is running on a JRE.

Closes gh-19839
2020-01-21 12:13:03 +00:00
Andy Wilkinson
62a848f1b1 Register JNA's native library integration in LinuxSocketDomain
See gh-19836
2020-01-21 11:09:31 +00:00
Stephane Nicoll
ef13f04938 Merge pull request #19797 from dreis2211
* pr/19797:
  Revisit documentation that mentions Gradle "compile" configuration

Closes gh-19797
2020-01-21 11:10:13 +01:00
dreis2211
991bcf5ce4 Revisit documentation that mentions Gradle "compile" configuration
See gh-19797
2020-01-21 11:09:41 +01:00
Stephane Nicoll
d421c63747 Disable integration test on Linux
See gh-19836
2020-01-21 10:46:55 +01:00
Stephane Nicoll
ffd7670843 Attempt to make DockerApiIntegrationTests work on Linux 2020-01-21 10:19:56 +01:00
Stephane Nicoll
308d9baec0 Merge pull request #19826 from dreis2211
* pr/19826:
  Reinstate running of OutputCaptureRuleTests

Closes gh-19826
2020-01-21 09:48:03 +01:00
dreis2211
042694bc53 Reinstate running of OutputCaptureRuleTests
See gh-19826
2020-01-21 09:47:41 +01:00
Stephane Nicoll
cd5691b0f0 Merge pull request #19835 from dreis2211
* pr/19835:
  Add UTF-8 encoding to spring-boot-starter-parent POM

Closes gh-19835
2020-01-21 09:43:34 +01:00
dreis2211
088e79f446 Add UTF-8 encoding to spring-boot-starter-parent POM
See gh-19835
2020-01-21 09:36:38 +01:00
Phillip Webb
cb4928ad51 Add build-image support to the maven plugin
Add a new `build-image` goal to the Maven plugin to allow Docker images
to be create via using the cloud native buildpack.

See gh-19830
2020-01-20 23:48:47 -08:00
Phillip Webb
16e6bc89ed Create a new ImagePackager tools class
Pull functionality from `Repackager` into a new `Packager` base class
and develop a variant for Docker image creation. The new `ImagePackager`
class provides a general purpose way to construct jar entries without
being tied to an actual file. This will allow us to link it to a
buildpack and provide application content directly.

Closes gh-19834
2020-01-20 23:48:47 -08:00