Commit Graph

793 Commits

Author SHA1 Message Date
Scott Frederick a9f26e0f95 Conditionally enable image building bind cache tests
Accessing bind mount directories as is done in the tests for building
images with bind mount caches requires Docker configuration when
using Docker Desktop. It works without configuration on Linux with
Docker Engine.

See gh-28387
2023-09-12 17:00:59 -05:00
Scott Frederick 1c03ed3184 Merge branch '3.1.x'
Closes gh-37052
2023-08-21 16:41:11 -05:00
Scott Frederick ef40d9ebe2 Merge branch '3.0.x' into 3.1.x
Closes gh-37051
2023-08-21 16:40:55 -05:00
Scott Frederick 0b197650a9 Merge branch '2.7.x' into 3.0.x
Closes gh-37050
2023-08-21 16:40:43 -05:00
Scott Frederick d5cfe4d475 Remove invalid caches parameter entry from Maven plugin docs
Fixes gh-37048
2023-08-21 16:40:18 -05:00
Scott Frederick c17ecf0f0b Add support for caching to bind mounts when building images
When building an image using the Maven `spring-boot:build-image` goal or
the Gradle `bootBuildImage` task, the build and launch caches can be
configured to use a bind mount as an alternative to using a named
volume.

Closes gh-28387
2023-08-21 15:04:39 -05:00
Scott Frederick eb45aab712 Upgrade default CNB builders to Paketo Jammy
Closes gh-36689
2023-08-14 13:29:42 -05:00
Stephane Nicoll b0ac3a7835 Merge branch '3.1.x'
Closes gh-36973
2023-08-14 16:13:07 +02:00
Stephane Nicoll 5f2432aca2 Merge branch '3.0.x' into 3.1.x
Closes gh-36972
2023-08-14 16:12:55 +02:00
Stephane Nicoll 0271efae4c Polish "Avoid setting null compiler option"
See gh-36971
2023-08-14 16:07:25 +02:00
omaryaya a0ad00c542 Avoid setting null compiler option
See gh-36971
2023-08-14 16:06:34 +02:00
Stephane Nicoll 70ea830277 Merge branch '3.1.x'
Closes gh-36967
2023-08-14 15:14:59 +02:00
Stephane Nicoll 0cf21b21ca Merge branch '3.0.x' into 3.1.x
Closes gh-36966
2023-08-14 15:14:49 +02:00
normandra 62902a798d Fix typo
See gh-36964
2023-08-14 15:01:39 +02:00
Stephane Nicoll e073d14950 Merge branch '3.1.x'
Closes gh-36960
2023-08-14 11:37:14 +02:00
Stephane Nicoll b903df7327 Merge branch '3.0.x' into 3.1.x
Closes gh-36959
2023-08-14 11:37:07 +02:00
Stephane Nicoll 3ae65e073c Use Aether to download JUnit platform launcher
This commit updates our maven plugin to use aether directly, rather than
the now deprecated maven features.

Closes gh-36724
2023-08-14 11:23:43 +02:00
Phillip Webb 8edec21a6f Update copyright year of changed files 2023-08-13 20:44:44 -07:00
Phillip Webb 407fa780c8 Polish 2023-08-13 20:44:44 -07:00
Andy Wilkinson d1449fb97c Make milestone plugin dependencies available to Maven integration tests 2023-08-09 21:20:40 +01:00
Andy Wilkinson 1e28ebd8aa Merge branch '3.1.x'
Closes gh-36823
2023-08-09 09:25:38 +01:00
Andy Wilkinson 9f2e592b9b Merge branch '3.0.x' into 3.1.x
Closes gh-36822
2023-08-09 09:21:02 +01:00
Andy Wilkinson 4062ba6d28 Merge branch '2.7.x' into 3.0.x
Closes gh-36821
2023-08-09 08:25:41 +01:00
Andy Wilkinson 68baa6e7df Make section IDs consistent in Maven Plugin docs and enforce it
Closes gh-26619
2023-08-09 08:06:38 +01:00
Moritz Halbritter ed9169501e Polish 2023-08-08 13:12:47 +02:00
Andy Wilkinson b1d26fe961 Revert "Upgrade default CNB builders to Paketo Jammy"
This reverts commit 6506208d29. The
upgrade to the Jammy builder was causing
failsWhenBuildImageIsInvokedOnMultiModuleProjectWithBuildImageGoal to
hang on CI.

