Commit Graph

471 Commits (0946f28dcd62f447d86f7f1b334c18719c3ad2a7)

Author SHA1 Message Date
Phillip Webb a28a3ae090 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 9c8a97809d Consistent use of @deprecated since
Restore the patch version number for consistency with `@since`
tags.

See gh-25808
4 years ago
Phillip Webb 44b1751bb4 Merge branch '2.4.x'
Closes gh-25826
4 years ago
Phillip Webb 363f5829d1 Merge branch '2.3.x' into 2.4.x
Closes gh-25825
4 years ago
Phillip Webb 26dd1b9a26 Update deprecations with for removal targets
Update all deprecation tags to include a removal target.

Closes gh-25808
4 years ago
Scott Frederick 269fc68c1d Merge branch '2.4.x'
Closes gh-25811
4 years ago
Scott Frederick 4015d70f00 Merge branch '2.3.x' into 2.4.x
Closes gh-25789
4 years ago
Scott Frederick 3ad5f1013a Fix Maven image building with classifiers
Fixes gh-25736
4 years ago
Phillip Webb 77ddb45704 Merge branch '2.4.x' 4 years ago
Phillip Webb 11a94ee6f0 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 82127fdaa3 Update copyright year of changed files 4 years ago
Scott Frederick 2dd4010eb0 Merge branch '2.4.x'
Closes gh-25701
4 years ago
Scott Frederick 6f860b441b Merge branch '2.3.x' into 2.4.x
Closes gh-25700
4 years ago
Phillip Webb 663fd8ce5e Update copyright year of changed files 4 years ago
Phillip Webb 685b045c3d Polish 4 years ago
Scott Frederick e4fa39df01 Fail fast when finalName is misconfigured
When the `finalName` parameter is incorrectly set in the Spring Boot
Maven plugin configuration instead of in the `build` configuration, the
repackaged and original archive files are not named as expected. Prior
to this commit, the image building goal would detect this error
condition and throw an exception late in the process of creating the
build container, leaving the container in an unstable state. This
commit changes the image building goal to detect this condition early,
before attempting to create the container.

Fixes gh-25590
4 years ago
Andy Wilkinson 67545cf4f1 Polish 4 years ago
Andy Wilkinson 2adf3f836c Merge branch '2.4.x' 4 years ago
Andy Wilkinson c815195f13 Polish 4 years ago
Andy Wilkinson 36c72cb6ef Merge branch '2.4.x'
Closes gh-25716
4 years ago
Andy Wilkinson 5595fd4017 Merge branch '2.3.x' into 2.4.x
Closes gh-25715
4 years ago
Andy Wilkinson 0e0418546b Test spring-boot:build-image when repackage is also invoked
Closes gh-25714
4 years ago
Andy Wilkinson 68e5a107cc Revert "Merge branch '2.4.x'"
This reverts commit 5488b8cb46, reversing
changes made to dee0df5c53.

See gh-25701
4 years ago
Andy Wilkinson ed4e419b0c Revert "Merge branch '2.3.x' into 2.4.x"
This reverts commit eaa510872a, reversing
changes made to 3e69522e2d.

See gh-25700
4 years ago
Andy Wilkinson ae2ff7849b Revert "Fail fast when finalName is misconfigured"
This reverts commit 263b7c20e4.

See gh-25590
4 years ago
Scott Frederick 5488b8cb46 Merge branch '2.4.x'
Closes gh-25701
4 years ago
Scott Frederick eaa510872a Merge branch '2.3.x' into 2.4.x
Closes gh-25700
4 years ago
Scott Frederick 263b7c20e4 Fail fast when finalName is misconfigured
When the `finalName` parameter is incorrectly set in the Spring Boot
Maven plugin configuration instead of in the `build` configuration, the
repackaged and original archive files are not named as expected. Prior
to this commit, the image building goal would detect this error
condition and throw an exception late in the process of creating the
build container, leaving the container in an unstable state. This
commit changes the image building goal to detect this condition early,
before attempting to create the container.

