Commit Graph

2026 Commits (65efc75c6f291a9c38cea643a6efc5db0fdc5dca)

Author SHA1 Message Date
Phillip Webb cfeafee826 Polish 3 years ago
dreis2211 cf0fcafd13 Polish
See gh-27940
3 years ago
Scott Frederick 96238ba8b7 Expose default value for imageName in bootBuildImage task
Fixes gh-28040
3 years ago
Scott Frederick a6d03279ca Merge branch '2.5.x'
Closes gh-27994
3 years ago
Scott Frederick a540da11ad Merge branch '2.4.x' into 2.5.x
Closes gh-27993
3 years ago
Scott Frederick c8ff874e91 Add builderFor label to ephemeral builder image
Adding a label to the ephemeral builder image cloned from the base
builder image eliminates contention between builds that are run
concurrently. Without this label, concurrent builds could result in
a race condition in the Docker daemon if the ephemeral builder image
shared by builds was deleted by both builds at exactly the same time.

Fixes gh-27888
3 years ago
Andy Wilkinson 7c034c33e2 Merge branch '2.5.x'
Closes gh-27967
3 years ago
Andy Wilkinson f530819d68 Merge branch '2.4.x' into 2.5.x
Closes gh-27966
3 years ago
Andy Wilkinson 273600bcdd Retain distinction between compile and runtime deps of optional deps
Previously, the optional configuration was added to the compile and
runtime classpaths of each source set and the the javadoc classpath
as well. This had a few disadvantages, the most notable of which is
that it meant that the configuration was ifrst resolved and then
the outcome of the resolution was added to the compile and runtime
classpaths. As a result, none of the attributes on the compile and
runtime classpaths were considered to influence variant selection.

This commit reworks the optional dependencies plugin so that the
compile and runtime classpaths of each source set are now configured
to extend from the optional configuration. This allows each
classpath configuration's attributes to influence the dependencies
that are selected from the optional configuration during resolution.
For example, when resolving the compile classpath, compile
dependencies (Usage.JAVA_API) will be selected and when resolving the
runtime classpath, runtime dependencies (Usage.JAVA_RUNTIME) will be
selected.

The above-described change means that runtime dependencies of an
optional dependencies will no longer leak into the compile classpath.
As a result of this, our Gradle plugin's test infrastructure has
been updated so that it no longer references runtime dependencies of
the Kotlin Gradle plugin at compile time.

Closes gh-27965
3 years ago
Andy Wilkinson c65013f717 Merge branch '2.5.x'
Closes gh-27901
3 years ago
Andy Wilkinson 37240bda3f Merge branch '2.4.x' into 2.5.x
Closes gh-27900
3 years ago
Andy Wilkinson 47163af9b6 Fix handling of Zip64 jar files larger than 4,294,967,295 bytes
Previously, a Zip64 jar file was identified by the number of entries
in the central directory being 0xFFFF. This value indicates that
there the number of entries is too big for the 2-byte field. However,
a jar may be in Zip64 format due to it exceeding the Zip format's
maximum size rather than its maximum number of entries so this field
cannot be used as a reliable indicator. The Zip specification doesn't
require any of the fields of the end of central directory record to
have a value of 0xFFFF (2-byte fields) or 0xFFFFFFFF (4-byte fields)
when using Zip64 format so we need to take a different approach.

Additionally, a number of places in the code assumed that an entry's
offset would always be available from the central directory file
header directly. This assumption did not hold true when the jar was
a Zip64 archive due to its size as the offset's value would be
0xFFFFFFF indicating that it should be read from the Zip64 extended
information field within the header's extra field instead.

This commit updates the Zip64 detection to look for the Zip64 end of
central directory locator instead. If present, it begins 20 bytes
before the beginning of the end of central directory record. Its
first four bytes are always 0x07064b50. The code that reads the
local header offset has also been updated to refer to the Zip64
extended information field when the offset is too large to fit in
the 4-byte field in the central directory file header. To allow
greater-than-4-byte offsets to be handled, a number of fields,
method parameters, and local variables have had their type changed
from an int to a long.

