Commit Graph

700 Commits (b9b314622f4ad229d52f8d806d82a1e7e95659ce)

Author SHA1 Message Date
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
1 year ago
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
1 year ago
Stephane Nicoll dcb97594c3 Merge branch '3.0.x'
Closes gh-35618
2 years ago
Stephane Nicoll 44c2090092 Polish "Fix description of build-image[-no-fork] Maven plugin goals"
See gh-35609
2 years ago
Thomas Kåsene e84025b1b8 Fix description of build-image[-no-fork] Maven plugin goals
See gh-35609
2 years ago
Phillip Webb 1ec78e5437 Add devtools and docker-compose to test maven repository
See gh-35548
2 years ago
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
2 years ago
Phillip Webb e3ed87d165 Merge branch '3.0.x' 2 years ago
Phillip Webb 92e420a098 Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb 57e45dfb21 Update copyright year of changed files 2 years ago
Moritz Halbritter 05add58976 Merge branch '3.0.x'
Closes gh-35373
2 years ago
Moritz Halbritter 42cc84070b Merge branch '2.7.x' into 3.0.x
Closes gh-35372
2 years ago
Moritz Halbritter 52789cb191 Fix anchors in Maven plugin documentation
Closes gh-35371
2 years ago
Moritz Halbritter a4092fb396 Remove HTML tags from TestRunMojo javadoc
Closes gh-35349
2 years ago
Marc Leroux b61834c92d Replace Mockito argument captors with assertArg
See gh-35015
2 years ago
Andy Wilkinson e43998615c Add a test-run goal to the Maven plugin
Closes gh-35202
2 years ago
Phillip Webb d86e82d026 Merge branch '3.0.x' 2 years ago
Phillip Webb 2c27ec5b7b Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb b3226c55d2 Polish 2 years ago
Moritz Halbritter 9d50d92b9c Merge branch '3.0.x' 2 years ago
Moritz Halbritter 1f4a337ad2 Merge branch '2.7.x' into 3.0.x 2 years ago
Moritz Halbritter 091d6204cb Disable build image integration tests on aarch64 linux and mac
See gh-35229
2 years ago
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>
2 years ago
Phillip Webb e9a198a68f Merge branch '3.0.x' 2 years ago
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
2 years ago
Phillip Webb 463701db18 Merge branch '3.0.x' 2 years ago
Phillip Webb d442bfbeff Polish 2 years ago
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
2 years ago
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
2 years ago
Andy Wilkinson 29193c4b9e Merge branch '3.0.x'
Closes gh-34789
2 years ago
Andy Wilkinson 4b58eefe7b Merge branch '2.7.x' into 3.0.x
Closes gh-34788
2 years ago
Andy Wilkinson 4705e82a6e Note that optional dependencies are included by run and repackage
Closes gh-34636
2 years ago
Scott Frederick 9fa5aa3649 Merge branch '3.0.x'
Closes gh-
2 years ago
Scott Frederick 6a6f4a3928 Merge branch '2.7.x' into 3.0.x
Closes gh-34704
2 years ago
Scott Frederick ad680ed4ea Polish "Add documentation for publishing images with Maven command line"
See gh-34517
2 years ago
Anthony Dahanne 21978da02a Add documentation for publishing images with Maven command line
See gh-34517
2 years ago
Andy Wilkinson 7283493031 Upgrade to Maven Help Plugin 3.4.0
Closes gh-34687
2 years ago
Johnny Lim 390629eefd Add Javadoc since to BuildInfoMojo.skip
See gh-34482
2 years ago
Scott Frederick 2602ce48b8 Merge branch '3.0.x'
Closes gh-34476
2 years ago
Scott Frederick 17755e5376 Merge branch '2.7.x' into 3.0.x
Closes gh-34475
2 years ago
Scott Frederick 10d71f5645 Document how to get socket location for podman configuration
Closes gh-34435
2 years ago
Phillip Webb 91ce2d6e1e Merge branch '3.0.x'
Closes gh-34473
2 years ago
Phillip Webb 4370757fb2 Use Java 17 in Maven integration tests
Closes gh-34472
2 years ago
Andy Wilkinson 2cb585aeb6 Merge branch '3.0.x'
Closes gh-34471
2 years ago
Andy Wilkinson 5c43e42839 Merge branch '2.7.x' into 3.0.x
Closes gh-34470
2 years ago
Andy Wilkinson 95cd0f2435 Test Boot's Maven Plugin against Maven 3.9.0
Closes gh-34469
2 years ago
Phillip Webb 2b94484078 Merge branch '3.0.x'
Closes gh-34431
2 years ago
Phillip Webb f5cf821479 Merge branch '2.7.x' into 3.0.x
Closes gh-34430
2 years ago
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
2 years ago
Diego Díez b073ef0310 Add build-info skip support
See gh-34393
2 years ago