Fixes gh-25590
4 years ago
Jurrie Overgoor 3c0e236562 Support Maven's reproducible build feature for war repackaging
See gh-25571
4 years ago
Stephane Nicoll 76d0a7f8ba Merge branch '2.4.x'
Closes gh-25506
4 years ago
dreis2211 89a44f3da4 Fix some assertions
See gh-25499
4 years ago
Andy Wilkinson 961a34a5ee Merge branch '2.4.x'
Closes gh-25497
4 years ago
dreis2211 1ccd8dae8a Allow the project to be built with Java 16
See gh-25171
4 years ago
Stephane Nicoll e58353a32d Merge branch '2.4.x'
Closes gh-25484
4 years ago
Stephane Nicoll e5d8b6029b Merge branch '2.3.x' into 2.4.x
Closes gh-25483
4 years ago
Stephane Nicoll 8e67ae7113 Fix fallback fork value for spring-boot:stop
This commit harmonizes the fallback value that spring-boot:stop goal
should use if no information is available in the current context.

Closes gh-25472
4 years ago
Scott Frederick 4be04b0ea2 Support image building with Maven and war packaging
This commit updates the Maven image building goal to support building
images from executable and non-executable war files.

Fixes gh-23823
4 years ago
Scott Frederick 76e42ff96f Correct grouping of custom buildpacks
This commit corrects the order.toml file that is generated and added
to the builder when building an image using custom buildpacks with the
Maven or Gradle plugin in order to support buildpacks that depend on
detection as a group.

Fixes gh-25378
4 years ago
Scott Frederick 89555a8745 Add bindings option for image building
This commit adds configuration to the Maven and Gradle plugins to
allow a list of volume mount bindings to be provided to the image
building goal and task. This enables service bindings to be mounted
in the builder image that are recognized by buildpacks to support
custom certificates, build tool configuration, APM integration, and
other buildpack features.

Fixes gh-23518
4 years ago
Stephane Nicoll 817a4c5397 Merge branch '2.4.x'
Closes gh-25386
4 years ago
Stephane Nicoll 7c5a5c6663 Merge branch '2.3.x' into 2.4.x
Closes gh-25385
4 years ago
Stephane Nicoll 77daae1480 Update copyright year of changed file
See gh-25382
4 years ago
Mustafa Ulu abc90db32f Fix wording error in build-info goal description
See gh-25382
4 years ago
Scott Frederick 88e9f1d28c Fix Maven buildpacks example in docs
See gh-21722
4 years ago
Scott Frederick f54f784f80 Add buildpack option for image building
This commit adds configuration to the Maven and Gradle plugins to
allow a list of buildpacks to be provided to the image building
goal and task.

Fixes gh-21722
4 years ago
Phillip Webb d9f3e89395 Merge branch '2.4.x' 4 years ago
Phillip Webb 230b4ab2eb Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 630d216430 Update copyright year of changed files 4 years ago
Phillip Webb d8b849e00d Fix test that fails when building against SNAPSHOT
Update `WarIntegrationTests` do deal with a SNAPSHOT Spring Framwork
dependency.

See gh-23936
4 years ago
Phillip Webb 1eef2e1b46 Merge branch '2.4.x' 4 years ago
Phillip Webb 331c7b756b Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb c404a50a2e Allow test to use snapshot/milestone repo
Update `spring-boot-maven-plugin` `settings.xml` so that milestone and
snapshot dependencies can be resolved.

See gh-23936
4 years ago
Phillip Webb 59b8fb5b49 Merge branch '2.4.x'
Closes gh-25079
4 years ago
Phillip Webb db52bf3d7a Merge branch '2.3.x' into 2.4.x
Closes gh-25078
4 years ago
Phillip Webb 40c1748e3c Remove hardcoded versions from MavenBuild
Use the dependencies BOM to ensure versions used in the `MavenBuild`
test class are always aligned.

Closes gh-23936
4 years ago
Madhura Bhave c73e3cc2dc Update documentation for layered wars
Closes gh-22821
Closes gh-22195
4 years ago
Madhura Bhave 152698f2b2 Add support for creating layered war files with Maven
See gh-22821
4 years ago
Stephane Nicoll 2c2c160579 Remove deprecated code
See gh-24806
4 years ago
Scott Frederick 210438ee5b Merge branch '2.3.x' into 2.4.x
Closes gh-24689
4 years ago
Scott Frederick a302238e21 Remove layout parameters from build-image Maven goal
This commit removes the `layout` and `layoutFactory` parameters
from the `build-image` goal in the Maven plugin while retaining
them for the `repackage` goal. The `build-image` goal currently
only supports jar archives, so allowing other layout types to be
configured for the goal could cause confusion.

