Commit Graph

130 Commits (68b25598b9ca7f6ece1880b849fcaf8b04c5e7ea)

Author SHA1 Message Date
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 63abaa4cd2 Start working on 3.1.0 2 years ago
Scott Frederick 9ed8b25e6b Make AOT goals release option mutually exclusive with source and target
Fixes gh-33382
2 years ago
Stephane Nicoll a7f57091a6 Add support for building an image without forking the Maven lifecycle
This commit adds a new "build-image-no-fork" goal that behaves exactly
as "build-image", except it does not fork the lifecycle. This is a
common pattern in maven plugins where a goal can be invoked on the
command-line and conveniently make sure that a certain phase has run
prior to its execution.

The new goal is suitable for binding the goal in a phase, typically
package, and rely on it rather than invoking the goal. This makes sure
that the lifecycle is forked, which would run everything again.

Closes gh-26455
2 years ago
Scott Frederick 11652bd8e6 Add compilerArguments parameter to process-aot Maven goal
This commit adds a `compilerArguments` parameter to the Maven plugin
`process-aot` and `process-test-aot` goals to allow the user to
configure the command used to compile the AOT-generated sources.

Fixes gh-33012
2 years ago
Andy Wilkinson eebe23a081 Make all AOT-generated resources available to native-compile
Fixes gh-32841
2 years ago
Andy Wilkinson d351086a06 Adapt to breaking changes to AOT processing entry points
See gh-32550
2 years ago
Stephane Nicoll 44c843145a Add support for specifying application arguments
This commit makes sure that application arguments can be provided when
optimizing an application at build-time. It uses the same mechanism of
the regular run goal, merging the profile property if set.

Closes gh-32579
2 years ago
Stephane Nicoll 39cf17ed81 Add missing integration test for profile management in process-aot 2 years ago
Madhura Bhave afce559050 Remove unused dependency from Maven integration test 2 years ago
Stephane Nicoll 5e24b5a110 Stop using RuntimeHintsUtils#registerAnnotation 2 years ago
Phillip Webb 09bd531fe5 Add Maven plugin support for processing test contexts Ahead-of-time
Refactor and update the Spring Boot Maven Plugin so that it can
be used to perform AOT processing of test classes.

Closes gh-32191
2 years ago
Phillip Webb 2f6354f633 Rename 'aot-generate' goal to process-aot'
See gh-31918
2 years ago
Stephane Nicoll 4a00d76b85 Adapt integration tests to proxy changes in Spring Framework 2 years ago
Scott Frederick 36d6106bb0 Merge branch '2.7.x'
Closes gh-31825
2 years ago
Scott Frederick 09c7ce6dab Merge branch '2.6.x' into 2.7.x
Closes gh-31824
2 years ago
Scott Frederick 9b0cdac58a Simplify support for pushing images to unauthenticated registries
This commit removes the requirement that `docker.publishRegistry`
configuration must be provided when an image is published by the Gradle
or Maven plugin.

Fixes gh-28844
2 years ago
Phillip Webb f8a41d34aa Merge branch '2.7.x' 3 years ago
Stephane Nicoll e81c6337c6 Add support for invoking AOT to the Maven Plugin
This commit adds an `aot-generate` goal to the Maven Plugin that
triggers AOT generation on the application. The new goal shares a
number of properties with the existing `run` goal and uses the same
algorithm to detect the main class to use.

Closes gh-30525
3 years ago
Stephane Nicoll 5f66019706 Remove the ability to run an application in the Maven process
Closes gh-30501
3 years ago
Andy Wilkinson fe7b13ec46 Upgrade to Spring Framework 6 and Jakarta EE 9
Closes gh-28619
Closes gh-28620
Closes gh-28621
Closes gh-28622
Closes gh-28623
Closes gh-28624
Closes gh-28625
Closes gh-28626
Closes gh-28627
Closes gh-28628
Closes gh-28629
Closes gh-28630
Closes gh-28631
Closes gh-28632
Closes gh-28633
Closes gh-28634
Closes gh-28635
Closes gh-28636
Closes gh-28638
Closes gh-28639
Closes gh-28640
Closes gh-28644
Closes gh-28645
Closes gh-28650
Closes gh-28711
Closes gh-28866
Closes gh-28867
Closes gh-28868
Closes gh-28872

