Commit Graph

3325 Commits

Author SHA1 Message Date
Phillip Webb 100bedc07d Merge branch '3.2.x' into 3.3.x
Closes gh-42440
2024-09-24 14:29:09 -07:00
Phillip Webb ad72411e2b Apply conventions plugin to all subprojects
Closes gh-42438
2024-09-24 14:26:32 -07:00
Phillip Webb 72f379a5b2 Merge branch '3.2.x' into 3.3.x
Closes gh-42434
2024-09-24 13:01:05 -07:00
Phillip Webb eafe61c4ca Backport upgrade to Gradle 8.10.1
Cherry-pick commits d756bf4e86, 083ac67d13 and 162c929a80 to
upgrade to Gradle 8.10.1.

Closes gh-42433
2024-09-24 12:55:29 -07:00
Phillip Webb 593862b082 Merge branch '3.2.x' into 3.3.x
Closes gh-42417
2024-09-22 17:52:37 -07:00
arefbehboudi 0d3fceec5d Polish
See gh-42413
2024-09-22 17:45:59 -07:00
Andy Wilkinson 4a6793eab5 Merge branch '3.2.x' into 3.3.x
Closes gh-42357
2024-09-18 14:55:35 +01:00
Andy Wilkinson 1240c59482 Only configure plugin classpath where it's needed
When spring-boot-gradle-plugin is using GradleRunner, it needs to be
configured with a custom plugin classpath to account for the fact
that our Gradle plugin is on the classpath of the system classloader
but some of the other plugins would only be available on a
Gradle-created classloader. This imbalance cause class loading
problems as code in spring-boot-gradle-plugin can't see types at
runtime that are only available on the Gradle-created classloader.

To overcome this, we need to configure the GradleRunner with a custom
plugin classpath that contains both spring-boot-gradle-plugin and all
of the other plugins that are used in its various integration tests.
Previously, this was done in GradleBuild that's used by both
spring-boot-gradle-plugin and spring-boot-image-tests. This caused
a problem as spring-boot-image-tests does not have the
above-described problem and trying to correct it did not work leaving
tests that use spring-boot-gradle-plugin unable to see other plugins
such that the native image plugin.

This commit reworks the customization of the plugin classpath so that
it's only done in spring-boot-gradle-plugin's integration tests.

Closes gh-42338
2024-09-18 14:53:54 +01:00
Stéphane Nicoll 437ff754ef Merge branch '3.2.x' into 3.3.x
Closes gh-42320
2024-09-16 09:04:07 +02:00
Stéphane Nicoll 242803d59b Polish "Replace Configuration fully qualified name by constant"
See gh-42311
2024-09-16 09:01:36 +02:00
mushroom528 9bcfc72307 Replace Configuration fully qualified name by constant
See gh-42311
2024-09-16 09:01:23 +02:00
Andy Wilkinson 2c9f693d17 Merge branch '3.2.x' into 3.3.x
Closes gh-42188
2024-09-09 13:53:03 +01:00
Andy Wilkinson 9a74437fbc Delete unused javadoc CSS file
Closes gh-42187
2024-09-09 13:52:23 +01:00
Phillip Webb 599f1f1a9c Merge branch '3.2.x' into 3.3.x 2024-09-03 21:04:36 -07:00
Phillip Webb f3645bba13 Update copyright year of changed files 2024-09-03 21:04:26 -07:00
Moritz Halbritter 8c5a0f08a4 Merge branch '3.2.x' into 3.3.x
Closes gh-42098
2024-09-03 14:46:52 +02:00
Moritz Halbritter e7d6bd6ccd Test spring-boot-maven-plugin against Maven 3.9.9
Closes gh-42097
2024-09-03 14:29:49 +02:00
martinfrancois fd9d907ef3 Improve formatting for Docker configuration example with Colima
See gh-42078
2024-09-01 18:55:59 -07:00
Phillip Webb b29bc2dc2e Merge branch '3.2.x' into 3.3.x
Closes gh-42081
2024-09-01 18:51:33 -07:00
Johnny Lim a8452b54b5 Polish
See gh-42069
2024-09-01 18:50:38 -07:00
Phillip Webb 101ed0e543 Merge branch '3.2.x' into 3.3.x
Closes gh-42079
2024-09-01 15:25:15 -07:00
Phillip Webb 8c1d9872d2 Fix support for large zip files
Update `spring-boot-loader` to support large zip files by correctly
dealing with unsigned ints.

