Commit Graph

2112 Commits

Author SHA1 Message Date
Andy Wilkinson 87591d94ee Merge branch '2.5.x'
Closes gh-27188
2021-07-08 10:45:57 +01:00
Andy Wilkinson ff79787def Avoid using deprecated API to get Kotlin Plugin's version
Closes gh-27090
2021-07-08 10:45:09 +01:00
Andy Wilkinson 7c744db0e9 Merge branch '2.5.x'
Closes gh-27180
2021-07-07 17:57:25 +01:00
Andy Wilkinson c21791e671 Test our Gradle plugin against Gradle 7.1.1
Closes gh-27142
2021-07-07 17:57:14 +01:00
Phillip Webb d00db60bab Merge branch '2.5.x' 2021-06-24 14:06:25 -07:00
Phillip Webb dfbd82b838 Fix Kotlin 1.5.20 classpath issues
See gh-27086
2021-06-24 14:05:36 -07:00
Phillip Webb 716e8ab717 Merge branch '2.5.x' 2021-06-24 11:31:33 -07:00
Phillip Webb d44207161f Suppress Kotlin 1.5.20 deprecation warning
See gh-27086
2021-06-24 11:30:58 -07:00
Phillip Webb 6102f10639 Merge branch '2.5.x' 2021-06-23 21:02:36 -07:00
Phillip Webb 2c518f1dff Merge branch '2.4.x' into 2.5.x 2021-06-23 21:02:05 -07:00
Phillip Webb a76e5c043e Update copyright year of changed files 2021-06-23 21:01:45 -07:00
Phillip Webb e85b0c7012 Merge branch '2.5.x' 2021-06-23 17:29:41 -07:00
Phillip Webb fd83158fa5 Merge branch '2.4.x' into 2.5.x 2021-06-23 17:28:31 -07:00
Phillip Webb 63ed921554 Restore simple Library constructor
See gh-15808
2021-06-23 17:27:26 -07:00
Phillip Webb 5fc0e1ca81 Merge branch '2.5.x'
Closes gh-27057
2021-06-23 17:23:25 -07:00
Phillip Webb af37f59136 Merge branch '2.4.x' into 2.5.x
Closes gh-27056
2021-06-23 17:13:13 -07:00
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>
2021-06-23 15:08:31 -07:00
Andy Wilkinson 752a92960c Merge branch '2.5.x'
Closes gh-27001
2021-06-21 18:20:18 +01:00
Andy Wilkinson 07e7398d10 Include 6.9.x in version requirements message
Fixes gh-26952
2021-06-21 18:20:08 +01:00
Andy Wilkinson 9025529dcf Merge branch '2.5.x'
Closes gh-26998
2021-06-21 14:34:24 +01:00
Andy Wilkinson 8405df10b8 Merge branch '2.4.x' into 2.5.x
Closes gh-26997
2021-06-21 14:34:11 +01:00
Andy Wilkinson e18eb08222 Fix additional metadata locations with config cache
Previously, a project with a dependency on Spring Boot's configuration
processor would fail to build when the configuration cache is enabled
due to it accessing the Project during task execution.

Instead of accessing the project during task execution, this commit
updates the code to retrieve the resource locations from the matching
source set in advance. The locations are then stored in the action
that configures the compile task when needed.

Closes gh-26880
2021-06-21 14:31:04 +01:00
Andy Wilkinson 897a7196c0 Merge branch '2.5.x'
Closes gh-26948
2021-06-17 17:28:07 +01:00
Andy Wilkinson a2772e288a Merge branch '2.4.x' into 2.5.x
Closes gh-26947
2021-06-17 17:27:56 +01:00
Andy Wilkinson cd808d2f18 Only get Kotlin plugin's version once we know we need it
Fixes gh-26946
2021-06-17 17:27:03 +01:00
Andy Wilkinson 043cf88687 Merge branch '2.5.x'
Closes gh-26905
2021-06-14 21:02:19 +01:00
Andy Wilkinson 6a51c272b9 Test our Gradle plugin against Gradle 7.1
Closes gh-26904
2021-06-14 21:01:06 +01:00
Andy Wilkinson 0ec598c99d Merge branch '2.5.x' 2021-06-14 13:36:37 +01:00
Andy Wilkinson 9e2339b5d0 Merge branch '2.4.x' into 2.5.x 2021-06-14 13:36:29 +01:00
Andy Wilkinson 16bfa669e1 Polish authors separators 2021-06-14 13:35:30 +01:00
Andy Wilkinson bc715c64b1 Merge branch '2.5.x'
Closes gh-26892
2021-06-14 13:33:19 +01:00
Andy Wilkinson 5f26fd9ccb Merge branch '2.4.x' into 2.5.x
Closes gh-26891
2021-06-14 13:28:54 +01:00
Andy Wilkinson f6b7730dac Use Asciidoctor's revision line to provide document's version
Using the revision line means that the revision number is automatically
set. The revision number is then included by the HTML and PDF backends
in the standard location. In the HTML backend that's alongside the
list of authors. In the PDF backend that's on the title page.

Closes gh-26851
2021-06-14 13:24:01 +01:00
Stephane Nicoll b7f126020e Update copyright year of change file
See gh-26422
2021-06-12 18:00:24 +02:00
Marcus Klimstra 10ffaffb7b Improve configuration of Start and Stop goals
See gh-26422
2021-06-12 18:00:24 +02:00
Stephane Nicoll 69c2621a14 Polish "Add support for @Value annotation"
See gh-26337
2021-06-12 17:40:34 +02:00
Mark Jeffrey 14d86034a1 Add support for @Value annotation
This commit adds support for `@Value` from project Lombok for metadata
generation. This is very similar to the existing `@Data` support.

See gh-26337
2021-06-12 17:40:34 +02:00
Stephane Nicoll a1183c4641 Polish "Reproducible build for spring-boot-maven-plugin:build-info"
See gh-26221
2021-06-12 17:11:14 +02:00
Slawomir Jaranowski 2dec6dd552 Reproducible build for spring-boot-maven-plugin:build-info
See gh-26221
2021-06-12 17:11:14 +02:00
Andy Wilkinson de410b7621 Merge branch '2.4.x'
Closes gh-26828
2021-06-09 18:01:32 +01:00
Andy Wilkinson a1c5fcca58 Move common Asciidoctor configuration into our conventions
Closes gh-26620
2021-06-09 18:00:45 +01:00
Andy Wilkinson 03f8a46c80 Test our Gradle plugin against 7.1-rc-2
Closes gh-26825
2021-06-09 09:41:25 +01:00
Phillip Webb f798f26596 Merge branch '2.4.x' 2021-06-08 18:05:50 -07:00
Phillip Webb 4d62e47c5d Merge branch '2.3.x' into 2.4.x 2021-06-08 18:05:12 -07:00
Phillip Webb 9e1c78da99 Update copyright year of changed files 2021-06-08 18:03:46 -07:00
Phillip Webb 703eaa71f4 Remove main class configuration fallback
Remove fallback code since we now require Gradle 6.8 and can depend
on the `getMainClass` method being present.

Closes gh-26794
2021-06-08 18:00:50 -07:00
Phillip Webb d19b2681ab Rework build-image-customization table in docs
Collapse parameter name and user property into a single column to give
a little more room for the description and default value.

Closes gh-25739
2021-06-08 14:46:53 -07:00
Scott Frederick fba5ffc626 Fix FilePermissionsTests on Windows
See gh-26658
2021-06-08 15:58:03 -05:00
Andy Wilkinson 1a0e008a8c Prevent Netty tcNative from loading classes with wrong class loader
In our tests, the JNI code in Netty tcNative can cause some of its
classes to be loaded using a ModifiedClassPathClassLoader. When the
wrong class loader is used, SSL-related tests fail, for example due
to the same Netty tcNative classes being loaded by two different
ClassLoders and no longer being the same. This appears to be
dependent upon the order in which tests are executed and results in
intermittent test failures.

It looks like this should be addressed in Netty tcNative 2.0.40 which
preloads all of its classes. In the meantime, this commit updates
ModifiedClassPathClassLodaer to ignore Netty tcNative classes so that
they're only ever loaded by the system class loader.