Fixes gh-27822
3 years ago
Andy Wilkinson 8362ff9b54 Merge branch '2.5.x'
Closes gh-27886
3 years ago
Andy Wilkinson ba19577646 Merge branch '2.4.x' into 2.5.x
Closes gh-27885
3 years ago
Andy Wilkinson 93ac6455d3 Document that starter parent enables compilation with -parameters
Closes gh-27762
3 years ago
Scott Frederick f386ebe61d Remove tests that rely on an unpredictable order of repackaged libs
See gh-27436
3 years ago
Scott Frederick 40a9c4d90f Sort repackaged libraries in a reproducible Maven build
When a Maven build is configured to ensure reproducibility, any
libraries added to `BOOT-INF/lib` in a jar archive or to `WEB-INF/lib`
in a war archive by the Spring Boot plugin repackaging should be
sorted by name to ensure a stable and predictable order.

Fixes gh-27436
3 years ago
Andy Wilkinson fd2fbcb3c6 Merge branch '2.5.x'
Closes gh-27758
3 years ago
Andy Wilkinson 6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
3 years ago
Andy Wilkinson ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
3 years ago
izeye 8a425dedfd Polish access modifiers for test classes
See gh-27736
3 years ago
Andy Wilkinson 8966b1308b Merge branch '2.5.x'
Closes gh-27733
3 years ago
Andy Wilkinson b4f0f29bff Test our Gradle plugin against Gradle 7.2
Closes gh-27732
3 years ago
Andy Wilkinson 79be0766bc Merge branch '2.5.x'
Closes gh-27731
3 years ago
Andy Wilkinson ea641d3aab Merge branch '2.4.x' into 2.5.x
Closes gh-27730
3 years ago
Andy Wilkinson 29f5570208 Stop s-b-configuration-metadata leaking enforced constraints
Fixes gh-27726
3 years ago
Scott Frederick 2178c281e9 Polish "Add network option for image building"
See gh-27486
3 years ago
Jeroen Meijer 8e6d03b221 Add network option for image building
This commit adds configuration to the Maven and Gradle plugins to
allow specifying the network mode to be provided to the image
building goal and task.

See gh-27486
3 years ago
Andy Wilkinson 1966d1650b Merge branch '2.5.x'
Closes gh-27650
3 years ago
Andy Wilkinson 119fb6948d Test our Gradle plugin against Gradle 7.2-rc-3
Closes gh-27640
3 years ago
Andy Wilkinson c43c22283d Merge branch '2.5.x'
Closes gh-27621
3 years ago
Andy Wilkinson f19fff4c64 Merge branch '2.4.x' into 2.5.x
Closes gh-27620
3 years ago
Andy Wilkinson d4d1ca007e Mention productionRuntimeClasspath in the docs
Closes gh-27558
3 years ago
Andy Wilkinson ee669dbf11 Merge branch '2.5.x'
Closes gh-27594
3 years ago
Andy Wilkinson 7610fe02c5 Test our Gradle plugin against 7.2-rc-2
Closes gh-27593
3 years ago
Stephane Nicoll 9826304e29 Merge branch '2.4.x' into 2.5.x
Closes gh-27557
3 years ago
izeye 9f44cefc56 Use deprecated mainClassName in Gradle test
See gh-27537
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
Andy Wilkinson 2482607a06 Merge branch '2.5.x'
Closes gh-27526
3 years ago
Andy Wilkinson 533bb24b55 Merge branch '2.4.x' into 2.5.x
Closes gh-27525
3 years ago
Andy Wilkinson ad2d9c0ab1 Customize Cassandra's configuration to reduce container startup time
Closes gh-27524
3 years ago
Andy Wilkinson cdad8e2b7f Merge branch '2.5.x' 3 years ago
Andy Wilkinson 85054723f0 Reinstate GradleProjectBuilder for compatibility with JDK17-ea32
See gh-27521
3 years ago
Andy Wilkinson 23c4674352 Merge branch '2.5.x'
Closes gh-27522
3 years ago
Andy Wilkinson ca5af2d456 Test our Gradle plugin against Gradle 7.2-rc-1
Closes gh-27521
3 years ago
Andy Wilkinson 04dc62904f Merge branch '2.4.x' into 2.5.x
Closes gh-27495
3 years ago
Andy Wilkinson 5d9da7206e Limit use of deprecated mainClassName in Gradle plugin tests
Closes gh-27320
3 years ago
Andy Wilkinson 681df90d33 Generate metadata for records using implicit constructor binding
Closes gh-27216
3 years ago
Andy Wilkinson 37f690323f Polish
Closes gh-27432
3 years ago
Scott Frederick 9f001efa29 Adjust fat jar central directory to account for launch script
An upgrade to Apache Commons Compress allows the build plugins to write
the launch script to the fat jar as a proper preamble, making the file
compatible with more jar and zip tooling.