Fixes gh-42012
2024-09-01 15:13:46 -07:00
Phillip Webb 3a458d8062 Merge branch '3.2.x' into 3.3.x
Closes gh-42071
2024-08-31 11:21:51 -07:00
Phillip Webb cc2dc558f1 Don't report already migrated properties when has group
Refine the fix adding commit 962936370a so that items with a group
are correctly checked.

Fixes gh-42068
2024-08-31 11:18:47 -07:00
Phillip Webb 71f509c9fd Fix broken tab markup
Closes gh-42046
2024-08-28 13:00:25 -07:00
Stéphane Nicoll f0d2503b64 Merge branch '3.2.x' into 3.3.x
Closes gh-42001
2024-08-22 16:50:42 +02:00
Stéphane Nicoll 1822b2fade Include spring-boot-starter-parent in Integration tests repository
This commit makes sure that integration tests for the Maven Plugin have
access to the current "spring-boot-starter-parent" pom and its
hierarchy as new integration tests rely on that.

Closes gh-42000
2024-08-22 16:46:52 +02:00
Andy Wilkinson d4e1aedba5 Merge branch '3.2.x' into 3.3.x 2024-08-22 13:07:24 +01:00
Andy Wilkinson 0b24ee8571 Improve loading of jar entry certificates
Co-Authored-By: Phillip Webb <phil.webb@broadcom.com>
2024-08-22 10:56:25 +01:00
Phillip Webb d9746861a7 Upgrade to apachepulsar/pulsar 3.2.4 2024-08-21 18:24:08 -07:00
Scott Frederick 0451cb8686 Merge branch '3.2.x' into 3.3.x
Closes gh-41970
2024-08-20 15:49:25 -05:00
Scott Frederick 21b15558a2 Use classpath index when building classpath in PropertiesLauncher
Fixes gh-41719
2024-08-20 15:47:44 -05:00
Phillip Webb 1d337b7c76 Merge branch '3.2.x' into 3.3.x 2024-08-19 16:46:51 -07:00
Phillip Webb f1987e6f8b Update copyright year of changed files 2024-08-19 16:45:34 -07:00
Stéphane Nicoll a19d69e052 Merge branch '3.2.x' into 3.3.x
Closes gh-41920
2024-08-19 09:46:23 +02:00
Christoph Dreis 393ec8ae51 Fix duplicate words
See gh-41916
2024-08-19 09:44:29 +02:00
Andy Wilkinson 732a7baf50 Merge branch '3.2.x' into 3.3.x
Closes gh-41873
2024-08-15 11:11:50 +01:00
rajin c808d44c11 Register JarUrlClassLoader as parallel capable
See gh-41665
2024-08-15 11:11:18 +01:00
Andy Wilkinson 1433b64f6f Merge branch '3.2.x' into 3.3.x
Closes gh-41871
2024-08-15 11:07:56 +01:00
Andy Wilkinson cc88a1db97 Test Gradle Plugin against Gradle 8.10
Closes gh-41870
2024-08-15 11:07:15 +01:00
Andy Wilkinson e9da0c237e Correct grammar in 'Running your Application with Maven'
Closes gh-41868
2024-08-15 10:38:57 +01:00
John Blum e6f89c13a3 Correct grammar in 'Running your Application with Maven'
See gh-41840
2024-08-15 10:36:29 +01:00
Moritz Halbritter 2a84fe5760 Merge branch '3.2.x' into 3.3.x
Closes gh-41857
2024-08-14 16:47:52 +02:00
Moritz Halbritter 1d45016d8c Upgrade to spring-javaformat 0.0.43
Closes gh-41853
2024-08-14 16:32:41 +02:00
Stéphane Nicoll 7607bf1ab8 Document that repackage should not be used on the command-line
This commit clarifies how we intend the spring-boot:repackage goal to
be used. As it operates on the source jar (or war) that must be
effectively up-to-date to produce an accurate result, the package phase
must have run.