Closes gh-26749
2021-06-08 11:20:02 +01:00
Andy Wilkinson 87d35250a5 Test our Gradle plugin against 7.1-rc-1
7.1-rc-1 deprecates JavaExec's main property in favor of mainClass
which was introduced in Gradle 6.4. This commit updates some tests
to use mainClass rather than main that would otherwise have failed
due to deprecation warnings in their output.

Closes gh-26793
2021-06-07 13:35:52 +01:00
Stephane Nicoll aff1366731 Polish "Fix typo in 'Reacting to the Maven plugin' title"
See gh-26751
2021-06-04 09:51:48 +02:00
Abel Salgado Romero 9eea502c3e Fix typo in 'Reacting to the Maven plugin' title
See gh-26751
2021-06-04 09:46:47 +02:00
Stephane Nicoll 75f31f6bc4 Merge branch '2.4.x'
Closes gh-26748
2021-06-03 09:27:01 +02:00
Stephane Nicoll ad99aa2f4a Merge branch '2.3.x' into 2.4.x
Closes gh-26747
2021-06-03 09:26:38 +02:00
dreis2211 f470151535 Remove reference to surefirebooter JAR
See gh-26737
2021-06-03 09:24:56 +02:00
Phillip Webb 02494d63d2 Merge branch '2.4.x'
Closes gh-26744
2021-06-02 17:26:05 -07:00
Phillip Webb 1cda557d03 Merge branch '2.3.x' into 2.4.x
Closes gh-26743
2021-06-02 17:25:51 -07:00
Phillip Webb 1beee5700c Don't close early when SecurityManager present
Update `JarFile` and `JarFileWrapper` classes so that they no longer
close the `JarFile` early if a `SecurityManager` is in use.

Prior to this commit, the closed `JarFile` would cause (an ultimately
swallowed) NPE in `ZipFile` which manifested itself as a
`ClassNotFoundException` when starting the app.

Closes gh-25538
2021-06-02 17:24:05 -07:00
Scott Frederick f560e86f03 Write buildpack directories to builder layer
When a custom buildpack is provided for image building, the contents
of the buildpack directory, tgz file, or image are copied as tar
entries to a new layer in the ephemeral builder image. Prior to this
commit, only file entries from the buildpack source were copied as
builder layer tar entries; intermediate directory entries from the
source were not copied. This results in directories being created in
the builder container using default permissions. This worked on most
Linux-like OSs where the default permissions allow others-read
access. On some OSs like Arch Linux where the default directory
permissions do not allow others-read, this prevented the lifecycle
processes from reading the buildpack files.

This commit explicitly creates all intermediate directory tar entries
in the builder image layer to ensure that the buildpack directories
and files can be read by the lifecycle processes.

Fixes gh-26658
2021-06-02 14:09:53 -05:00
Stephane Nicoll e9ed92a305 Polish 2021-06-02 14:14:04 +02:00
Phillip Webb d3f0f04f05 Merge branch '2.4.x'
Closes gh-26703
2021-05-28 14:53:27 -07:00
Phillip Webb 49d3ecc2b2 Merge branch '2.3.x' into 2.4.x
Closes gh-26702
2021-05-28 14:53:12 -07:00
Phillip Webb 617f7b9587 Improve ImageName/ImageReference parse performance
Update `ImageName` and `ImageReference` to use distinct regex patterns
to parse specific parts of the value. Prior to this commit a single
regex pattern was used which could hang given certain input strings.

Fixes gh-23115
2021-05-28 14:52:27 -07:00
Phillip Webb 5258c26f90 Merge branch '2.4.x' 2021-05-27 13:15:19 -07:00
Phillip Webb 49c30854af Rename PRODUCTION_RUNTIME_CLASSPATH_NAME
Rename the now public constant for consistency with the JavaPlugin.

See gh-26686
2021-05-27 13:14:16 -07:00
Phillip Webb ac0c1b1456 Merge branch '2.4.x'
Closes gh-26687
2021-05-27 12:08:49 -07:00
Phillip Webb 1e0ae9d5e3 Make PRODUCTION_RUNTIME_CLASSPATH_NAME public
Change `SpringBootPlugin.PRODUCTION_RUNTIME_CLASSPATH_NAME` from package
private to public so that it can be accessed in user build scripts.

Fixes gh-26686
2021-05-27 12:07:35 -07:00
Stephane Nicoll cb7c3774a7 Merge branch '2.4.x'
Closes gh-26646
2021-05-24 11:39:57 +02:00
Stephane Nicoll 942691753d Merge branch '2.3.x' into 2.4.x
Closes gh-26645
2021-05-24 11:39:38 +02:00
dreis2211 01ee6190a2 Remove workaround for SUREFIRE-1679
See gh-26632
2021-05-24 11:15:58 +02:00
Phillip Webb ab958d2394 Include io.spring.asciidoctor.backends group
Update `repositories` declaration to include the
'io.spring.asciidoctor.backends' group.

See gh-26293
2021-05-19 22:58:31 -07:00
Phillip Webb f0896c2de6 Rework title anchors for maven docs
Closes gh-26617
2021-05-19 21:19:24 -07:00
Phillip Webb 1702c9fc3d Rework title anchors for gradle docs
Closes gh-26618
2021-05-19 21:19:24 -07:00
Phillip Webb 2dbf39c738 Polish asciidoc formatting 2021-05-19 21:19:24 -07:00
Phillip Webb 8a3f835ffe Set Asciidoctor attribute-missing to warn
Closes gh-26590
2021-05-19 11:53:46 -07:00
Stephane Nicoll 582d7b46fd Merge branch '2.4.x'
Closes gh-26571
2021-05-17 14:36:44 +02:00
Stephane Nicoll ef093bc9c6 Merge branch '2.3.x' into 2.4.x
Closes gh-26570
2021-05-17 14:24:03 +02:00
Stephane Nicoll 306b6f6999 Configure SessionCookieConfig in MockServletWebServer
Closes gh-26479
2021-05-17 14:05:45 +02:00
Stephane Nicoll d3c817b7ba Polish "Remove unnecessary throws declaration in tests"
See gh-26441
2021-05-17 09:36:53 +02:00
weixsun 8a2be288a3 Remove unnecessary throws declaration in tests
See gh-26441
2021-05-17 09:31:51 +02:00
Andy Wilkinson 1db8ca60aa Test our Gradle plugin against Gradle 7.0.2
Closes gh-26464
2021-05-14 13:58:46 +01:00
Andy Wilkinson f92510e39d Merge branch '2.4.x'
Closes gh-26451
2021-05-13 11:44:27 +01:00
Andy Wilkinson 970f933806 Merge branch '2.3.x' into 2.4.x
Closes gh-26450
2021-05-13 11:44:01 +01:00
Andy Wilkinson 2dd94b5554 Polish "Use try-with-resources statement"
See gh-26449
2021-05-13 11:37:10 +01:00
weixsun 5ba9db391f Use try-with-resources statements
See gh-26449
2021-05-13 11:36:14 +01:00
Scott Frederick e9adb1ab88 Handle long file names in buildpack images
Fixes gh-26445
2021-05-12 18:14:56 -05:00
Scott Frederick b62905b91d Merge branch '2.4.x'
Closes gh-25840
2021-05-12 15:48:59 -05:00
Scott Frederick 8ac297d6f3 Merge branch '2.3.x' into 2.4.x
Closes gh-25839
2021-05-12 14:57:40 -05:00
Scott Frederick 32d378a348 Use test harness for image building integration tests
This commit modifies the integration tests for the Maven and Gradle
image building goal and task to use a custom builder as a test harness
to verify that the plugins invoke the builder as expected.

Fixes gh-25838
2021-05-12 14:51:45 -05:00
Andy Wilkinson 07de9e3920 Merge branch '2.4.x' 2021-05-12 17:40:58 +01:00
Andy Wilkinson e29d2e208e Merge branch '2.3.x' into 2.4.x 2021-05-12 17:40:48 +01:00
Andy Wilkinson b3af6d6403 Polish
See gh-25798
2021-05-12 17:40:33 +01:00
dreis2211 ba2a4781d2 Test our Gradle Plugin against Gradle 7.0.1
See gh-26420
2021-05-11 08:25:19 +02:00
Phillip Webb 87d8aedd3c Use spring-pdf backend for PDF generation
Update `asciidoctorPdf` tasks to use the `spring-pdf` backend so that
chomped elements and @fold:on/@fold:off comments are hidden.

