Commit Graph

7974 Commits

Author SHA1 Message Date
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 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
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 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 62a848f1b1 Register JNA's native library integration in LinuxSocketDomain
See gh-19836
2020-01-21 11:09:31 +00: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
dreis2211 042694bc53 Reinstate running of OutputCaptureRuleTests
See gh-19826
2020-01-21 09:47:41 +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
Phillip Webb aa1954717c Add cloud native buildpack module
Add a Java implementation of the buildpacks.io specification allowing
projects to be packaged into OCI containers. The `builder` class
provides a Java equivalent of `pack build` command and is based on
the `pack` CLI Go code published at https://github.com/buildpacks/pack.

Closes gh-19828
2020-01-20 23:48:47 -08:00
Andy Wilkinson 29d8b6db5a Merge branch '2.2.x'
Closes gh-19822
2020-01-20 15:18:18 +00:00
Andy Wilkinson f708aace65 Merge branch '2.1.x' into 2.2.x
Fixes gh-19821
2020-01-20 15:18:00 +00:00
Stephane Nicoll 67bba7c64a Merge branch '2.2.x'
Closes gh-19820
2020-01-20 16:13:03 +01:00
Stephane Nicoll 3dba4c8f4e Polish "Document RedisCacheManagerBuilderCustomizer"
See gh-19819
2020-01-20 16:02:38 +01:00
Dmytro Nosan 61d8bacd23 Document RedisCacheManagerBuilderCustomizer
See gh-19819
2020-01-20 16:02:20 +01:00
Andy Wilkinson c85f19b75b Revert "Add profiles directly to the application environment for tests"
This reverts commit 487b9cbf96.

Fixes gh-19788
2020-01-20 15:01:09 +00:00
Andy Wilkinson 235b74ca12 Merge branch '2.2.x'
Closes gh-19814
2020-01-20 11:33:56 +00:00
Andy Wilkinson 7693d332fa Upgrade to Dependency Management Plugin 1.0.9.RELEASE
Closes gh-19783
2020-01-20 11:32:09 +00:00
Stephane Nicoll 4ab19c3cfb Upgrade to Reactor Dysprosium-SR4
Closes gh-19809
2020-01-20 09:24:43 +01:00
Stephane Nicoll ae561ce59b Upgrade to Reactor Dysprosium-SR4
Closes gh-19795
2020-01-20 09:22:38 +01:00
Andy Wilkinson bfdb49f2a2 Retry when findAvailableTcpPort returns an unavailable port
Closes gh-19801
2020-01-18 12:25:13 +00:00
Andy Wilkinson fabd692812 Upgrade to Spring HATEOAS 1.1.0.M1
Closes gh-19649
2020-01-17 20:27:33 +00:00
Andy Wilkinson 60fcc4bab1 Upgrade to Spring AMQP 2.2.3.RELEASE
Closes gh-19651
2020-01-17 20:13:18 +00:00
Andy Wilkinson 408f17f821 Close FileInputStreams in RepackagerTests 2020-01-17 20:04:31 +00:00
Andy Wilkinson 724597d45f Use a centrally managed version for commons-compress 2020-01-17 10:34:55 +00:00
Stephane Nicoll 986bef9cba Upgrade to Spring Data Neumann-M2
Closes gh-19588
2020-01-17 09:49:17 +01:00
Phillip Webb abad00754b Revert "Upgrade to Spring Data Neumann-M1"
This reverts commit e44206e88e.
2020-01-16 16:54:43 -08:00
Phillip Webb fd792cedaf Polish DisabledIfDockerUnavailable
Convert `DisabledIfDockerUnavailable` to be an annotation and make
it slightly less noisy.
2020-01-16 16:54:43 -08:00
Madhura Bhave cf01f9fba0 Add tests for configuring layered jar layout
Closes gh-19768
2020-01-16 11:27:41 -08:00
Stephane Nicoll e44206e88e Upgrade to Spring Data Neumann-M1
Closes gh-19588
2020-01-16 16:28:12 +01:00
dreis2211 dcdadb9aa7 Make Tomcat javadoc link version dependent
See gh-19632
2020-01-16 15:51:36 +01:00
Stephane Nicoll 7270ca5cf4 Polish "Remove deprecated Joda-Time support"
See gh-19699
2020-01-16 15:15:21 +01:00
Scott Frederick c4592e7df8 Remove deprecated Joda-Time support
See gh-19699
2020-01-16 14:48:46 +01:00
Scott Frederick 8f102aee68 Remove deprecated 2.2 code
See gh-19699
2020-01-16 14:44:52 +01:00
Scott Frederick 2e32cb2af1 Remove deprecated HealthIndicator and HealthAggregator 2.2 code
See gh-19699
2020-01-16 14:44:51 +01:00
Scott Frederick 1f1b06dfe2 Remove deprecated Actuator metrics 2.2 code
See gh-19699
2020-01-16 14:44:09 +01:00
Stephane Nicoll 03139f066b Polish "Remove deprecated logging properties"
See gh-19699
2020-01-16 14:42:38 +01:00
Scott Frederick 7031a3b17d Remove deprecated logging properties
See gh-19699
2020-01-16 14:35:41 +01:00
Stephane Nicoll 421c464dd8 Deprecate CachingOperationInvoker#apply
This commit deprecates the only public accessor to
`CacheOperationInvoker` so that we can make the entire class package
private in the next feature release.