Fixes gh-24105
4 years ago
Stephane Nicoll c19f7e696e Polish
See gh-24597
4 years ago
Stephane Nicoll 4cdfd6f13d Polish "Handle missing manifest files in JarTypeFilter"
See gh-24597
4 years ago
Rob Edwards 86eecb01b3 Handle missing manifest files in JarTypeFilter
This commit makes sure that a jar file without a manifest is handled
properly (i.e. included in the repackaged archive).

See gh-24597
4 years ago
Scott Frederick 4e603d9239 Merge branch '2.3.x' into 2.4.x
Closes gh-24538
4 years ago
Scott Frederick e4d124dc45 Improve error message with Maven build-image and war packaging
Fixes gh-24522
4 years ago
Phillip Webb 30c27274e2 Merge branch '2.3.x'
Closes gh-24339
4 years ago
Phillip Webb 5f351a6983 Merge branch '2.2.x' into 2.3.x
Closes gh-24338
4 years ago
Scott Frederick da2276e7d4 Use stable builder and run images in integration tests
Fixes gh-24183
4 years ago
Scott Frederick 59e0f7317e Avoid image pulls in integration tests
This commit sets the pull policy to `IF_NOT_PRESENT` where possible
in integration tests for the Maven and Gradle plugins to reduce
the number of times the default Paketo builder and run images are
pulled from Docker Hub.

Fixes gh-24113
4 years ago
Andy Wilkinson 21d97524d8 Merge branch '2.3.x'
Closes gh-24112
4 years ago
Andy Wilkinson e6ab20b029 Merge branch '2.2.x' into 2.3.x
Closes gh-24111
4 years ago
Andy Wilkinson 31042bfc49 Test inclusion of system scope dependencies in repackaged war
Closes gh-22503
4 years ago
Stephane Nicoll b6fc0913cf Merge branch '2.3.x'
Closes gh-24104
4 years ago
Stephane Nicoll 515b18e142 Merge branch '2.3.x'
Closes gh-24108
4 years ago
Stephane Nicoll 33d83ebc94 Merge branch '2.3.x' 4 years ago
Stephane Nicoll 6aca0275ad Polish 4 years ago
Scott Frederick f080bb6c25 Fix test that depended on snapshot version
A test case would fail to accurately capture the contents
of the layers.idx file unless the test project contained
at least one non-project snapshot dependency, which was only
true when the Spring Boot version was a snapshot.

See gh-23463
4 years ago
Phillip Webb a41ff4dfab Merge branch '2.3.x' 4 years ago
Phillip Webb b0c2687aa9 Update copyright year of changed files 4 years ago
Phillip Webb b39d1910bc Fix test failure caused by MavenBuild upgrades
See gh-23937
4 years ago
Phillip Webb d43760ba5a Merge branch '2.3.x'
Closes gh-23938
4 years ago
Phillip Webb d79c23ef89 Upgrade MavenBuild versions
Align versions with those in the main build.

Closes gh-23937
4 years ago
Sebastian Nohn b3c4d5fe5c Upgrade to Log4j 2.13.3 in Maven tests
See gh-23935
4 years ago
Stephane Nicoll 472c563451 Merge branch '2.3.x'
Closes gh-23931
4 years ago
Stephane Nicoll 0424689aee Merge branch '2.2.x' into 2.3.x
Closes gh-23930
4 years ago
Stephane Nicoll 93e36a97ab Remove version elements from Maven plugin documentation
This commit removes `<version>` from the Maven Plugin documentation
where it makes sense so that versions aren't hardcoded unnecessarily.

Rather, a plugin or dependency management should be in place so those
are not needed.