Closes gh-26373
2021-05-10 18:04:05 -07:00
Andy Wilkinson dc5f115c04 Document support for Gradle 6.9
Closes gh-26409
2021-05-07 11:29:51 +01:00
Andy Wilkinson b3071dab91 Merge branch '2.4.x'
Closes gh-26412
2021-05-07 11:26:18 +01:00
Andy Wilkinson fe4d20c976 Merge branch '2.3.x' into 2.4.x
Closes gh-26411
2021-05-07 11:25:10 +01:00
Andy Wilkinson 6daf67a88c Upgrade to Gradle 6.9
Closes gh-26408
2021-05-07 11:21:24 +01:00
Stephane Nicoll b4424605af Merge branch '2.4.x'
Closes gh-26406
2021-05-07 09:14:46 +02:00
Stephane Nicoll 559af275a4 Merge branch '2.3.x' into 2.4.x
Closes gh-26405
2021-05-07 09:14:35 +02:00
Sach Nguyen afa77b8253 Fix wrong reference to Cassandra in DockerImageNames#couchbase
See gh-26399
2021-05-07 09:12:43 +02:00
Andy Wilkinson 2976fd9165 Merge branch '2.4.x'
Closes gh-26397
2021-05-06 20:12:41 +01:00
Andy Wilkinson fe696ee22a Merge branch '2.3.x' into 2.4.x
Closes gh-26396
2021-05-06 20:11:59 +01:00
Andy Wilkinson ef9e3bafff Test our Gradle plugin against 6.9-rc-2
Closes gh-26395
2021-05-06 20:10:54 +01:00
Andy Wilkinson aeea15be0f Merge branch '2.4.x'
Closes gh-26365
2021-05-05 09:53:20 +01:00
Andy Wilkinson f7fae8f0f2 Merge branch '2.3.x' into 2.4.x
Closes gh-26364
2021-05-05 09:52:53 +01:00
Andy Wilkinson b3275c5647 Align productionRuntimeClasspath with runtimeClasspath
Fixes gh-25798
2021-05-05 09:52:44 +01:00
Andy Wilkinson b976483852 Merge branch '2.4.x'
Closes gh-26330
2021-04-30 16:56:46 +01:00
Andy Wilkinson c0fe23181c Merge branch '2.3.x' into 2.4.x
Closes gh-26329
2021-04-30 16:55:10 +01:00
Andy Wilkinson 94ca2d1e78 Test the Gradle plugin against Gradle 6.9-rc-1
Closes gh-26267
2021-04-30 16:52:52 +01:00
Scott Frederick bb8188b681 Merge branch '2.4.x'
Closes gh-26313
2021-04-29 16:16:32 -05:00
Scott Frederick 17fa215cf5 Merge branch '2.3.x' into 2.4.x
Closes gh-26312
2021-04-29 15:33:33 -05:00
Scott Frederick c37b9b8a8e Use layout configuration in Maven build-image goal
This commit changes the Maven build-image goal to honor the `layout` and
`layoutFactory` parameters to ensure that the archive content sent to the
builder is the same as is used by the `repackage` goal to build the
archive file.

Fixes gh-26216
2021-04-29 15:03:08 -05:00
Andy Wilkinson fa81b41afc Merge branch '2.4.x'
Closes gh-26301
2021-04-29 11:37:13 +01:00
Andy Wilkinson 94519c33b1 Merge branch '2.3.x' into 2.4.x
Closes gh-26300
2021-04-29 11:36:15 +01:00
Andy Wilkinson ef5fbb0669 Configure bootBuildImage's targetJavaVersion using a provider
Previously, the targetJavaVersion property of bootBuildImage was set
using the project's target compatibility directly. This meant that
property's value would reflect the configured target compatibility at
the time of the task's creation and any subsequent changes to the
target compatibility would be missed.

This commit updates the registration of the bootBuildImage task to set
the value of the targetJavaVersion property using a provider. This
indirection means that the project's target compatibility isn't read
until the value of the targetJavaVersion is read, allowing any changes
to the target compatibility to be picked up even if they're made after
the bootBuildImage task has been created.

Fixes gh-26297
2021-04-29 11:36:03 +01:00
Stephane Nicoll 52994027f4 Fix checkstyle violation 2021-04-28 15:14:33 +02:00
Stephane Nicoll 7465eb0f03 Merge branch '2.4.x' 2021-04-28 15:12:45 +02:00
Stephane Nicoll 85e1cc4d65 Fix checkstyle violation 2021-04-28 15:12:22 +02:00
Stephane Nicoll 09ae65e3b7 Merge branch '2.4.x'
Closes gh-26277
2021-04-28 14:13:11 +02:00
Stephane Nicoll 05b09907e0 Merge branch '2.3.x' into 2.4.x
Closes gh-26275
2021-04-28 14:12:35 +02:00
Stephane Nicoll d610f3c2ff Polish "Fix ordering of metadata entries"
See gh-26230
2021-04-28 14:07:37 +02:00
Dmitry Pavlov 3e34b0a60a Fix ordering of metadata entries
This commit provides a consistent ordering for groups that share the
same configuration property prefix.

See gh-26230
2021-04-28 14:07:37 +02:00
Stephane Nicoll 9e3c3b73ac Merge branch '2.4.x' 2021-04-28 13:58:05 +02:00
Stephane Nicoll d98fe36b88 Merge branch '2.3.x' into 2.4.x 2021-04-28 13:57:45 +02:00
Stephane Nicoll 20da9826cc Disable incrementalBuildTypeRenamed test
This commit disables a test that does not test what it is supposed to
and improve the Metadata assertions to fail early if more than one
matching item by name and type is found in the metadata.

See gh-26271
2021-04-28 13:54:35 +02:00
Andy Wilkinson 6953da2013 Merge branch '2.4.x'
Closes gh-26257
2021-04-27 15:19:04 +01:00
Andy Wilkinson a1138efc5f Merge branch '2.3.x' into 2.4.x
Closes gh-26256
2021-04-27 15:18:23 +01:00
Andy Wilkinson a470c1af3a Align documentation with main default branch name
Closes gh-26255
2021-04-27 15:18:00 +01:00
Slawomir Jaranowski 50118f67fd Test Maven plugin against latest Maven versions
See gh-26200
2021-04-22 14:59:16 +02:00
Andy Wilkinson b9348c6d28 Merge branch '2.4.x'
Closes gh-26169
2021-04-20 11:26:46 +01:00
Andy Wilkinson bc1a462143 Merge branch '2.3.x' into 2.4.x
Closes gh-26168
2021-04-20 11:19:10 +01:00
Andy Wilkinson 82198a99e0 Polish nohttp configuration
Closes gh-26166
2021-04-20 11:15:13 +01:00
Stephane Nicoll 548baf7914 Update copyright year of changed file
See gh-26145
2021-04-19 09:34:56 +02:00
izeye 996472b42d Polish
See gh-26145
2021-04-19 09:34:55 +02:00
Phillip Webb b4c9bb0d5c Merge branch '2.4.x'
Closes gh-26122
2021-04-14 15:05:55 -07:00
Phillip Webb fb3796dae8 Merge branch '2.3.x' into 2.4.x
Closes gh-26121
2021-04-14 15:02:58 -07:00
Phillip Webb fcb2210a87 Include optional shade plugin in published pom
Update `MavenPublishingConventions` to add a new `mavenOptional` feature
that allows us to declare optional dependencies that are also published
in the generated POM.

This change allows us to include the maven-shade-plugin in the
spring-boot-maven-plugin POM which fixes an issue with Eclipse m2e.