Closes gh-19089
2020-01-16 14:30:47 +01:00
Andy Wilkinson d6631a578b Upgrade to Micrometer 1.3.2
Closes gh-19778
2020-01-16 12:52:52 +00:00
Andy Wilkinson 9b5af810dd Merge branch '2.2.x'
Closes gh-19774
2020-01-16 10:06:24 +00:00
Andy Wilkinson 9d5975bd09 Upgrade to Gradle 6.1
Closes gh-19772
2020-01-16 10:00:45 +00:00
Andy Wilkinson 4c8626ea56 Allow Boot's Jetty error handler to be overridden
Fixes gh-19520
2020-01-16 09:33:22 +00:00
Andy Wilkinson a162c8ac0b Revert "Build against Micrometer 1.3.3 snapshots"
The release didn't happen in time for 2.2.3.

See gh-19645
2020-01-16 09:16:58 +00:00
Andy Wilkinson 8f209ced6d Revert "Start building against Micrometer 1.1.10 snapshots"
The release did not happen in time for 2.1.12.

See gh-19649.
2020-01-16 09:13:09 +00:00
Phillip Webb 8fde088574 Add layered jar layout support to the maven plugin
Update the Maven plugin with a new `LAYERED_JAR` layout option.

See gh-19768
2020-01-15 23:33:29 -08:00
Madhura Bhave e9d61bac75 Support generation and loading of layered jars
Support an alternative fat jar format that is more amenable to Docker
image layers.

The new format arranges files in the following structure:

	BOOT-INF/
	  layers/
	    <layer-name #1>
	      /classes
	      /lib
	    <layer-name #2>
	      /classes
	      /lib

The `BOOT-INF/layers.idx` file provides the names of the layers and the
order in which they should be added (starting with the least changed).

The `JarLauncher` class can load layered jars in both fat and exploded
forms.

Closes gh-19767

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
2020-01-15 23:32:58 -08:00
Madhura Bhave 45b1ab46c3 Add classpath index support for exploded archives
Update the `Repackager` class so that an additional `classpath.idx` file
is written into the jar that provides the original order of the
classpath. The `JarLauncher` class now uses this file when running as
an exploded archive to ensure that the classpath order is the same as
when running from the far jar.

Closes gh-9128

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
2020-01-15 23:31:17 -08:00
Phillip Webb ad72f86bdb Polish loader and loader-tools
Polish and refactor `spring-boot-loader` and `spring-boot-loader-tools`
to make it easier to add indexing and layering support.

Closes gh-19766
2020-01-15 23:29:11 -08:00
Andy Wilkinson 56e30258fb Merge branch '2.2.x' 2020-01-15 20:45:42 +00:00
Andy Wilkinson b7e250eb04 Merge branch '2.1.x' into 2.2.x 2020-01-15 20:45:24 +00:00
Andy Wilkinson ebebe09a9d Fix file handle leak in JarFileTests
The JarFile was not being closed which linked a file handle and caused
a test failure on Windows.

The local variable has been renamed as, when declared in a
try-with-resources, Checkstyle was confused by the shadowing of the
jarFile field and required references to jarFile within the try-block
the be prefixed with this.