Closes gh-23909
4 years ago
Stephane Nicoll a3818d690e Fix custom layout example so that tokens are replaced 4 years ago
Stephane Nicoll 59bcbd4885 Polish "Allow overriding image.cleanCache from the command-line"
See gh-32719
4 years ago
Kedar Joshi c2a483a78f Allow overriding image.cleanCache from the command-line
See gh-32719
4 years ago
Andy Wilkinson 3bfe1b00b5 Put module deps in app layer and make customization easier
Previously, when building a layered jar with Maven, dependencies
on modules in the same build were treated the same as any other
dependency, being included in the dependencies or snapshot dependencies
layer based on their version.

This commit updates the default layering when using Maven to include
dependencies on modules in the same build in the application layer by
default. The XML schema has also been updated to allow the layer to be
customized using new <includeModuleDependencies/> and
<excludeModuleDependencies/> elements rather than relying on including
and excluding them via a group:artifact:version pattern.

Closes gh-23463
4 years ago
Scott Frederick 38b1954ab1 Polish Maven plugin javadoc
This commit polishes the javadoc for Maven plugin classes now that
the plugin reference docs link to the javadoc. Visibility of some
MOJO parameter class getters and setters were also changed for
consistency.

See gh-21555
4 years ago
Scott Frederick d44ecf5086 Merge branch '2.3.x'
Closes gh-23731
4 years ago
Scott Frederick 9c672deb2d Add javadoc links in Maven plugin parameter docs
This commit modifies the documentation generated for the
Maven plugin to include links to javadoc when Spring
Boot types are mentioned. Some javadoc was also polished
to improve the generated docs.

Fixes gh-21555
4 years ago
Stephane Nicoll 2916bb4c10 Merge branch '2.3.x'
Closes gh-23718
4 years ago
Stephane Nicoll 6beb0c939f Document how to override plugin configuration on the command line
Closes gh-21536
4 years ago
Stephane Nicoll b210d0680a Polish 4 years ago
Johnny Lim 4a26e11268 Polish
See gh-23634

Closes gh-23634
4 years ago
Scott Frederick 0e7ab88491 Polish "Update default builder image"
See gh-23628
4 years ago
Emily Casey 461dc23c0c Update default builder image
This commit updates the default builder image used by the Maven
and Gradle plugins image-building goal and task to use the latest
Paketo builder image. The builder image is pulled from Docker Hub
instead of Google Container Registry by default.

See gh-23628
4 years ago
dreis2211 36812bf199 Fix XML tag in image publishing example
See gh-23632
4 years ago
Scott Frederick f2721abf31 Merge branch '2.3.x'
Closes gh-23626
4 years ago
Scott Frederick de685bdca4 Document buildpack configuration of JVM options
Fixes gh-21582
4 years ago
Scott Frederick a099cd9420 Merge branch '2.3.x'
Closes gh-23623
4 years ago
Scott Frederick 49b0707f1a Clarify image builder configuration documentation
This commit qualifies examples of configuring the CNB builder to clarify
that the examples apply to use of the default Paketo builder, and adds links
to the official Paketo docs for more details.

Fixes gh-19967
4 years ago
Scott Frederick 91acd957b2 Disable docker registry integration tests
A docker registry running in testcontainers behaves
differently in CI vs running locally. Disabling the tests for
now while working on getting them running reliably in CI.

See gh-21001
4 years ago
Scott Frederick 09b627d232 Add support for publishing docker images to a registry
This commit adds options to the Maven and Gradle plugins to publish
to a Docker registry the image generated by the image-building goal
and task.

The Docker registry auth configuration added in an earlier commit
was modified to accept separate auth configs for the builder/run
image and the generated image, since it is likely these images will
be stored in separate registries or repositories with distinct
auth required for each.

Fixes gh-21001
4 years ago
Stephane Nicoll 9ff946bafa Remove unnecessary stubbing 4 years ago
Andy Wilkinson f4ce77fcae Merge branch '2.3.x'
Closes gh-23541
4 years ago
Andy Wilkinson bd4934b0fd Fix matching of SNAPSHOT artifacts when customizing layers
Previously the artifact's version was used. In an artifact's version,
SNAPSHOT is replaced with the timestamped version number of a specific
snapshot. As a result, it no longer matches the *:*:*SNAPSHOT pattern.

This commit replaces switches to using the artifact's base version.
This preserves the SNAPSHOT in the version number. For non-snapshot
artifacts, the version and base version are identical.