See gh-28641
See gh-28642
See gh-28643
See gh-28646
See gh-28647
See gh-28648
See gh-28649
See gh-28721
See gh-28869
See gh-28871
3 years ago
Andy Wilkinson e06b0d97f7 Update main branch to start work on 3.0.x 3 years ago
Andy Wilkinson 86a773a8e9 Update main branch to start work on 2.7.x 3 years ago
Scott Frederick e84c1abb0f Prevent Docker volume name clashes in tests during parallel builds
See gh-28292
3 years ago
Scott Frederick 871468931f Polish "Add option to customize cache volume names when building an image"
See gh-28292
3 years ago
Phillip Webb f4bd8956af Polish "Allow build info properties to be excluded"
Update the Maven plugin to use an alternative syntax to exclude
the info properties and apply some minor polishing.

See gh-27412
3 years ago
Vedran Pavic ea9faf8690 Allow build info properties to be excluded
Update Maven and Gradle plugins to allow build info properties to be
excluded.

Prior to this commit, the `BuildPropertiesWriter` would fail with an
NPE if the group, artifact, name or version properties were `null`.

This was specifically problematic with the Gradle plugin, since its
DSL allows `null` properties which would either be passed to the writer
or, in the case of `artifact`, converted into a string value of
"unspecified".

See gh-27412
3 years ago
Rafael Ceccone 66f44b0c7f Add option to create tags for a built image
This commit adds configuration to the Maven and Gradle plugins to
allow specifying multiple tag to be created that refer to the built
image.

See gh-27613
3 years ago
Phillip Webb 55a1ec72cc Update copyright year of changed files 3 years ago
Phillip Webb 4c2c4ec16c Merge branch '2.5.x' 3 years ago
Phillip Webb 5ba69634c9 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb dfd36673f7 Update copyright year of changed files 3 years ago
Scott Frederick 2178c281e9 Polish "Add network option for image building"
See gh-27486
3 years ago
Scott Frederick dc5bf0368d Merge branch '2.5.x'
Closes gh-27536
3 years ago
Scott Frederick f60d998ea1 Merge branch '2.4.x' into 2.5.x
Closes gh-27535
3 years ago
Scott Frederick 5d793afcb5 Prevent hanging when deleting Docker builder container after exception
An exception being thrown while the Maven plugin is uploading the app
archive bits to an ephemeral builder container would leave the
interaction with the Docker daemon in a state that caused further
interaction with the daemon (such as deleting the ephemeral builder)
to hang indefinitely. This commit cleans up the connection on an
exception to prevent this condition.

Fixes gh-27515
3 years ago
Stephane Nicoll 6f4d8449be Initiate layers-2.6
See gh-27326
3 years ago
Stephane Nicoll b393031dbe Merge branch '2.5.x'
Closes gh-27326
3 years ago
Stephane Nicoll d8f9a20221 Add missing XSD version for layers configuration
Closes gh-27321
3 years ago
Phillip Webb 6102f10639 Merge branch '2.5.x' 3 years ago
Phillip Webb 2c518f1dff Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb a76e5c043e Update copyright year of changed files 3 years ago
Phillip Webb 5fc0e1ca81 Merge branch '2.5.x'
Closes gh-27057
3 years ago
Phillip Webb af37f59136 Merge branch '2.4.x' into 2.5.x
Closes gh-27056
3 years ago
Madhura Bhave b790c82732 Apply exclusions to existing war entries
Update `RepackageMojo` and supporting classes so that `exclusions`
on the repackage goal apply to both the contributed libraries and any
existing jar entries already contained in the original war.

Prior to this commit, exclusions would apply to contributed jars (for
example, those in `WEB-INF/lib-provided`) but not jars that were
packaged directly into `WEB-INF/lib` by the war plugin

Fixes gh-15808

Co-authored-by: Phillip Webb <pwebb@vmware.com>
3 years ago
Stephane Nicoll a1183c4641 Polish "Reproducible build for spring-boot-maven-plugin:build-info"
See gh-26221
3 years ago
Slawomir Jaranowski 2dec6dd552 Reproducible build for spring-boot-maven-plugin:build-info
See gh-26221
3 years ago