Fixes gh-22336
3 years ago
Scott Frederick a0b32251eb Split gradle test support into a separate module
See gh-25824
3 years ago
Andy Wilkinson 25234219ce Merge branch '2.5.x'
Closes gh-27365
3 years ago
dreis2211 be38ce3645 Disable Gradle plugin tests that fail on JDK 17
See gh-27328
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
Stephane Nicoll dc5acb0019 Remove deprecated code flagged for removal
Closes gh-27303
3 years ago
Stephane Nicoll d67089cdfe Merge branch '2.5.x'
Closes gh-27236
3 years ago
dreis2211 dacfe27350 Fix tests for multi-release JARs on JDK 17
See gh-27229
3 years ago
Scott Frederick 18c7c0af22 Add Paketo image building system tests
A new system test plugin is being made available for running test
suites that should be run less frequently than with every commit, such
as tests that verify Spring Boot compatibility with external
projects. CI pipeline configuration for running system tests is also
provided.

The first system tests verify the behavior of the Spring Boot image
building plugins when building images using Paketo buildpacks.

Closes gh-25824
3 years ago
Andy Wilkinson 5ebe2f4539 Merge branch '2.5.x'
Closes gh-27192
3 years ago
dreis2211 00d3330c9a Avoid illegal reflective access on ZipEntry.xdostime
See gh-27100
3 years ago
Andy Wilkinson 87591d94ee Merge branch '2.5.x'
Closes gh-27188
3 years ago
Andy Wilkinson ff79787def Avoid using deprecated API to get Kotlin Plugin's version
Closes gh-27090
3 years ago
Andy Wilkinson 7c744db0e9 Merge branch '2.5.x'
Closes gh-27180
3 years ago
Andy Wilkinson c21791e671 Test our Gradle plugin against Gradle 7.1.1
Closes gh-27142
3 years ago
Phillip Webb d00db60bab Merge branch '2.5.x' 3 years ago
Phillip Webb dfbd82b838 Fix Kotlin 1.5.20 classpath issues
See gh-27086
3 years ago
Phillip Webb 716e8ab717 Merge branch '2.5.x' 3 years ago
Phillip Webb d44207161f Suppress Kotlin 1.5.20 deprecation warning
See gh-27086
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 e85b0c7012 Merge branch '2.5.x' 3 years ago
Phillip Webb fd83158fa5 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb 63ed921554 Restore simple Library constructor
See gh-15808
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
Andy Wilkinson 752a92960c Merge branch '2.5.x'
Closes gh-27001
3 years ago
Andy Wilkinson 07e7398d10 Include 6.9.x in version requirements message
Fixes gh-26952
3 years ago
Andy Wilkinson 9025529dcf Merge branch '2.5.x'
Closes gh-26998
3 years ago
Andy Wilkinson 8405df10b8 Merge branch '2.4.x' into 2.5.x
Closes gh-26997
3 years ago
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
3 years ago
Andy Wilkinson 897a7196c0 Merge branch '2.5.x'
Closes gh-26948
3 years ago
Andy Wilkinson a2772e288a Merge branch '2.4.x' into 2.5.x
Closes gh-26947
3 years ago
Andy Wilkinson cd808d2f18 Only get Kotlin plugin's version once we know we need it
Fixes gh-26946
3 years ago
Andy Wilkinson 043cf88687 Merge branch '2.5.x'
Closes gh-26905
3 years ago
Andy Wilkinson 6a51c272b9 Test our Gradle plugin against Gradle 7.1
Closes gh-26904
3 years ago
Andy Wilkinson 0ec598c99d Merge branch '2.5.x' 3 years ago
Andy Wilkinson 9e2339b5d0 Merge branch '2.4.x' into 2.5.x 3 years ago
Andy Wilkinson 16bfa669e1 Polish authors separators 3 years ago
Andy Wilkinson bc715c64b1 Merge branch '2.5.x'
Closes gh-26892
3 years ago
Andy Wilkinson 5f26fd9ccb Merge branch '2.4.x' into 2.5.x
Closes gh-26891
3 years ago
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
3 years ago
Stephane Nicoll b7f126020e Update copyright year of change file
See gh-26422
3 years ago
Marcus Klimstra 10ffaffb7b Improve configuration of Start and Stop goals
See gh-26422
3 years ago
Stephane Nicoll 69c2621a14 Polish "Add support for @Value annotation"
See gh-26337
3 years ago
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
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
Andy Wilkinson de410b7621 Merge branch '2.4.x'
Closes gh-26828
3 years ago
Andy Wilkinson a1c5fcca58 Move common Asciidoctor configuration into our conventions
Closes gh-26620
3 years ago
Andy Wilkinson 03f8a46c80 Test our Gradle plugin against 7.1-rc-2
Closes gh-26825
3 years ago
Phillip Webb f798f26596 Merge branch '2.4.x' 3 years ago
Phillip Webb 4d62e47c5d Merge branch '2.3.x' into 2.4.x 3 years ago
Phillip Webb 9e1c78da99 Update copyright year of changed files 3 years ago
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
3 years ago
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
3 years ago
Scott Frederick fba5ffc626 Fix FilePermissionsTests on Windows
See gh-26658
3 years ago
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
3 years ago
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
4 years ago
Stephane Nicoll aff1366731 Polish "Fix typo in 'Reacting to the Maven plugin' title"
See gh-26751
4 years ago
Abel Salgado Romero 9eea502c3e Fix typo in 'Reacting to the Maven plugin' title
See gh-26751
4 years ago
Stephane Nicoll 75f31f6bc4 Merge branch '2.4.x'
Closes gh-26748
4 years ago
Stephane Nicoll ad99aa2f4a Merge branch '2.3.x' into 2.4.x
Closes gh-26747
4 years ago
dreis2211 f470151535 Remove reference to surefirebooter JAR
See gh-26737
4 years ago
Phillip Webb 02494d63d2 Merge branch '2.4.x'
Closes gh-26744
4 years ago
Phillip Webb 1cda557d03 Merge branch '2.3.x' into 2.4.x
Closes gh-26743
4 years ago
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
4 years ago
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
4 years ago
Stephane Nicoll e9ed92a305 Polish 4 years ago
Phillip Webb d3f0f04f05 Merge branch '2.4.x'
Closes gh-26703
4 years ago
Phillip Webb 49d3ecc2b2 Merge branch '2.3.x' into 2.4.x
Closes gh-26702
4 years ago
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
4 years ago
Phillip Webb 5258c26f90 Merge branch '2.4.x' 4 years ago
Phillip Webb 49c30854af Rename PRODUCTION_RUNTIME_CLASSPATH_NAME
Rename the now public constant for consistency with the JavaPlugin.