Fixes gh-23533
4 years ago
Scott Frederick 54288678d1 Configure Docker host in build plugins
This commit adds the ability to configure the Maven and Gradle
plugins to use a remote Docker daemon using build file
configuration, as an alternative to setting environment variables
to specify remote host connection details.

Fixes gh-23400
4 years ago
Andy Wilkinson d2fae6e19e Merge branch '2.3.x'
Closes gh-23407
4 years ago
Andy Wilkinson 3861ef13fb Merge branch '2.2.x' into 2.3.x
Closes gh-23406
4 years ago
Phillip Webb c284edde67 Update copyright year of changed files 4 years ago
Scott Frederick 86fa8144f5 Polish "Support authentication to private Docker registry"
See gh-22972
4 years ago
姜为 e8f555e13d Support authentication to private docker registry
This commit adds the ability to configure Docker image registry
authentication credentials in the Maven and Gradle plugins. The
authentication credentials are passed to the Docker daemon with
all daemon API calls, and the daemon forwards the credentials to the
image registry when necessary. This makes it possible to use
builder and run images stored in a private Docker registry.

See gh-22972
4 years ago
Andy Wilkinson e743d5fe66 Exclude by jar type when running and packaging with Maven
This commit updates the Maven Plugin to filter dependencies based on
the Spring-Boot-Jar-Type entry in their manifest. Jars with a
Spring-Boot-Jar-Type of dependencies-starter or annotation-processor
are excluded.

See gh-22036
4 years ago
Stephane Nicoll defa7c47cd Merge branch '2.3.x'
Closes gh-23201
4 years ago
Stephane Nicoll 648789ef84 Document that buildpacks use non-root users
Closes gh-21122
4 years ago
Stephane Nicoll cc5f2537b1 Merge branch '2.3.x'
Closes gh-23148
4 years ago
Stephane Nicoll ee914624e6 Document buildpacks are configured with target Java version
Closes gh-21796
4 years ago
Stephane Nicoll e0b41f8192 Merge branch '2.3.x'
Closes gh-23143
4 years ago
Stephane Nicoll b80314b44b Document how to customize the jmxPort for Maven integration tests
Closes gh-22401
4 years ago
Phillip Webb c302b72083 Merge branch '2.3.x'
Closes gh-23015
4 years ago
Phillip Webb 8fd9c685a2 Reduce HTTP debug logging when building image
Update `BuildImageMojo` so that commons HTTP wire logging is configured
to ERROR. Without this update, running `mvn -X` will produce a great
deal of logging since by default HTTP Client logs all bytes transfered
at DEBUG and Maven will enable DEBUG for all logs.

Closes gh-22674
4 years ago
Scott Frederick 092bbd198e Merge branch '2.3.x'
Closes gh-22923
4 years ago
Scott Frederick 005ed8b8db Use Java version wildcard in image building docs
Fixes gh-22916
4 years ago
Scott Frederick 6b15822cb1 Polish "Add pullPolicy option for image building"
See gh-22736
4 years ago
anshlykov c7449b57ce Add pullPolicy option for image building
This commit adds a pullPolicy option to the configuration of the Maven
plugin spring-boot:build-image goal and the Gradle plugin bootBuildImage
task. The new option gives users control over pulling the builder image
and run image from a remote image registry to the local Docker daemon.

See gh-22736
4 years ago
Andy Wilkinson 969dd35e45 Upgrade to Mockito 3.4.6
Closes gh-22838
4 years ago
Andy Wilkinson e240c180f3 Merge branch '2.3.x'
Closes gh-22831
4 years ago
Andy Wilkinson 181e3b34ba Isolate Maven Plugin's integration tests from repo.spring.io
Previously, the Maven plugin integration tests used a settings.xml file
that defined https://repo.spring.io/snapshot as a repository. This
allowed them to resolve snapshots of the plugin's Spring Framework
dependencies but it had the unfortunate side-effect of also allowing
them to resolve snapshots of other Spring Boot modules from Artifactory
rather than using those currently being built.