See gh-36689
2023-08-07 12:10:27 +01:00
Andy Wilkinson 579aac055d Upgrade to Maven Shade Plugin 3.5.0
Closes gh-36752
2023-08-04 19:27:49 +01:00
Andy Wilkinson 0c7c7ac8a9 Upgrade to Maven 3.9.4
Closes gh-36747
2023-08-04 19:27:42 +01:00
Andy Wilkinson 64463fe7ec Upgrade to Maven 3.9.4
Closes gh-36729
2023-08-04 13:49:31 +01:00
Andy Wilkinson 0457519fab Upgrade to Maven 3.9.4
Closes gh-36717
2023-08-04 11:49:10 +01:00
Andy Wilkinson 59bd6879a2 Upgrade to Maven 3.9.4
Closes gh-36705
2023-08-04 08:22:55 +01:00
Stephane Nicoll f34dc05452 Rename run goal's directories property to additionalClasspathElements
This clarifies what used to be called "directories" as both a directory
and a jar file can be provided. A directory with `/*` would also load
all the jar files from that directory.

The "directories" property has been deprecated as a result.

Closes gh-35179
2023-08-03 16:22:07 +02:00
Scott Frederick 6506208d29 Upgrade default CNB builders to Paketo Jammy
Closes gh-36689
2023-08-02 19:06:16 -05:00
Andy Wilkinson 07a7ff473b Merge branch '3.1.x'
Closes gh-36495
2023-07-21 16:47:35 +01:00
Andy Wilkinson 519966e230 Merge branch '3.0.x' into 3.1.x
Closes gh-36494
2023-07-21 16:47:24 +01:00
Andy Wilkinson 84c1c5ccaa Polish "Don't run process-aot or process-test-aot on reactor projects"
See gh-35377
2023-07-21 16:39:50 +01:00
Urs Keller 0308de1672 Don't run process-aot or process-test-aot on reactor projects
See gh-35377
2023-07-21 16:39:24 +01:00
Scott Frederick 4393a2244c Use Docker CLI context to determine daemon host address for image building
Configuration files managed by the Docker CLI are now used to determine
the host address of the Docker daemon used when building images using
buildpacks when a host address is not configured with environment
variables or build tool plugin configuration.

Closes gh-36445
2023-07-18 13:21:01 -06:00
Andy Wilkinson 9985c845f2 Adapt to Framework changes missed due to predictive test selection
See gh-36198
2023-07-04 12:39:52 +01:00
Andy Wilkinson 5a9ca67fba Start building against Spring Framework 6.2.0-M2 snapshots
See gh-36198
2023-07-04 10:20:33 +01:00
Andy Wilkinson b394553b30 Merge branch '3.1.x' 2023-06-21 12:11:06 +01:00
Andy Wilkinson 660dbb9afd Fix Maven-built native images with Docker Compose dependency
Previously, we tried to prevent spring-boot-docker-compose from
causing problems with AOT and native images by excluding it from
the AOT processing classpath. This allowed AOT processing to
succeed. We cannot apply the same exclusion to the native image
classpath so spring-boot-docker-compose was still included in the
native image. This results in a failure at runtime due to missing
reflection hints.

This commit reverts that changes that excluded
spring-boot-docker-compose from the AOT processing classpath. This
allows AOT processing to generate reflection hints but reintroduces
the failure caused by the connection details bean definitions using
an instance supplier callback. To overcome this problem we disable
DockerComposeLifecycleManager during AOT processing and in a native
image. This ensures that no attempt is made to call docker compose up
and no connection details beans are defined.

Fixes gh-35676
2023-06-21 11:44:30 +01:00
Andy Wilkinson 818f096890 Merge branch '3.1.x' 2023-06-21 10:46:35 +01:00
Andy Wilkinson 853caf9a59 Do not exclude DevTools from Maven AOT processing classpath
When excluded from the AOT processing classpath, a reflection hint
for DevTools' RestartScopeInitializer that's registered in
spring.factories is not generated. When the native image is compiled
we have no control over its classpath so DevTools is included. This
causes a failure at runtime as RestartScopeInitializer cannot be
loaded due to the missing reflection hint.

Until we have control over the native image classpath, we need to
include DevTools on the AOT processing classpath and then rely on
DevTools disabling itself in a native image which it already does.