Contrary to build-image that was designed to be used on the command-line
by forking a package lifecycle first, repackage does not do that. This
commit also clarifies that by providing a more focused error message.

Closes gh-22317
2024-08-05 16:16:09 +02:00
Stéphane Nicoll 8ea6d3c92e Merge branch '3.2.x' into 3.3.x
Closes gh-41661
2024-07-31 17:04:01 +02:00
Stéphane Nicoll 200fc15b5d Detect backup jar when the package lifecycle is forked
Previously, if a classifier was set and build-image was executed from
the command-line, the build will fail as the plugin was unable to find
the original jar. This is because it relies on the attached artifacts
of the project, and those are not set when package has run as part of
a forked lifecycle.

This commit makes sure that the backup file is found by convention
first, the same way it is done for the target file.

Closes gh-26721
2024-07-31 17:01:00 +02:00
Stéphane Nicoll e05a846a1c Merge branch '3.2.x' into 3.3.x
Closes gh-41652
2024-07-30 11:23:39 +02:00
Stéphane Nicoll 59b47e336b Remove invalid checksum policy setting
This might be a copy/paste error as the checksum policy is used for
deploying and our integration tests do not do that.

Closes gh-41651
2024-07-30 11:20:44 +02:00
Stéphane Nicoll 397aeee9b6 Merge branch '3.2.x' into 3.3.x
Closes gh-41647
2024-07-30 10:58:31 +02:00
Stéphane Nicoll 05468def54 Tolerate module-info with AOT processing
This commit updates the Maven Plugin to tolerate projects that are using
the module path on the JVM and targeting native images with AOT.

Previously, the plugin compiled AOT sources directly to target/classes
and the presence of a module-info there is enough to trigger a
compilation on the module path.

With this change we now compile in a separate directory that contains
the generated AOT classes (typically CGLIB proxies). These are copied to
target/classes once compilation completes already.

The integration test also uses our parent, rather than relying on what
Maven provides. That's because older Maven versions provide a default
compiler plugin version that did not handle the module path correctly.

Closes gh-33383
2024-07-30 10:56:06 +02:00
Stéphane Nicoll a63a1fe6c5 Merge branch '3.2.x' into 3.3.x
Closes gh-41641
2024-07-29 16:56:18 +02:00
Stéphane Nicoll 47465f6ed5 Do not validate settings if publishing is disabled
This commit improves the Maven Plugin to only validate the publishing
settings if publishing is actually enabled.

Closes gh-29756
2024-07-29 16:55:02 +02:00
Andy Wilkinson 87417c0536 Merge branch '3.2.x' into 3.3.x
Closes gh-41633
2024-07-29 11:57:09 +01:00
Andy Wilkinson 4ee24bf9bd Polish "Add rule to prevent calls to Objects.requireNonNull()"
See gh-41611
2024-07-29 11:41:26 +01:00
Phillip Webb 28faf12062 Migrate plugins to javadoc asciidoctor macro
See gh-41605
2024-07-25 20:49:02 +01:00
Phillip Webb fd58261b9d Revert "Migrate plugins to javadoc asciidoctor macro"
This reverts commit b63e1e7443.
2024-07-25 18:25:15 +01:00
Phillip Webb b63e1e7443 Migrate plugins to javadoc asciidoctor macro
See gh-41605
2024-07-25 18:03:37 +01:00
Andy Wilkinson c642f6d268 Merge branch '3.2.x' into 3.3.x
Closes gh-41613
2024-07-25 16:16:35 +01:00
Andy Wilkinson 5f666eec5b Reduce warnings reported by Eclipse
Closes gh-41598
2024-07-25 14:55:00 +01:00
Andy Wilkinson a00304de28 Merge branch '3.2.x' into 3.3.x
Closes gh-41607
2024-07-24 19:22:49 +01:00
Andy Wilkinson f9f530ddaa Remove method references to improve compatibility
The use of method references requires the referenced method to be
present even if it isn't called. This made it impossible for Gradle
to remove the deprecated methods as it would break our plugin.
By switching the lambdas, the methods only have to be present when
they're called which will only happen with Gradle 8.2 and earlier.