See gh-26686
4 years ago
Phillip Webb ac0c1b1456 Merge branch '2.4.x'
Closes gh-26687
4 years ago
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
4 years ago
Stephane Nicoll cb7c3774a7 Merge branch '2.4.x'
Closes gh-26646
4 years ago
Stephane Nicoll 942691753d Merge branch '2.3.x' into 2.4.x
Closes gh-26645
4 years ago
dreis2211 01ee6190a2 Remove workaround for SUREFIRE-1679
See gh-26632
4 years ago
Phillip Webb ab958d2394 Include io.spring.asciidoctor.backends group
Update `repositories` declaration to include the
'io.spring.asciidoctor.backends' group.

See gh-26293
4 years ago
Phillip Webb f0896c2de6 Rework title anchors for maven docs
Closes gh-26617
4 years ago
Phillip Webb 1702c9fc3d Rework title anchors for gradle docs
Closes gh-26618
4 years ago
Phillip Webb 2dbf39c738 Polish asciidoc formatting 4 years ago
Phillip Webb 8a3f835ffe Set Asciidoctor attribute-missing to warn
Closes gh-26590
4 years ago
Stephane Nicoll 582d7b46fd Merge branch '2.4.x'
Closes gh-26571
4 years ago
Stephane Nicoll ef093bc9c6 Merge branch '2.3.x' into 2.4.x
Closes gh-26570
4 years ago
Stephane Nicoll 306b6f6999 Configure SessionCookieConfig in MockServletWebServer
Closes gh-26479
4 years ago
Stephane Nicoll d3c817b7ba Polish "Remove unnecessary throws declaration in tests"
See gh-26441
4 years ago
weixsun 8a2be288a3 Remove unnecessary throws declaration in tests
See gh-26441
4 years ago
Andy Wilkinson 1db8ca60aa Test our Gradle plugin against Gradle 7.0.2
Closes gh-26464
4 years ago
Andy Wilkinson f92510e39d Merge branch '2.4.x'
Closes gh-26451
4 years ago
Andy Wilkinson 970f933806 Merge branch '2.3.x' into 2.4.x
Closes gh-26450
4 years ago
Andy Wilkinson 2dd94b5554 Polish "Use try-with-resources statement"
See gh-26449
4 years ago
weixsun 5ba9db391f Use try-with-resources statements
See gh-26449
4 years ago
Scott Frederick e9adb1ab88 Handle long file names in buildpack images
Fixes gh-26445
4 years ago
Scott Frederick b62905b91d Merge branch '2.4.x'
Closes gh-25840
4 years ago
Scott Frederick 8ac297d6f3 Merge branch '2.3.x' into 2.4.x
Closes gh-25839
4 years ago
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
4 years ago
Andy Wilkinson 07de9e3920 Merge branch '2.4.x' 4 years ago
Andy Wilkinson e29d2e208e Merge branch '2.3.x' into 2.4.x 4 years ago
Andy Wilkinson b3af6d6403 Polish
See gh-25798
4 years ago
dreis2211 ba2a4781d2 Test our Gradle Plugin against Gradle 7.0.1
See gh-26420
4 years ago
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
4 years ago
Andy Wilkinson dc5f115c04 Document support for Gradle 6.9
Closes gh-26409
4 years ago
Andy Wilkinson b3071dab91 Merge branch '2.4.x'
Closes gh-26412
4 years ago
Andy Wilkinson fe4d20c976 Merge branch '2.3.x' into 2.4.x
Closes gh-26411
4 years ago
Andy Wilkinson 6daf67a88c Upgrade to Gradle 6.9
Closes gh-26408
4 years ago
Stephane Nicoll b4424605af Merge branch '2.4.x'
Closes gh-26406
4 years ago
Stephane Nicoll 559af275a4 Merge branch '2.3.x' into 2.4.x
Closes gh-26405
4 years ago
Sach Nguyen afa77b8253 Fix wrong reference to Cassandra in DockerImageNames#couchbase
See gh-26399
4 years ago
Andy Wilkinson 2976fd9165 Merge branch '2.4.x'
Closes gh-26397
4 years ago
Andy Wilkinson fe696ee22a Merge branch '2.3.x' into 2.4.x
Closes gh-26396
4 years ago
Andy Wilkinson ef9e3bafff Test our Gradle plugin against 6.9-rc-2
Closes gh-26395
4 years ago
Andy Wilkinson aeea15be0f Merge branch '2.4.x'
Closes gh-26365
4 years ago
Andy Wilkinson f7fae8f0f2 Merge branch '2.3.x' into 2.4.x
Closes gh-26364
4 years ago
Andy Wilkinson b3275c5647 Align productionRuntimeClasspath with runtimeClasspath
Fixes gh-25798
4 years ago
Andy Wilkinson b976483852 Merge branch '2.4.x'
Closes gh-26330
4 years ago
Andy Wilkinson c0fe23181c Merge branch '2.3.x' into 2.4.x
Closes gh-26329
4 years ago
Andy Wilkinson 94ca2d1e78 Test the Gradle plugin against Gradle 6.9-rc-1
Closes gh-26267
4 years ago
Scott Frederick bb8188b681 Merge branch '2.4.x'
Closes gh-26313
4 years ago
Scott Frederick 17fa215cf5 Merge branch '2.3.x' into 2.4.x
Closes gh-26312
4 years ago
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
4 years ago
Andy Wilkinson fa81b41afc Merge branch '2.4.x'
Closes gh-26301
4 years ago
Andy Wilkinson 94519c33b1 Merge branch '2.3.x' into 2.4.x
Closes gh-26300
4 years ago
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
4 years ago
Stephane Nicoll 52994027f4 Fix checkstyle violation 4 years ago
Stephane Nicoll 7465eb0f03 Merge branch '2.4.x' 4 years ago
Stephane Nicoll 85e1cc4d65 Fix checkstyle violation 4 years ago
Stephane Nicoll 09ae65e3b7 Merge branch '2.4.x'
Closes gh-26277
4 years ago
Stephane Nicoll 05b09907e0 Merge branch '2.3.x' into 2.4.x
Closes gh-26275
4 years ago
Stephane Nicoll d610f3c2ff Polish "Fix ordering of metadata entries"
See gh-26230
4 years ago
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
4 years ago
Stephane Nicoll 9e3c3b73ac Merge branch '2.4.x' 4 years ago
Stephane Nicoll d98fe36b88 Merge branch '2.3.x' into 2.4.x 4 years ago
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
4 years ago
Andy Wilkinson 6953da2013 Merge branch '2.4.x'
Closes gh-26257
4 years ago
Andy Wilkinson a1138efc5f Merge branch '2.3.x' into 2.4.x
Closes gh-26256
4 years ago
Andy Wilkinson a470c1af3a Align documentation with main default branch name
Closes gh-26255
4 years ago
Slawomir Jaranowski 50118f67fd Test Maven plugin against latest Maven versions
See gh-26200
4 years ago
Andy Wilkinson b9348c6d28 Merge branch '2.4.x'
Closes gh-26169
4 years ago
Andy Wilkinson bc1a462143 Merge branch '2.3.x' into 2.4.x
Closes gh-26168
4 years ago
Andy Wilkinson 82198a99e0 Polish nohttp configuration
Closes gh-26166
4 years ago
Stephane Nicoll 548baf7914 Update copyright year of changed file
See gh-26145
4 years ago
izeye 996472b42d Polish
See gh-26145
4 years ago
Phillip Webb b4c9bb0d5c Merge branch '2.4.x'
Closes gh-26122
4 years ago
Phillip Webb fb3796dae8 Merge branch '2.3.x' into 2.4.x
Closes gh-26121
4 years ago
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
4 years ago
Andy Wilkinson b0cce645dd Use a non-deprecated class to identify kotlin-gradle-plugin-api jar
See gh-26080
4 years ago
Andy Wilkinson 6f2b4aa685 Upgrade to Kotlin 1.5.0-RC
Closes gh-26080
Closes gh-25498
4 years ago
Andy Wilkinson c4750fd0ff Support Gradle 7 and raise minimum supported version to 6.8
Closes gh-26026
4 years ago
dreis2211 db79fe8b2c Test our Gradle Plugin against Gradle 7.0
See gh-25997
4 years ago
Scott Frederick 5bc35e8f44 Extract XML example from Maven plugin adoc file
See gh-25993
4 years ago
Scott Frederick e27d4848dd Merge branch '2.4.x'
Closes gh-25993
4 years ago
Scott Frederick 6a7f1f1c56 Merge branch '2.3.x' into 2.4.x
Closes gh-25992
4 years ago
Scott Frederick e19443093d Document runtime JVM configuration when building an image
Fixes gh-21478
4 years ago
Scott Frederick 86303c017b Merge branch '2.4.x'
Closes gh-25938
4 years ago
Scott Frederick 9108b81bb2 Merge branch '2.3.x' into 2.4.x
Closes gh-25937
4 years ago
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
4 years ago
Andy Wilkinson 8b5f914ba5 Revert "Merge branch '2.4.x'"
This reverts commit 97b26b4886, reversing
changes made to 6f9b1ed6a3.