See gh-19595
2020-01-15 20:43:54 +00:00
Andy Wilkinson 18462796bf Upgrade to Spring Kafka 2.3.5
Closes gh-19613
2020-01-15 20:36:13 +00:00
Andy Wilkinson 072b253b14 Upgrade to Spring Integration 5.2.3
Closes gh-19647
2020-01-15 20:35:31 +00:00
Andy Wilkinson cef9f0f3f5 Upgrade to Spring AMQP 2.2.3
Closes gh-19646
2020-01-15 20:34:06 +00:00
Andy Wilkinson b982bbec37 Upgrade to Spring Kafka 2.2.12.RELEASE
Closes gh-19761
2020-01-15 19:40:29 +00:00
Andy Wilkinson 5c7bd33fed Upgrade to Spring AMQP 2.1.13
Closes gh-19641
2020-01-15 19:38:48 +00:00
Andy Wilkinson 2e8dc83a80 Upgrade to Spring Data Moore-SR4
Closes gh-19648
2020-01-15 15:09:58 +00:00
Andy Wilkinson e6fa8530d7 Upgrade to Spring HATEOAS 1.0.3.RELEASE
Closes gh-19644
2020-01-15 15:09:58 +00:00
Andy Wilkinson 6e93ea3631 Upgrade to Spring Retry 1.2.5.RELEASE
Closes gh-19758
2020-01-15 15:09:58 +00:00
Andy Wilkinson 8d4711617f Upgrade to Slf4j 1.7.30
Closes gh-19757
2020-01-15 15:09:58 +00:00
Andy Wilkinson 5083209447 Upgrade to Postgresql 42.2.9
Closes gh-19756
2020-01-15 15:09:58 +00:00
Andy Wilkinson 89c20a3ada Upgrade to Neo4j Ogm 3.2.6
Closes gh-19755
2020-01-15 15:09:58 +00:00
Andy Wilkinson 443d1a6a21 Upgrade to Liquibase 3.8.5
Closes gh-19754
2020-01-15 15:09:58 +00:00
Andy Wilkinson 17d584fd1d Upgrade to Kotlin Coroutines 1.3.3
Closes gh-19753
2020-01-15 14:53:04 +00:00
Andy Wilkinson 57414039e6 Upgrade to Infinispan 9.4.17.Final
Closes gh-19752
2020-01-15 14:53:04 +00:00
Andy Wilkinson 2989af4cee Upgrade to Hibernate 5.4.10.Final
Closes gh-19751
2020-01-15 14:53:04 +00:00
Andy Wilkinson 911d86d232 Upgrade to Elasticsearch 6.8.6
Closes gh-19750
2020-01-15 14:53:04 +00:00
Andy Wilkinson 7ba8eed286 Upgrade to Jetty 9.4.25.v20191220
Closes gh-19749
2020-01-15 14:53:04 +00:00
Andy Wilkinson 570b1ba630 Upgrade to Groovy 2.5.9
Closes gh-19748
2020-01-15 14:53:04 +00:00
Andy Wilkinson 2d461fef37 Upgrade to Awaitility 4.0.2
Closes gh-19747
2020-01-15 14:53:03 +00:00
Andy Wilkinson 3de1abfacf Upgrade to Httpcore 4.4.13
Closes gh-19746
2020-01-15 14:53:03 +00:00
Andy Wilkinson a77ccf7763 Upgrade to Byte Buddy 1.10.6
Closes gh-19745
2020-01-15 14:53:03 +00:00
Andy Wilkinson d8645bafcd Upgrade to Mysql 8.0.19
Closes gh-19744
2020-01-15 14:53:03 +00:00
Andy Wilkinson 4df55a64ab Upgrade to Undertow 2.0.29.Final
Closes gh-19743
2020-01-15 14:53:03 +00:00
Andy Wilkinson 073d362078 Upgrade to Rxjava2 2.2.17
Closes gh-19742
2020-01-15 14:53:03 +00:00
Andy Wilkinson 285ae01691 Upgrade to Netty 4.1.45.Final
Closes gh-19741
2020-01-15 14:53:03 +00:00
Andy Wilkinson d6f93704e9 Upgrade to Dropwizard Metrics 4.1.2
Closes gh-19740
2020-01-15 14:48:21 +00:00
Andy Wilkinson cb951d1103 Upgrade to Hikaricp 3.4.2
Closes gh-19739
2020-01-15 14:48:19 +00:00
Andy Wilkinson 37e699b391 Upgrade to Unboundid Ldapsdk 4.0.14
Closes gh-19738
2020-01-15 14:48:18 +00:00
Andy Wilkinson bbcf9e2d9f Upgrade to Okhttp3 3.14.6
Closes gh-19737
2020-01-15 14:48:13 +00:00
Andy Wilkinson f47a75a9f9 Upgrade to Hazelcast 3.12.5
Closes gh-19736
2020-01-15 14:48:11 +00:00
Andy Wilkinson 1e9afc6482 Upgrade to Jackson 2.10.2
Closes gh-19735
2020-01-15 14:48:10 +00:00