Fixes gh-35853
2023-06-21 10:36:38 +01:00
Andy Wilkinson b9c2c289b3 Start working on Spring Boot 3.2
This commit also disables the creation of forward merge issues
when merging into main. Forward merge issues will be re-enabled
once 3.1.1 has been released.
2023-06-08 17:22:21 +01:00
Stephane Nicoll dcb97594c3 Merge branch '3.0.x'
Closes gh-35618
2023-05-24 13:30:54 +02:00
Stephane Nicoll 44c2090092 Polish "Fix description of build-image[-no-fork] Maven plugin goals"
See gh-35609
2023-05-24 13:28:01 +02:00
Thomas Kåsene e84025b1b8 Fix description of build-image[-no-fork] Maven plugin goals
See gh-35609
2023-05-24 13:24:37 +02:00
Phillip Webb 1ec78e5437 Add devtools and docker-compose to test maven repository
See gh-35548
2023-05-18 15:15:16 -07:00
Phillip Webb c2961a1e4a Exclude docker-compose and devtools during AOT processing
Update `ProcessAotMojo` so that `spring-boot-docker-compose` and
`spring-boot-devtools` are not included on the classpath.

Fixes gh-35548
2023-05-18 11:21:13 -07:00
Phillip Webb e3ed87d165 Merge branch '3.0.x' 2023-05-12 13:21:52 -07:00
Phillip Webb 92e420a098 Merge branch '2.7.x' into 3.0.x 2023-05-12 13:14:12 -07:00
Phillip Webb 57e45dfb21 Update copyright year of changed files 2023-05-12 13:01:43 -07:00
Moritz Halbritter 05add58976 Merge branch '3.0.x'
Closes gh-35373
2023-05-10 08:23:35 +02:00
Moritz Halbritter 42cc84070b Merge branch '2.7.x' into 3.0.x
Closes gh-35372
2023-05-10 08:23:27 +02:00
Moritz Halbritter 52789cb191 Fix anchors in Maven plugin documentation
Closes gh-35371
2023-05-10 08:21:44 +02:00
Moritz Halbritter a4092fb396 Remove HTML tags from TestRunMojo javadoc
Closes gh-35349
2023-05-09 10:14:55 +02:00
Marc Leroux b61834c92d Replace Mockito argument captors with assertArg
See gh-35015
2023-05-05 11:34:55 +02:00
Andy Wilkinson e43998615c Add a test-run goal to the Maven plugin
Closes gh-35202
2023-05-04 15:06:03 +01:00
Phillip Webb d86e82d026 Merge branch '3.0.x' 2023-05-02 15:42:05 -07:00
Phillip Webb 2c27ec5b7b Merge branch '2.7.x' into 3.0.x 2023-05-02 15:42:00 -07:00
Phillip Webb b3226c55d2 Polish 2023-05-02 15:41:55 -07:00
Moritz Halbritter 9d50d92b9c Merge branch '3.0.x' 2023-05-02 16:36:49 +02:00
Moritz Halbritter 1f4a337ad2 Merge branch '2.7.x' into 3.0.x 2023-05-02 16:17:50 +02:00
Moritz Halbritter 091d6204cb Disable build image integration tests on aarch64 linux and mac
See gh-35229
2023-05-02 15:38:42 +02:00
Mortitz Halbritter 24d1620a93 Add 'excludeDockerCompose' Maven property
Update `AbstractPackagerMojo` so that the docker-compose module
can be filtered from the packaged jar.

Co-authored-by: Phillip Webb <pwebb@vmware.com>
Co-authored-by: "Andy Wilkinson <wilkinsona@vmware.com>
2023-04-17 01:00:16 -07:00
Phillip Webb e9a198a68f Merge branch '3.0.x' 2023-04-12 22:16:35 -07:00
Phillip Webb 9b6a2a59a1 Set offset when checking date in tests
Update integration tests that check the current date so that the offset
is set for the current time before comparing results.

See gh-34786
2023-04-12 22:13:08 -07:00
Phillip Webb 463701db18 Merge branch '3.0.x' 2023-04-10 16:22:57 -07:00
Phillip Webb d442bfbeff Polish 2023-04-10 16:22:11 -07:00
Scott Frederick 56bc6d2fa0 Allow image application directory to be configurable
An `applicationDirectory` option on the Maven
`spring-boot:build-image` goal and the Gradle `bootBuildImage` task
can be configured to set the location that will be used to upload
application contents to the builder image, and will contain the
application contents in the generated image.

Closes gh-34786
2023-04-07 14:00:00 -05:00
Scott Frederick 5817c8441d Allow image Created date to be configurable
A `createdDate` option on the Maven `spring-boot:build-image` goal
and the Gradle `bootBuildImage` task can be used to set the `Created`
metadata field on a generated OCI image to a specified date or to
the current date.