This commit replaces the repositories in settings.xml with a Gradle
task that resolves the necessary dependencies and populates a local
repository with the dependencies' jars and pom files. This is achieved
using a ComponentMetadataRule that creates a custom variant of each
dependency that includes its pom file, inspired by the example in
gradle/gradle/#11449. A configuration that extends the
runtimeClasspath configuration and select the custom variant via its
attribute is then used to resolve the jars and pom files of the runtime
classpath such that they can then be used to populate the local
repository.

Closes gh-22828
4 years ago
Scott Frederick f247fec310 Merge branch '2.3.x'
Closes gh-22735
4 years ago
Scott Frederick 21b2dd2740 Allow empty env entries when building an image
Prior to this commit, an entry in the environment map provided to the
build plugin image building goal or task that had a null value would
result in a failure with a message that was difficult to diagnose.

This commit treats env map entries with a null value as an empty
entry to prevent the failure and also make it easier to provide an
explicit empty entry in the Maven XML.

Fixes gh-22703
4 years ago
Madhura Bhave 41f5ba9077 Switch layering on by default
Closes gh-20983
4 years ago
Andy Wilkinson 19ad163486 Merge branch '2.3.x'
Closes gh-22411
4 years ago
Andy Wilkinson accc1f1ca8 Merge branch '2.2.x' into 2.3.x
Closes gh-22410
4 years ago
Andy Wilkinson 5e7917e33a Upgrade to Maven Shade Plugin 3.2.4
Closes gh-22074
4 years ago
Andy Wilkinson 9e08490522 Merge branch 'gh-21271'
Closes gh-21271
4 years ago
Andy Wilkinson c64649a6d9 Enable unchecked compilation warnings
See gh-21271
4 years ago
Scott Frederick 6119d69679 Add runImage option for image building
This commit adds a runImage property to the Maven plugin build-image
goal and the Gradle bootBuildImage task. The property allows the user
to override the run image reference provided in the builder metadata
with an alternate run image. The runImage property can be specified
in the build file or on the command line.

Fixes gh-21534
4 years ago
Andy Wilkinson 24138c104c Use highlightjs for syntax highlighting in Asciidoctor's HTML output
Closes gh-21701
5 years ago
Scott Frederick 07d842b51d Polish maven build image command line example 5 years ago
Andy Wilkinson ee758fa670 Use HTTPS for license links
This commit updates the MavenPublishingConventions to use HTTPS to
link to the Apache license. The configuration of NoHTTP has also
been reworked so that it will correctly find usch uses of http://
URLs.

Closes gh-21459
5 years ago
Scott Frederick 28749e7fbb Update CNB buildpack Java version env variable
Prior to this commit, the build tool plugins set the environment
variable BP_JAVA_VERSION when invoking the CNB builder to set the
version of the JDK/JRE that the builder should use in the created
image.

With CNB API 0.3, the convention changed the name of this environment
variable to BP_JVM_VERSION. This commit updates the build tool
plugins to match the newer convention.

See gh-21273
5 years ago
Scott Frederick 35bc82a693 Use CNB creator all-in-one lifecycle
This commit modifies the buildpack platform invocation logic used by
the build plugins to invoke the single creator lifecycle introduced in
the CNB API 0.3, instead of invoking discrete lifecycle phases
separately. It also removes support for CNB API 0.2.

Fixes gh-21273
5 years ago
Kyle Hoehns fd46002666 Fix typo for includeLayerTools
See gh-21310
5 years ago
Scott Frederick 1c11e163c7 Fix Maven plugin command-line examples
Fixes gh-21078
5 years ago
Scott Frederick f3d717e97a Use paketo-buildpacks/builder as default builder
This commit changes the default builder image from
`cloudfoundry/cnb:bionic-platform-api-0.2` to
`gcr.io/paketo-buildpacks/builder:base-platform-api-0.3`. It also
uses a `paketo-buildpacks/builder` image instead of a
`cloudfoundry/cnb` image to test compatibility with lifecycle v2
and uses paketo naming instead of cloudfoundry when mocking builder
interactions.

Some adjustments to lifecycle phases were also made to align more
closely with the pack CLI.

Fixes gh-21066
5 years ago
Phillip Webb ad1248e4ec Replace "folder" with "directory"
Consistently use the term "directory" instead of "folder"

Closes gh-21218
5 years ago
dreis2211 5eb5bf0a2d Polish
See gh-21009
5 years ago