Fixes gh-21992
2021-04-14 15:02:42 -07:00
Andy Wilkinson b0cce645dd Use a non-deprecated class to identify kotlin-gradle-plugin-api jar
See gh-26080
2021-04-13 20:29:36 +01:00
Andy Wilkinson 6f2b4aa685 Upgrade to Kotlin 1.5.0-RC
Closes gh-26080
Closes gh-25498
2021-04-13 19:51:03 +01:00
Andy Wilkinson c4750fd0ff Support Gradle 7 and raise minimum supported version to 6.8
Closes gh-26026
2021-04-12 15:20:32 +01:00
dreis2211 db79fe8b2c Test our Gradle Plugin against Gradle 7.0
See gh-25997
2021-04-10 10:48:44 +02:00
Scott Frederick 5bc35e8f44 Extract XML example from Maven plugin adoc file
See gh-25993
2021-04-09 14:22:51 -05:00
Scott Frederick e27d4848dd Merge branch '2.4.x'
Closes gh-25993
2021-04-09 14:12:36 -05:00
Scott Frederick 6a7f1f1c56 Merge branch '2.3.x' into 2.4.x
Closes gh-25992
2021-04-09 14:11:47 -05:00
Scott Frederick e19443093d Document runtime JVM configuration when building an image
Fixes gh-21478
2021-04-09 14:06:24 -05:00
Scott Frederick 86303c017b Merge branch '2.4.x'
Closes gh-25938
2021-04-08 13:03:45 -05:00
Scott Frederick 9108b81bb2 Merge branch '2.3.x' into 2.4.x
Closes gh-25937
2021-04-08 13:03:26 -05:00
Scott Frederick 0ad7f76263 Preserve file permissions in images built by Gradle
This commit copies the file mode along with other attributes when
copying files from the source archive to the build container while
building an image using the Gradle plugin. This preserves file
permissions on any resources included in the source archive.

Fixes gh-25915
2021-04-08 12:56:41 -05:00
Andy Wilkinson 8b5f914ba5 Revert "Merge branch '2.4.x'"
This reverts commit 97b26b4886, reversing
changes made to 6f9b1ed6a3.

See gh-25840
2021-04-07 10:20:23 +01:00
Andy Wilkinson e9ce20dbf4 Revert "Merge branch '2.3.x' into 2.4.x"
This reverts commit 586ce00e06, reversing
changes made to 563b8a8cec.

See gh-25839
2021-04-07 10:19:20 +01:00
Andy Wilkinson b35d1ec6e8 Revert "Use test harness for image building integration tests"
This reverts commit da9d8d6055.

See gh-25838
2021-04-07 09:30:51 +01:00
Phillip Webb 807ea1af0d Update copyright year of changed files 2021-04-06 14:59:52 -07:00
Andy Wilkinson 095ff18854 Test our Gradle plugin against Gradle 7.0-rc-2
Closes gh-25888
2021-04-06 10:30:35 +01:00
Scott Frederick 5595fb2423 Polish "Extract XML examples from Maven plugin adoc files"
See gh-25534
2021-03-31 14:05:11 -05:00
robert-smith-911 4e287594bf Extract XML examples from Maven plugin adoc files
See gh-25534
2021-03-31 14:05:10 -05:00
Scott Frederick 97b26b4886 Merge branch '2.4.x'
Closes gh-25840
2021-03-30 21:00:38 -05:00
Scott Frederick 586ce00e06 Merge branch '2.3.x' into 2.4.x
Closes gh-25839
2021-03-30 17:39:10 -05:00
Scott Frederick da9d8d6055 Use test harness for image building integration tests
This commit modifies the integration tests for the Maven and Gradle
image building goal and task to use a custom builder as a test harness
to verify that the plugins invoke the builder as expected.

Fixes gh-25838
2021-03-30 16:48:28 -05:00
Andy Wilkinson 6f9b1ed6a3 Merge branch '2.4.x'
See gh-25837
2021-03-30 20:52:38 +01:00
Andy Wilkinson 563b8a8cec Merge branch '2.3.x' into 2.4.x
See gh-25836
2021-03-30 20:52:15 +01:00
Andy Wilkinson e94f8bba62 Ensure that upstream jars have been built
See gh-25835
2021-03-30 20:51:33 +01:00
Andy Wilkinson df4b1ffb0d Merge branch '2.4.x'
Closes gh-25837
2021-03-30 20:42:41 +01:00
Andy Wilkinson 38a4f135a9 Merge branch '2.3.x' into 2.4.x
Closes gh-25836
2021-03-30 20:42:29 +01:00
Andy Wilkinson ca9a619259 Defer processing of zipTree source until execution time
Closes gh-25835
2021-03-30 20:41:46 +01:00
Andy Wilkinson 09173b81d6 Merge branch '2.4.x'
Closes gh-25833
2021-03-30 18:18:36 +01:00
Andy Wilkinson 7a846ad41f Merge branch '2.3.x' into 2.4.x
Closes gh-25832
2021-03-30 18:18:10 +01:00
Andy Wilkinson 5a086321c6 Polish "Document Failsafe configuration when not using starter parent"
See gh-25621
2021-03-30 18:16:21 +01:00
robert-smith-911 0d79fd3e01 Document Failsafe configuration when not using starter parent
See gh-25621
2021-03-30 18:02:12 +01:00
Phillip Webb 8c31d29acf Merge branch '2.4.x' 2021-03-30 09:29:59 -07:00
Phillip Webb a28a3ae090 Merge branch '2.3.x' into 2.4.x 2021-03-30 09:25:46 -07:00
Phillip Webb 9c8a97809d Consistent use of @deprecated since
Restore the patch version number for consistency with `@since`
tags.

See gh-25808
2021-03-30 09:20:30 -07:00
Phillip Webb c9451b59f2 Merge branch '2.4.x' 2021-03-29 15:51:23 -07:00
Phillip Webb a0f5169966 Polish 2021-03-29 15:51:13 -07:00
Phillip Webb 44b1751bb4 Merge branch '2.4.x'
Closes gh-25826
2021-03-29 15:48:20 -07:00
Phillip Webb 363f5829d1 Merge branch '2.3.x' into 2.4.x
Closes gh-25825
2021-03-29 15:46:50 -07:00
Phillip Webb 26dd1b9a26 Update deprecations with for removal targets
Update all deprecation tags to include a removal target.