Closes gh-28798
2023-04-06 15:08:34 -05:00
Andy Wilkinson 29193c4b9e Merge branch '3.0.x'
Closes gh-34789
2023-03-28 09:33:55 +01:00
Andy Wilkinson 4b58eefe7b Merge branch '2.7.x' into 3.0.x
Closes gh-34788
2023-03-28 09:33:41 +01:00
Andy Wilkinson 4705e82a6e Note that optional dependencies are included by run and repackage
Closes gh-34636
2023-03-28 09:33:06 +01:00
Scott Frederick 9fa5aa3649 Merge branch '3.0.x'
Closes gh-
2023-03-21 14:56:16 -05:00
Scott Frederick 6a6f4a3928 Merge branch '2.7.x' into 3.0.x
Closes gh-34704
2023-03-21 14:56:02 -05:00
Scott Frederick ad680ed4ea Polish "Add documentation for publishing images with Maven command line"
See gh-34517
2023-03-21 13:30:50 -05:00
Anthony Dahanne 21978da02a Add documentation for publishing images with Maven command line
See gh-34517
2023-03-21 13:30:50 -05:00
Andy Wilkinson 7283493031 Upgrade to Maven Help Plugin 3.4.0
Closes gh-34687
2023-03-21 12:04:36 +00:00
Johnny Lim 390629eefd Add Javadoc since to BuildInfoMojo.skip
See gh-34482
2023-03-06 10:05:07 +00:00
Scott Frederick 2602ce48b8 Merge branch '3.0.x'
Closes gh-34476
2023-03-03 16:50:55 -06:00
Scott Frederick 17755e5376 Merge branch '2.7.x' into 3.0.x
Closes gh-34475
2023-03-03 16:49:45 -06:00
Scott Frederick 10d71f5645 Document how to get socket location for podman configuration
Closes gh-34435
2023-03-03 16:47:48 -06:00
Phillip Webb 91ce2d6e1e Merge branch '3.0.x'
Closes gh-34473
2023-03-03 11:00:19 -08:00
Phillip Webb 4370757fb2 Use Java 17 in Maven integration tests
Closes gh-34472
2023-03-03 10:59:00 -08:00
Andy Wilkinson 2cb585aeb6 Merge branch '3.0.x'
Closes gh-34471
2023-03-03 16:28:22 +00:00
Andy Wilkinson 5c43e42839 Merge branch '2.7.x' into 3.0.x
Closes gh-34470
2023-03-03 16:27:49 +00:00
Andy Wilkinson 95cd0f2435 Test Boot's Maven Plugin against Maven 3.9.0
Closes gh-34469
2023-03-03 16:27:02 +00:00
Phillip Webb 2b94484078 Merge branch '3.0.x'
Closes gh-34431
2023-03-01 21:29:13 -08:00
Phillip Webb f5cf821479 Merge branch '2.7.x' into 3.0.x
Closes gh-34430
2023-03-01 21:28:51 -08:00
Phillip Webb 998d59b7ac Ignore system timezone when applying outputTimestamp to entries
Update `JarWriter` so that entry times are set with the default TimeZone
offset removed. The Javadoc for `ZipEntry.setTime` states:

  The file entry is "encoded in standard `MS-DOS date and time format`.
  The default TimeZone is used to convert the epoch time to the MS-DOS
  data and time.

Removing the offset from our UTC time before calling `entry.setTime()`
ensures that we get consistent bytes in the zip file when the output
stream reapplies the offset during write.

Fixes gh-34424
2023-03-01 21:27:08 -08:00
Diego Díez b073ef0310 Add build-info skip support
See gh-34393
2023-03-01 09:19:14 +01:00
Phillip Webb 157091a811 Merge branch '3.0.x' 2023-02-22 18:36:57 -08:00
Phillip Webb 0b15962aca Merge branch '2.7.x' into 3.0.x 2023-02-22 18:36:16 -08:00
Phillip Webb a5902d7a00 Update copyright year of changed files 2023-02-22 18:35:17 -08:00
Phillip Webb b07269a018 Merge branch '3.0.x' 2023-02-21 23:20:07 -08:00
Phillip Webb c4de86c244 Merge branch '2.7.x' into 3.0.x 2023-02-21 23:17:57 -08:00
Phillip Webb df5898a146 Reformat code following spring-javaformat upgrade 2023-02-21 22:53:27 -08:00
Moritz Halbritter e0d8d528b7 Merge branch '3.0.x'
Closes gh-34073
2023-02-06 11:54:58 +01:00