Closes gh-41599
2024-07-24 19:22:05 +01:00
Phillip Webb d9360a034f Polish 2024-07-22 18:41:12 +01:00
Phillip Webb 36b1214feb Merge branch '3.2.x' into 3.3.x 2024-07-22 18:30:45 +01:00
Phillip Webb 61dc82d836 Update copyright year of changed files 2024-07-22 18:16:19 +01:00
Andy Wilkinson 8617c981cf Merge branch '3.2.x' into 3.3.x
Closes gh-41455
2024-07-12 07:31:58 +01:00
Andy Wilkinson f702230c12 Test Gradle plugin against Gradle 8.9
Closes gh-41454
2024-07-12 07:31:24 +01:00
Alexis Couvreur 47c8a859ea Support NestedConfigurationProperty for record types
Add ElementType.RECORD_COMPONENT to NestedConfigurationProperty and
implement isMarkedAsNested for RecordParameterPropertyDescriptor.

This will allow nested records to be properly harvested for their
properties.

See gh-41251
2024-07-04 10:58:51 +02:00
Scott Frederick 70e14d648d Polish documentation headings
Title case should be used in all headings.
2024-07-01 11:23:41 -05:00
Andy Wilkinson 55ac058385 Merge branch '3.2.x' into 3.3.x
Closes gh-41273
2024-06-28 15:47:54 +01:00
Andy Wilkinson d71fdd9712 Make buildSrc's custom Gradle tasks consistently abstract
Closes gh-41272
2024-06-28 15:40:56 +01:00
Moritz Halbritter 9984dc16a9 Merge branch '3.2.x' into 3.3.x
Closes gh-41270
2024-06-28 13:50:33 +02:00
Sébastien Deleuze a6f1bb9590 Update Kotlin DSL examples of bootBuildImage to be additive
See gh-41173
2024-06-28 13:47:42 +02:00
Andy Wilkinson ac8a3b6332 Merge branch '3.2.x' into 3.3.x
Closes gh-41268
2024-06-28 12:12:15 +01:00
Andy Wilkinson 7f2e8f85ae Merge branch '3.2.x' into 3.3.x 2024-06-28 11:40:48 +01:00
Andy Wilkinson 365fdfee45 Reduce scope of mavenOptional feature to only the Maven Plugin
Previously, the mavenOptional was added to every published module but it
was only used by spring-boot-maven-plugin. This commit reduces its scope
so that it only affects the Maven plugin. It also reworks the
implementation to reuse the existing optional configuration rather than
declaring a new mavenOptional configuration. Lastly, publication of
Gradle Module Metadata (GMM) has been disabled for
spring-boot-maven-plugin. This is seen as preferable to publishing the
metadata – which isn't really needed as it does not contain any useful
additional information – and having to suppress warnings about
incomplete mapping of GMM to pom metadata.

Closes gh-41263
2024-06-28 11:39:46 +01:00
Andy Wilkinson 2ed72c6e4d Correct syntax for plexus-utils exclusion
See 07442f8366
See gh-41248
2024-06-28 11:39:46 +01:00
Andy Wilkinson 0df946ccad Fix botched merge of spring-boot-maven-plugin's build.gradle 2024-06-27 13:06:44 +01:00
Andy Wilkinson d01c44a66a Merge branch '3.2.x' into 3.3.x 2024-06-27 12:58:46 +01:00
Andy Wilkinson d2f74426f7 Work around bug in Gradle's Eclipse model
The model incorrectly marks the Gradle API and all of its
dependencies as test dependencies, making them unavailable in Eclipse
to code in src/main/java. We work around this by modifying the
classpath container to remove the test attribute from the
dependencies that should be available to main code.