Closes gh-25808
2021-03-29 15:44:58 -07:00
Scott Frederick 269fc68c1d Merge branch '2.4.x'
Closes gh-25811
2021-03-26 16:43:13 -05:00
Scott Frederick 4015d70f00 Merge branch '2.3.x' into 2.4.x
Closes gh-25789
2021-03-26 15:16:01 -05:00
dreis2211 a9a37f0dd5 Increase test coverage on Java 16
See gh-25809
2021-03-26 19:38:54 +00:00
Scott Frederick 3ad5f1013a Fix Maven image building with classifiers
Fixes gh-25736
2021-03-26 11:36:38 -05:00
Andy Wilkinson 340893747b Merge branch '2.4.x'
Closes gh-25799
2021-03-25 15:50:45 +00:00
Andy Wilkinson af7e4e211c Support all known endpoint types
Previously, the configuration metadata annotation processor only
declared support for `@Endpoint` and none of the other more
specialized `@…Endpoint` annotations that are meta-annotated with
`@Endpoint` such as `@WebEndpoint` and `@JmxEndpoint. This would
result in missing metadata if a full or incremental build only
compiled classes annotated with one of the more specialized
`@…Endpoint` annotations as the annotation processor would not be
called.

This commit updates the processor's supported annotation types to
include every known `@…Endpoint` annotation. The test processor has
also been similarly updated to align its behaviour with that of the
main processor.

Fixes gh-25388
2021-03-25 15:23:09 +00:00
Phillip Webb deaff1a522 Merge branch '2.4.x'
Closes gh-25775
2021-03-23 17:08:18 -07:00
Phillip Webb ca9fae6b47 Merge branch '2.3.x' into 2.4.x
Closes gh-25774
2021-03-23 17:07:44 -07:00
Phillip Webb ec21202d54 Delete unpacked jars when the JVM exits
Update `JarFileArchive` so that any unpacked files are now deleted when
the JVM exits.

Closes gh-25773
2021-03-23 17:06:56 -07:00
Phillip Webb 05f61bccea Align unpack logic with Files.createTempDirectory
Update `JarFileArchive` to align the way that it creates temp files and
folders with the way that `Files.createTempDirectory` works.

Closes gh-25772
2021-03-23 17:06:56 -07:00
Phillip Webb b8873578ca Add missing @Deprecated annotations 2021-03-23 17:06:53 -07:00
Phillip Webb 77ddb45704 Merge branch '2.4.x' 2021-03-23 12:53:59 -07:00
Phillip Webb 11a94ee6f0 Merge branch '2.3.x' into 2.4.x 2021-03-23 12:52:07 -07:00
Phillip Webb 82127fdaa3 Update copyright year of changed files 2021-03-23 12:50:49 -07:00
Andy Wilkinson ca46fe7cd0 Test our Gradle plugin against Gradle 7.0-rc-1
Closes gh-25763
2021-03-23 10:41:43 +00:00
Scott Frederick 2dd4010eb0 Merge branch '2.4.x'
Closes gh-25701
2021-03-19 15:58:14 -05:00
Scott Frederick 6f860b441b Merge branch '2.3.x' into 2.4.x
Closes gh-25700
2021-03-19 14:52:20 -05:00
Andy Wilkinson fb670ee654 Drop support for Gradle 5.6.x
Closes gh-24225
2021-03-19 17:30:27 +00:00
Andy Wilkinson 83342c7aa7 Test the Gradle plugin against 7.0-milestone-3
Closes gh-25747
2021-03-19 17:01:38 +00:00
Phillip Webb 663fd8ce5e Update copyright year of changed files 2021-03-18 14:49:52 -07:00
Phillip Webb 685b045c3d Polish 2021-03-18 14:49:52 -07:00
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
2021-03-17 15:19:21 -05:00
Andy Wilkinson 67545cf4f1 Polish 2021-03-17 12:39:50 +00:00
Andy Wilkinson 2adf3f836c Merge branch '2.4.x' 2021-03-17 12:25:24 +00:00
Andy Wilkinson c815195f13 Polish 2021-03-17 12:25:13 +00:00
Andy Wilkinson 36c72cb6ef Merge branch '2.4.x'
Closes gh-25716
2021-03-17 11:33:48 +00:00
Andy Wilkinson 5595fd4017 Merge branch '2.3.x' into 2.4.x
Closes gh-25715
2021-03-17 11:31:46 +00:00
Andy Wilkinson 0e0418546b Test spring-boot:build-image when repackage is also invoked
Closes gh-25714
2021-03-17 11:19:29 +00:00
Andy Wilkinson 68e5a107cc Revert "Merge branch '2.4.x'"
This reverts commit 5488b8cb46, reversing
changes made to dee0df5c53.

See gh-25701
2021-03-17 11:17:54 +00:00
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
2021-03-17 11:13:58 +00:00
Andy Wilkinson ae2ff7849b Revert "Fail fast when finalName is misconfigured"
This reverts commit 263b7c20e4.

See gh-25590
2021-03-17 11:11:24 +00:00
Scott Frederick 5488b8cb46 Merge branch '2.4.x'
Closes gh-25701
2021-03-16 17:48:54 -05:00
Scott Frederick eaa510872a Merge branch '2.3.x' into 2.4.x
Closes gh-25700
2021-03-16 17:31:32 -05:00
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
2021-03-16 17:22:48 -05:00
Andy Wilkinson ebdb046ca9 Leave jar and war tasks enabled but configured with a classifier
Closes gh-23797
2021-03-16 10:31:56 +00:00
Stephane Nicoll e517ee8635 Merge branch '2.4.x'
Closes gh-25618
2021-03-13 18:22:57 +01:00
izeye 09f4d4b9bf Polish
See gh-25617
2021-03-13 18:08:54 +01:00
Jurrie Overgoor 3c0e236562 Support Maven's reproducible build feature for war repackaging
See gh-25571
2021-03-11 11:08:10 +00:00
Phillip Webb 6e5c510e0a Migrate to asciidoctor-spring-backends
Migrate to the snapshot version of asciidoctor-spring-backends.

See gh-25553
2021-03-08 22:07:17 -08:00
Stephane Nicoll 5a0c3a8497 Merge branch '2.4.x'
Closes gh-25516
2021-03-05 15:47:50 +01:00
Stephane Nicoll ddf75f095c Merge branch '2.3.x' into 2.4.x
Closes gh-25515
2021-03-05 15:47:36 +01:00
Stephane Nicoll 6ebc69d704 Polish "Include properties in source merge algorithm"
See gh-25507
2021-03-05 15:47:09 +01:00
Bertrand Renuart cf4bc6e9e0 Include properties in source merge algorithm
This commit improves SimpleConfigurationMetadataRepository to include
properties that are contributed to an existing configuration metadata
source.

See gh-25507
2021-03-05 15:47:09 +01:00
Andy Wilkinson 2b7f23b29d Merge branch '2.4.x'
Closes gh-25509
2021-03-05 10:44:24 +00:00
Andy Wilkinson ac258a95a2 Merge branch '2.3.x' into 2.4.x
Closes gh-25508
2021-03-05 10:39:52 +00:00
Andy Wilkinson c6ca7a53ab Polish "Prevent extracting zip entries outside of destination path"
See gh-25505
2021-03-05 10:13:32 +00:00
trungPa 2993e68715 Prevent extracting zip entries outside of destination path
See gh-25505
2021-03-05 10:12:06 +00:00
Stephane Nicoll 76d0a7f8ba Merge branch '2.4.x'
Closes gh-25506
2021-03-05 10:03:42 +01:00
dreis2211 89a44f3da4 Fix some assertions
See gh-25499
2021-03-05 09:56:55 +01:00
Andy Wilkinson 961a34a5ee Merge branch '2.4.x'
Closes gh-25497
2021-03-04 19:15:03 +00:00
Andy Wilkinson 1ce6e796fe Polish "Allow the project to be built with Java 16"
See gh-25171
2021-03-04 18:54:58 +00:00
dreis2211 1ccd8dae8a Allow the project to be built with Java 16
See gh-25171
2021-03-04 18:54:56 +00:00
Stephane Nicoll e58353a32d Merge branch '2.4.x'
Closes gh-25484
2021-03-03 15:16:58 +01:00
Stephane Nicoll e5d8b6029b Merge branch '2.3.x' into 2.4.x
Closes gh-25483
2021-03-03 15:16:08 +01:00
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
2021-03-03 15:15:04 +01:00
Scott Frederick 434db48969 Merge branch '2.4.x'
Closes gh-25469
2021-03-01 16:01:12 -06:00
Scott Frederick afb60d6161 Add tests for Gradle examples used in plugin docs
Fixes gh-25468
2021-03-01 15:22:15 -06:00
Stephane Nicoll a80f1af811 Merge branch '2.4.x'
Closes gh-25463
2021-03-01 10:18:42 +01:00
Stephane Nicoll ed1c68f567 Update copyright year of changed file
See gh-25454
2021-03-01 10:06:23 +01:00
jnizet cbab2396e2 Fix property name in gradle plugin documentation
See gh-25454
2021-03-01 10:01:52 +01:00
Andy Wilkinson b36caec413 Merge branch '2.4.x'
Closes gh-25438
2021-02-25 17:33:00 +00:00
Andy Wilkinson d48551ff12 Merge branch '2.3.x' into 2.4.x
Closes gh-25437
2021-02-25 17:32:40 +00:00
Stefan Wolf 86ca32e694 Enable stricter validation for Gradle plugin
See gh-25409
2021-02-25 17:28:51 +00:00
Andy Wilkinson 84984fb148 Merge branch '2.4.x'
Closes gh-25431
2021-02-25 14:28:41 +00:00
Andy Wilkinson ecf8437d4a Merge branch '2.3.x' into 2.4.x
Closes gh-25430
2021-02-25 14:28:28 +00:00
dreis2211 101d88a840 Update Testcontainers image versions
See gh-25412
2021-02-25 14:27:41 +00:00
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
2021-02-24 15:23:33 -06:00
Scott Frederick a80c4ad38d Support image building with Gradle and war packaging
This commit updates the Gradle image building task to support building
images from executable and non-executable war files.

Fixes gh-23825
2021-02-24 14:42:46 -06:00
Andy Wilkinson 9836b060d4 Test the Gradle plugin against 7.0-milestone-2
Closes gh-25404
2021-02-24 11:28:45 +00:00
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
2021-02-23 13:56:57 -06:00
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
2021-02-22 16:51:24 -06:00
Stephane Nicoll 817a4c5397 Merge branch '2.4.x'
Closes gh-25386
2021-02-22 10:46:13 +01:00
Stephane Nicoll 7c5a5c6663 Merge branch '2.3.x' into 2.4.x
Closes gh-25385
2021-02-22 10:45:55 +01:00
Stephane Nicoll 77daae1480 Update copyright year of changed file
See gh-25382
2021-02-22 10:41:49 +01:00
Mustafa Ulu abc90db32f Fix wording error in build-info goal description
See gh-25382
2021-02-22 10:26:53 +01:00
Andy Wilkinson a14bf7a3b8 Deprecate support for Gradle's maven plugin
Closes gh-25267
2021-02-19 19:29:17 +00:00
Phillip Webb 4ad149e1e7 Protect against bad paths and URLs
See gh-21722
2021-02-18 16:23:56 -08:00
Scott Frederick 88e9f1d28c Fix Maven buildpacks example in docs
See gh-21722
2021-02-18 18:22:36 -06:00
Scott Frederick e3e229cc3d Remove unused import
See gh-21722
2021-02-18 17:39:59 -06:00
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
2021-02-18 17:28:25 -06:00
Andy Wilkinson 5618646fc7 Merge branch '2.4.x'
Closes gh-25308
2021-02-16 11:30:25 +00:00
Andy Wilkinson b86351d0cf Merge branch '2.3.x' into 2.4.x
Closes gh-25307
2021-02-16 11:30:03 +00:00
Andy Wilkinson a2adb877ee Polish "Encourage use of maven-publish plugin in Gradle docs"
See gh-25299
2021-02-16 11:22:47 +00:00
Robert Smith c0a5245a3e Encourage use of maven-publish plugin in Gradle docs
See gh-25299
2021-02-16 11:19:27 +00:00
Andy Wilkinson 514aede91e Merge branch '2.4.x'
Closes gh-25168
2021-02-10 12:20:02 +00:00
Andy Wilkinson 45e6c12cb6 Consider transitives when identifying project dependencies
Previously, when building a layered jar, the Gradle plugin only
considered a configuration's direct dependencies when identifying
project dependencies. This resulted in transitive project dependencies
being missed when deciding which dependencies belong in the
application layer.

This commit updates ResolvedDependencies to consider all projects
from the root project when collecting the IDs of local projects. This
ensures that any project dependency, no matter where it appears in the
dependency graph, is successfully identified.

Fixes gh-25163
2021-02-10 12:10:07 +00:00
Stephane Nicoll c120f789d5 Merge branch '2.4.x'
Closes gh-25141
2021-02-09 15:04:58 +01:00
Stephane Nicoll 9218965104 Merge branch '2.3.x' into 2.4.x
Closes gh-25140
2021-02-09 15:04:28 +01:00
dreis2211 4937547b8a Fix build deprecation warnings about duplicate jar entries
See gh-25116
2021-02-09 14:45:58 +01:00
Andy Wilkinson d30251092b Test the Gradle Plugin against 7.0-milestone-1
Closes gh-25103
2021-02-04 10:16:48 +00:00
Andy Wilkinson db781a0d84 Merge branch '2.4.x'
See gh-25077
2021-02-02 15:14:18 +00:00
Andy Wilkinson 788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
2021-02-02 15:12:27 +00:00
Andy Wilkinson 67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
2021-02-02 13:03:21 +00:00
Phillip Webb d9f3e89395 Merge branch '2.4.x' 2021-02-01 22:11:17 -08:00
Phillip Webb 230b4ab2eb Merge branch '2.3.x' into 2.4.x 2021-02-01 22:10:52 -08:00
Phillip Webb 630d216430 Update copyright year of changed files 2021-02-01 22:10:24 -08:00
Phillip Webb d8b849e00d Fix test that fails when building against SNAPSHOT
Update `WarIntegrationTests` do deal with a SNAPSHOT Spring Framwork
dependency.

See gh-23936
2021-02-01 22:09:04 -08:00
Phillip Webb 1eef2e1b46 Merge branch '2.4.x' 2021-02-01 19:47:11 -08:00
Phillip Webb 331c7b756b Merge branch '2.3.x' into 2.4.x 2021-02-01 19:46:49 -08:00
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
2021-02-01 19:45:11 -08:00
Phillip Webb cff09df3fe Merge branch '2.4.x' 2021-02-01 17:07:28 -08:00
Phillip Webb 003f2f9521 Merge branch '2.3.x' into 2.4.x 2021-02-01 17:07:07 -08:00
Phillip Webb faaa5e4186 Fix BOM attached sourceSet
See gh-23936
2021-02-01 16:51:53 -08:00
Phillip Webb 59b8fb5b49 Merge branch '2.4.x'
Closes gh-25079
2021-02-01 16:36:02 -08:00
Phillip Webb db52bf3d7a Merge branch '2.3.x' into 2.4.x
Closes gh-25078
2021-02-01 16:35:46 -08:00
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
2021-02-01 16:20:55 -08:00
Phillip Webb d8b6960997 Merge branch '2.4.x'
Closes gh-25077
2021-02-01 16:08:57 -08:00
Phillip Webb 257608a3a3 Merge branch '2.3.x' into 2.4.x
Closes gh-25076
2021-02-01 16:03:43 -08:00
Phillip Webb 939b5dfc26 Add junit-platform-launcher dependency
Update `build.gradle` files to ensure that `junit-platform-launcher` is
a `testRuntimeOnly` dependency. This ensures that tests can be run from
Eclipse.

Closes gh-25074
2021-02-01 15:31:28 -08:00
Madhura Bhave c73e3cc2dc Update documentation for layered wars
Closes gh-22821
Closes gh-22195
2021-02-01 14:43:43 -08:00
Madhura Bhave 1245e5eec9 Add support for creating layered war files with Gradle
See gh-22195
2021-02-01 14:43:42 -08:00
Phillip Webb c76a0f7a81 Merge branch '2.4.x'
Closes gh-25043
2021-01-28 18:57:10 -08:00
Phillip Webb ca9b612e27 Merge branch '2.3.x' into 2.4.x
Closes gh-25042
2021-01-28 18:56:59 -08:00
jongmin92 23ecb86089 Document missing code to run Gradle bootRun task
See gh-25012
2021-01-28 18:56:21 -08:00
Madhura Bhave 82ac7eef91 Update tests following code changes
See gh-22821
2021-01-28 14:24:18 -08:00
Madhura Bhave 9a32f67802 Fix formatting 2021-01-28 13:38:30 -08:00
Madhura Bhave 152698f2b2 Add support for creating layered war files with Maven
See gh-22821
2021-01-28 12:39:19 -08:00
Phillip Webb c9a2c4e326 Merge branch '2.4.x' 2021-01-26 19:06:48 -08:00
Phillip Webb d06407ec0a Update copyright year of changed files 2021-01-26 19:06:14 -08:00
Phillip Webb b1f27b7604 Merge branch '2.4.x'
Closes gh-24995
2021-01-25 21:36:36 -08:00
Phillip Webb 522f68cb40 Merge branch '2.3.x' into 2.4.x
Closes gh-24994
2021-01-25 21:36:12 -08:00
Phillip Webb 464b302655 Set withTestKitDir per Gradle version
Attempt to fix cache locking issues by setting a unique `withTestKitDir`
directory for each tested Gradle version.

Closes gh-24993
2021-01-25 21:35:25 -08:00
Andy Wilkinson f3fd55dac6 Merge branch '2.4.x'
Closes gh-24976
2021-01-22 14:59:35 +00:00
Andy Wilkinson 9c8645dec2 Merge branch '2.3.x' into 2.4.x
Closes gh-24975
2021-01-22 14:59:23 +00:00
Andy Wilkinson 46d908f632 Upgrade to Gradle 6.8.1
Closes gh-24737
2021-01-22 14:20:57 +00:00
Stephane Nicoll 2c2c160579 Remove deprecated code
See gh-24806
2021-01-15 14:14:33 +01:00
Phillip Webb 635c087694 Merge branch '2.4.x' 2021-01-12 17:33:16 -08:00
Phillip Webb 6c2ff56fba Fix tests to also work in IDE 2021-01-12 17:31:53 -08:00
Scott Frederick 9925c4ccd2 Merge branch '2.4.x'
Closes gh-24794
2021-01-12 17:50:55 -06:00
Scott Frederick a9e711e503 Enforce builder and run images in the same registry
Previously, when an authenticated Docker builder registry was
configured in the Maven or Gradle plugin and the builder and run
images specified different registries, the authentication credentials
would be sent to both registries. This could cause confusion if both
registries don't recognize the same credentials. This commit enforces
that both images are in the same registry when authentication
is configured.

Fixes gh-24552
2021-01-12 17:50:28 -06:00
Phillip Webb 4cc1467aba Merge branch '2.4.x' 2021-01-12 12:04:40 -08:00
Phillip Webb a6a7c06e55 Merge branch '2.3.x' into 2.4.x 2021-01-12 12:04:11 -08:00
Phillip Webb 9da0bd8523 Update copyright year of changed files 2021-01-12 12:02:57 -08:00
Andy Wilkinson 8281f404d1 Merge branch '2.4.x'
Closes gh-24769
2021-01-12 13:12:25 +00:00
Andy Wilkinson c3dfb9bd29 Merge branch '2.3.x' into 2.4.x
Closes gh-24768
2021-01-12 13:12:10 +00:00
Andy Wilkinson 997505005b Handle files larger than Integer.MAX_VALUE bytes in bootJar and bootWar
Fixes gh-24618
2021-01-12 13:11:46 +00:00
Andy Wilkinson f34eb86a21 Merge branch '2.4.x'
Closes gh-24739
2021-01-11 11:49:59 +00:00
Andy Wilkinson 5ae9fbedcd Merge branch '2.3.x' into 2.4.x
Closes gh-24738
2021-01-11 11:33:30 +00:00
Andy Wilkinson 7625a979db Configure bootRun to use project's Java toolchain by default
Previously, unlike the application plugin's run task, our bootRun task
ignored the project's Java toolchain. This meant that the application
was run on a JVM with the same Java version as the one being used by
Gradle itself. This could result in a failure if the application
required a more modern JVM.

This commit updates the plugin to configure the bootRun task's
JavaLauncher convention to be one derived from the project's Java
toolchain. Toolchain support was introduced in Gradle 6.7 so this is
only done when using Gradle 6.7 and later.

Fixes gh-24517
2021-01-11 11:21:53 +00:00
Andy Wilkinson f07e470765 Merge branch '2.4.x'
Closes gh-24736
2021-01-11 11:05:03 +00:00
Andy Wilkinson 3c3aa9e486 Merge branch '2.3.x' into 2.4.x
Closes gh-24735
2021-01-11 11:03:35 +00:00
Andy Wilkinson 064de4e073 Check configured JavaLauncher when determining version of the JVM
Previously, bootRun assumed that the Java version of the JVM that would
run the application would be the same as the Java version of the JVM
that is running the build. This assumption does not hold true when
Gradle's toolchain support is used to configure tasks that fork a new
JVM to use a version other than that being used by Gradle itself.

This commit updates the BootRun task to query the JavaLauncher property
when determining the version of Java on which the application will be
run. Toolchain support and the JavaLauncher property are new in Gradle
6.7. To support earlier versions of Gradle, NoSuchMethodError is caught
we continue as if no JavaLauncher has been configured and use the local
JVM's Java version.

Fixes gh-24512
2021-01-11 10:36:16 +00:00
Andy Wilkinson 45f298bc7a Merge branch '2.4.x'
Closes gh-24711
2021-01-08 17:08:52 +00:00
Andy Wilkinson 9e389c8376 Merge branch '2.3.x' into 2.4.x
Closes gh-24710
2021-01-08 17:07:45 +00:00
Andy Wilkinson 5ad4d627fd Fix classpath index so entries match those expected by the launcher
This reverts commit ad164269e9 and adds
some additional tests.

Fixes gh-24192
2021-01-08 15:32:19 +00:00
Scott Frederick c82165694d Merge branch '2.4.x'
Closes gh-24690
2021-01-07 16:00:03 -06:00
Scott Frederick 210438ee5b Merge branch '2.3.x' into 2.4.x
Closes gh-24689
2021-01-07 15:59:37 -06:00
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
2021-01-07 15:59:02 -06:00
Stephane Nicoll ca1ad1488d Merge branch '2.4.x' 2021-01-04 16:40:23 +01:00
Stephane Nicoll c19f7e696e Polish
See gh-24597
2021-01-04 16:39:27 +01:00
Stephane Nicoll b070c39ac3 Merge branch '2.4.x'
Closes gh-24598
2020-12-23 09:15:25 +01:00
Stephane Nicoll 4cdfd6f13d Polish "Handle missing manifest files in JarTypeFilter"
See gh-24597
2020-12-23 09:12:58 +01:00
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
2020-12-23 09:11:24 +01:00
Stephane Nicoll a6c6655c82 Polish "Upgrade to Jackson 2.12.0"
Guard breaking change to PropertyNamingStrategies so that we tolerate
older Jackson versions.

See gh-24415
2020-12-21 15:51:52 +01:00
Valery Yatsynovich 1f63b82c5b Upgrade to Jackson 2.12.0
See gh-24415
2020-12-21 15:27:44 +01:00
Marten Deinum 5121ca5d17 Reduce the overhead of char[] creation
See gh-24204
2020-12-21 10:21:49 +01:00
Stephane Nicoll c063c3434d Merge branch '2.4.x'
Closes gh-24581
2020-12-21 10:03:31 +01:00
Stephane Nicoll 09fa16c58c Merge branch '2.3.x' into 2.4.x 2020-12-21 09:59:33 +01:00
Stephane Nicoll 306b964ce3 Fix multi-release JAR test on JDK 16
See gh-24453
2020-12-21 09:59:01 +01:00
Phillip Webb 82791b4eda Improve performance of Tomcat 'jar:war:file' URLs
Update jar `Handler` fallback logic to directly support Tomcat
'jar:war:file' URLs. This commit allows contents to be accessed without
the JDK needing to extracted the nested jar to the temporary folder.

Closes gh-24553
2020-12-17 22:51:19 -08:00
Phillip Webb 0730949325 Merge branch '2.3.x' into 2.4.x
Closes gh-24554
2020-12-17 20:47:13 -08:00
Phillip Webb c4e41305d5 Prevent Tomcat URL "reflective access" warnings
Update the jar `Handler` class to support a non-reflective fallback
mechanism when possible. The updated code attempts to capture a regular
jar URL before our handler is installed. It can then use that URL as
context when creating the a fallback URL. The JDK jar `Handler` will
be copied from the context URL to the fallback URL.

Without this commit, resolving new Tomcat URLs of the form
`jar:war:file:...` would result in an ugly "Illegal reflective access"
warning.

Fixes gh-18631
2020-12-17 20:43:41 -08:00
Scott Frederick 4e603d9239 Merge branch '2.3.x' into 2.4.x
Closes gh-24538
2020-12-16 15:59:28 -06:00
Scott Frederick e4d124dc45 Improve error message with Maven build-image and war packaging
Fixes gh-24522
2020-12-16 15:58:53 -06:00
Scott Frederick dfcabe1665 Merge branch '2.3.x' into 2.4.x
Fixes gh-24521 in 2.4.2
2020-12-16 14:53:55 -06:00
Scott Frederick 0e5df2296e Fail with Gradle bootBuildImage and war packaging
Prior to this commit, running the bootBuildImage Gradle task on a
project configured for war packaging would result in a jar file being
built and used in the image instead of the war file. With this commit
an error will be thrown from the plugin in this case.

Fixes gh-24521
2020-12-16 13:23:43 -06:00
Andy Wilkinson 5fdb2ae2fd Protect PluginApplicationActions against absent plugin classes
Closes gh-24526
2020-12-16 09:51:25 +00:00
Phillip Webb 4fba7d0c60 Merge branch '2.3.x' into 2.4.x 2020-12-15 19:48:52 -08:00
Phillip Webb 29300530c6 Polish 2020-12-15 19:44:40 -08:00
Phillip Webb 72d36e0c07 Update copyright year of changed files 2020-12-10 10:46:04 -08:00
Phillip Webb cd5ff6e4af Merge branch '2.3.x'
Closes gh-24404
2020-12-08 12:13:02 -08:00
Phillip Webb 11f285bde5 Merge branch '2.2.x' into 2.3.x
Closes gh-24403
2020-12-08 12:12:51 -08:00
Phillip Webb 30c27274e2 Merge branch '2.3.x'
Closes gh-24339
2020-12-04 18:31:55 -08:00
Phillip Webb 5f351a6983 Merge branch '2.2.x' into 2.3.x
Closes gh-24338
2020-12-04 18:21:57 -08:00
Phillip Webb 837fc83527 Fix checkstyle header violations
See gh-24337
2020-12-04 18:05:53 -08:00
Scott Frederick da2276e7d4 Use stable builder and run images in integration tests
Fixes gh-24183
2020-11-17 13:54:10 -06:00
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
2020-11-10 16:19:05 -06:00
Andy Wilkinson 21d97524d8 Merge branch '2.3.x'
Closes gh-24112
2020-11-10 17:38:30 +00:00
Andy Wilkinson e6ab20b029 Merge branch '2.2.x' into 2.3.x
Closes gh-24111
2020-11-10 17:37:41 +00:00
Andy Wilkinson 31042bfc49 Test inclusion of system scope dependencies in repackaged war
Closes gh-22503
2020-11-10 17:35:04 +00:00
Stephane Nicoll b6fc0913cf Merge branch '2.3.x'
Closes gh-24104
2020-11-10 17:44:05 +01:00
Stephane Nicoll 515b18e142 Merge branch '2.3.x'
Closes gh-24108
2020-11-10 17:10:26 +01:00
Stephane Nicoll 9e901b6e07 Upgrade to Testcontainers 1.15.0
Closes gh-24103
2020-11-10 16:24:16 +01:00
Stephane Nicoll 23ad2b4156 Rationalize Testcontainers image versions
This commit rationalizes the Docker image names used in integration
tests.

Closes gh-24107
2020-11-10 16:04:27 +01:00
Stephane Nicoll 45f1133e1e Merge branch '2.3.x' 2020-11-10 09:49:49 +01:00
Stephane Nicoll 339c8d0a26 Revert "Upgrade to Testcontainers 1.15.0" 2020-11-10 09:47:46 +01:00
Stephane Nicoll 5123eb0c74 Fix deprecation in Testcontainers 1.15.0
See gh-24103
2020-11-10 09:39:18 +01:00
Stephane Nicoll 7fb21fbff3 Merge branch '2.3.x'
Closes gh-24104
2020-11-10 08:47:51 +01:00
Stephane Nicoll c1a1b5fe71 Upgrade to Testcontainers 1.15.0
Closes gh-24103
2020-11-10 08:46:15 +01:00
Stephane Nicoll 33d83ebc94 Merge branch '2.3.x' 2020-11-09 14:41:03 +01:00
Stephane Nicoll 6aca0275ad Polish 2020-11-09 14:40:44 +01:00
Andy Wilkinson 409e3ccecf Ignore resolution of copied configuration
When a Configuration is copied, any before and after resolve actions
that are registered with its ResolvableDependencies are also copied
over. This means that, when a copied configuration is resolved the
resolution actions may be called on a ResolvableDependencies instances
that isn't the one to which they were added.

Previously, the above-described Gradle behaviour would result in
BootJar accessed the ResolvedConfiguration of a Configuration that may
not have yet been resolved. At best this would trigger Configuration
resolution and at worst it would fail. A failure could occur if the
configuration had been copied so that it could be made resolvable.
The afterResolve action would then try to access the
ResolvedConfiguration of the original Configuration. This would trigger
a resolution attempt that fails due to the original configuration being
marked as unresolvable.

This commit updates the afterResolve action in BootJar to check that
the ResolvableDependencies with which it is called matches the
ResolvableDependencies with which it was original registered. Only
when the two match, and therefore the configuration has actually been
resolved, does processing proceed.

Fixes gh-24072
2020-11-09 10:21:41 +00:00
Stephane Nicoll 946be4eab6 Merge branch '2.3.x'
Closes gh-24059
2020-11-05 16:33:28 +01:00
Stephane Nicoll 4a8646bd09 Merge branch '2.2.x' into 2.3.x
Closes gh-24058
2020-11-05 16:32:52 +01:00
Stephane Nicoll 59ea7c11f6 Use most specific getter when generating metadata
This commit makes sure to use the most specific getter if more than
one candidate exists.

Closes gh-24002
2020-11-05 16:01:28 +01:00
Andy Wilkinson bbad377ecc Merge branch '2.3.x'
Closes gh-24017
2020-11-03 18:00:22 +00:00
Andy Wilkinson f3d4b3e5ac Allow entries to be streamed from JarURLConnections' jar file
Fixes gh-23821
2020-11-03 17:59:38 +00:00
izeye 9c35cd41ad Polish
See gh-23986
2020-11-01 17:07:50 +01:00
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
2020-10-29 19:40:13 -05:00
Phillip Webb a41ff4dfab Merge branch '2.3.x' 2020-10-29 09:07:57 -07:00
Phillip Webb b0c2687aa9 Update copyright year of changed files 2020-10-29 09:07:42 -07:00
Andy Wilkinson 5642dc6d13 Merge branch '2.3.x'
Closes gh-23970
2020-10-29 15:31:59 +00:00
Andy Wilkinson 70d9602b3f Merge branch '2.2.x' into 2.3.x
Closes gh-23969
2020-10-29 15:31:12 +00:00
Andy Wilkinson e7eb7739dc Use overriding rather than overridden getter methods in config prop AP
Fixes gh-23966
2020-10-29 15:30:46 +00:00
Phillip Webb 74e06e8e6a Refine MetadataCollector logic
Update `MetadataCollector` merge logic so that previous items are no
longer added if the current round contains a property of the same name.

Fixes gh-23916
2020-10-28 21:59:06 -07:00
Phillip Webb 23e5fd798c Merge branch '2.3.x'
Closes gh-23960
2020-10-28 21:18:42 -07:00
Phillip Webb b86dcbec72 Merge branch '2.2.x' into 2.3.x
Closes gh-23959
2020-10-28 21:18:17 -07:00
Phillip Webb cf09451ffb Retain inner-class data on incremental compile
Ensure that metadata sourced from inner-types is not deleted when
performing an incremental compile. Prior to this commit, the source
type was searched using the `Outer$Inner` format. This is not supported
`Elements.getTypeElement` so we now convert the names to `Outer.Inner`.

Closes gh-10886
2020-10-28 21:13:08 -07:00
Scott Frederick 04a40a4c68 Provide content-length header to Docker API calls
Docker daemon authorization plugins reject POST or PUT requests that have a
content type `application/json` header but no content length header. This
commit ensures that a content length header is provided in these cases.

This is a cherry-pick of the changes in d5b2836ec9
which were lost in a forward-merge.

Fixes gh-23957
2020-10-28 17:31:27 -05:00
Phillip Webb b39d1910bc Fix test failure caused by MavenBuild upgrades
See gh-23937
2020-10-28 14:07:27 -07:00
Scott Frederick d5b2836ec9 Provide content-length header to Docker API calls
Docker daemon authorization plugins reject POST or PUT requests that have a
content type `application/json` header but no content length header. This
commit ensures that a content length header is provided in these cases.

Fixes gh-22840
2020-10-28 15:15:32 -05:00
Phillip Webb d43760ba5a Merge branch '2.3.x'
Closes gh-23938
2020-10-28 12:39:08 -07:00
Phillip Webb d79c23ef89 Upgrade MavenBuild versions
Align versions with those in the main build.

Closes gh-23937
2020-10-28 12:37:30 -07:00
Sebastian Nohn b3c4d5fe5c Upgrade to Log4j 2.13.3 in Maven tests
See gh-23935
2020-10-28 12:15:33 -07:00
Stephane Nicoll 472c563451 Merge branch '2.3.x'
Closes gh-23931
2020-10-28 16:20:22 +01:00
Stephane Nicoll 0424689aee Merge branch '2.2.x' into 2.3.x
Closes gh-23930
2020-10-28 16:18:00 +01:00
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
2020-10-28 13:39:03 +01:00
Stephane Nicoll a3818d690e Fix custom layout example so that tokens are replaced 2020-10-28 13:37:59 +01:00
Stephane Nicoll 59bcbd4885 Polish "Allow overriding image.cleanCache from the command-line"
See gh-32719
2020-10-26 10:44:57 +01:00
Kedar Joshi c2a483a78f Allow overriding image.cleanCache from the command-line
See gh-32719
2020-10-26 10:44:57 +01:00
Andy Wilkinson c85cc33ca9 Fix main class resolution failure when loaded from config cache
See gh-22922
2020-10-25 08:05:59 +00:00
Andy Wilkinson 7cbcd42eba Adapt test to cope with increased Instant precision on Java 11
See gh-22922
2020-10-23 14:38:36 +01:00
Andy Wilkinson 4a4fec6310 Avoid calling getProject() during BootBuildImage's execution
See gh-22922
2020-10-23 13:23:52 +01:00