See gh-25840
4 years ago
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
4 years ago
Andy Wilkinson b35d1ec6e8 Revert "Use test harness for image building integration tests"
This reverts commit da9d8d6055.

See gh-25838
4 years ago
Phillip Webb 807ea1af0d Update copyright year of changed files 4 years ago
Andy Wilkinson 095ff18854 Test our Gradle plugin against Gradle 7.0-rc-2
Closes gh-25888
4 years ago
Scott Frederick 5595fb2423 Polish "Extract XML examples from Maven plugin adoc files"
See gh-25534
4 years ago
robert-smith-911 4e287594bf Extract XML examples from Maven plugin adoc files
See gh-25534
4 years ago
Scott Frederick 97b26b4886 Merge branch '2.4.x'
Closes gh-25840
4 years ago
Scott Frederick 586ce00e06 Merge branch '2.3.x' into 2.4.x
Closes gh-25839
4 years ago
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
4 years ago
Andy Wilkinson 6f9b1ed6a3 Merge branch '2.4.x'
See gh-25837
4 years ago
Andy Wilkinson 563b8a8cec Merge branch '2.3.x' into 2.4.x
See gh-25836
4 years ago
Andy Wilkinson e94f8bba62 Ensure that upstream jars have been built
See gh-25835
4 years ago
Andy Wilkinson df4b1ffb0d Merge branch '2.4.x'
Closes gh-25837
4 years ago
Andy Wilkinson 38a4f135a9 Merge branch '2.3.x' into 2.4.x
Closes gh-25836
4 years ago
Andy Wilkinson ca9a619259 Defer processing of zipTree source until execution time
Closes gh-25835
4 years ago
Andy Wilkinson 09173b81d6 Merge branch '2.4.x'
Closes gh-25833
4 years ago
Andy Wilkinson 7a846ad41f Merge branch '2.3.x' into 2.4.x
Closes gh-25832
4 years ago
Andy Wilkinson 5a086321c6 Polish "Document Failsafe configuration when not using starter parent"
See gh-25621
4 years ago
robert-smith-911 0d79fd3e01 Document Failsafe configuration when not using starter parent
See gh-25621
4 years ago
Phillip Webb 8c31d29acf Merge branch '2.4.x' 4 years ago
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 c9451b59f2 Merge branch '2.4.x' 4 years ago
Phillip Webb a0f5169966 Polish 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
dreis2211 a9a37f0dd5 Increase test coverage on Java 16
See gh-25809
4 years ago
Scott Frederick 3ad5f1013a Fix Maven image building with classifiers
Fixes gh-25736
4 years ago
Andy Wilkinson 340893747b Merge branch '2.4.x'
Closes gh-25799
4 years ago
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
4 years ago
Phillip Webb deaff1a522 Merge branch '2.4.x'
Closes gh-25775
4 years ago
Phillip Webb ca9fae6b47 Merge branch '2.3.x' into 2.4.x
Closes gh-25774
4 years ago
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
4 years ago