See gh-41228
2024-06-27 12:58:36 +01:00
Andy Wilkinson b0d4f1d356 Merge branch '3.2.x' into 3.3.x
Closes gh-41257
2024-06-27 10:16:36 +01:00
Andy Wilkinson 4515c882c7 Merge branch 'gh-41228' into 3.2.x
Closes gh-41228
2024-06-27 09:55:59 +01:00
Phillip Webb 1a699aee24 Merge branch '3.2.x' into 3.3.x
Closes gh-41252
2024-06-26 16:27:41 -07:00
Phillip Webb 962936370a Don't report already migrated properties
Update `PropertiesMigrationReporter` so that already migrated properties
are not reported. Prior to this commit, if a deprecated property was
replaced by a property that could bind with the name relaxed name it
would be reported. For example: `test.someproperty` being replaced with
`test.some-property`.

In order to check the actual underlying property name, the
`PropertySourceOrigin` class has been updated so that it is always
returned, even if another `Origin` is available.

Fixes gh-35774
2024-06-26 16:24:32 -07:00
Andy Wilkinson 654016af7f Move Docker-related test support into a separate module
See gh-41228
2024-06-26 19:47:35 +01:00
Andy Wilkinson 89a06608d2 Update spring-boot-maven-plugin to use docker-test plugin
See gh-41228
2024-06-26 19:46:29 +01:00
Andy Wilkinson 7d5a761d51 Update spring-boot-gradle-plugin to use docker-test plugin
See gh-41228
2024-06-26 19:46:25 +01:00
Andy Wilkinson d5ef5e9c9d Update spring-boot-buildpack-platform to use docker-test plugin
See gh-41228
2024-06-26 19:46:08 +01:00
Andy Wilkinson 2dd6c1c3a0 Merge branch '3.2.x' into 3.3.x
Closes gh-41249
2024-06-26 17:00:58 +01:00
Andy Wilkinson 07442f8366 Exclude plexus-utils in favor of Maven's build-in version
Closes gh-41248
2024-06-26 16:59:23 +01:00
Phillip Webb eb9f16e7e6 Merge branch '3.2.x' into 3.3.x
Closes gh-41234
2024-06-25 12:42:53 -07:00
Phillip Webb 85f6641a7e Allow 'npipe://' prefix in Docker host address
Update `LocalHttpClientTransport` to support explicit `npipe://` prefix
in the host name. This is the format used in the Docker config from
v4.31.1 onward.

Fixes gh-41199
2024-06-25 12:40:11 -07:00
Phillip Webb 9dda006a18 Merge branch '3.2.x' 2024-06-19 22:55:00 -07:00
Phillip Webb 2a4582b084 Update copyright year of changed files 2024-06-19 22:54:40 -07:00
Phillip Webb 905d6b96d0 Merge branch '3.2.x'
Closes gh-41166
2024-06-19 22:30:58 -07:00
Andy Wilkinson 491f34d25c Improve container test code
Replace `DockerImageNames` with a enum and relocate it from the
`testcontainers` to `container` package. The enum now also
becomes a common location that we can use to apply container
configuration such as timeouts.

Closes gh-41164

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-06-19 20:10:03 -07:00
Scott Frederick 84956ad56b Merge branch '3.2.x'
Closes gh-41091
2024-06-12 15:16:26 -05:00
Scott Frederick e228ed39b3 Support CNB builders that do not specify a stack
Fixes gh-41046
2024-06-12 15:16:21 -05:00
Piyal Ahmed e2cf638cd5 Add file extension to xref
See gh-41083
2024-06-12 10:45:07 +02:00
Phillip Webb 147240aa0c Merge branch '3.2.x'
Closes gh-41080
2024-06-11 13:32:30 -07:00