Commit Graph

3343 Commits

Author SHA1 Message Date
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 1bf9b258b5 Merge branch '3.3.x'
Closes gh-41872
2024-08-15 11:08:50 +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
Andy Wilkinson 9a4c17016d Merge branch '3.3.x'
Closes gh-41869
2024-08-15 10:37:25 +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 46150bae89 Merge branch '3.3.x'
Closes gh-41858
2024-08-14 17:20:59 +02: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 90f847d454 Merge branch '3.3.x'
Closes gh-41696
2024-08-05 16:29:32 +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
Scott Frederick 9e3e067a4c Add support for CNB platform API version 0.14
Closes gh-41549
2024-08-01 17:10:41 -05:00
Stéphane Nicoll 477bd7d15a Detect default enum value
This commit improves the configuration metadata annotation processor to
detect a default enum value. The algorithm is best-effort, similarly to
what it already does for well known prefixes (period, duration, etc).

Based on an expression and an identifier, the default value is inferred
if the expression matches the declaration of the property type.

See gh-7562
2024-08-01 15:43:21 +02:00
Stéphane Nicoll e49a2daf38 Merge branch '3.3.x'
Closes gh-41662
2024-07-31 17:04:21 +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
Scott Frederick f2479bd4a6 Polish documentation
See gh-40944
2024-07-30 15:25:08 -05:00
Scott Frederick dfab18c965 Add imagePlatform option for image building
An `imagePlatform` option for the Maven and Gradle image-building
goal/task can be used to specify the os/architecture of any
builder, run, and buildpack images that are pulled during image
building.

Closes gh-40944
2024-07-30 14:19:40 -05:00
Stéphane Nicoll 3e7412fe7e Merge branch '3.3.x'
Closes gh-41653
2024-07-30 11:23:48 +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 8ef5540624 Merge branch '3.3.x'
Closes gh-41648
2024-07-30 10:58:38 +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 6ab053d823 Merge branch '3.3.x'
Closes gh-41642
2024-07-29 16:56:29 +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 6278d803a5 Merge branch '3.3.x'
Closes gh-41634
2024-07-29 12:13:07 +01: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
Stéphane Nicoll dabc83338b Polish "Add support for Grafana LGTM stack"
See gh-41551
2024-07-29 10:43:56 +02:00
Eddú Meléndez 9eff627eb2 Add support for Grafana LGTM stack
See gh-41551
2024-07-29 10:33:08 +02:00
Phillip Webb fdd5d007f5 Merge branch '3.3.x' 2024-07-25 20:49:42 +01:00
Phillip Webb 28faf12062 Migrate plugins to javadoc asciidoctor macro
See gh-41605
2024-07-25 20:49:02 +01:00
Phillip Webb 84e2049fc5 Merge branch '3.3.x' 2024-07-25 18:25:23 +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 7bbb5003db Merge branch '3.3.x' 2024-07-25 18:05:04 +01:00
Phillip Webb b63e1e7443 Migrate plugins to javadoc asciidoctor macro
See gh-41605
2024-07-25 18:03:37 +01:00
Andy Wilkinson e201b94d4f Merge branch '3.3.x'
Closes gh-41616
2024-07-25 16:17:52 +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 f1e98d0a73 Merge branch '3.3.x'
Closes gh-41608
2024-07-24 19:23:04 +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
Andy Wilkinson 23b344691d Polish "Support `@Name` with JavaBean-based configuration properties"
See gh-39452
2024-07-23 14:00:20 +01:00
Phillip Webb 88480664d7 Polish 2024-07-22 19:59:27 +01:00
Phillip Webb 000600c68a Merge branch '3.3.x' 2024-07-22 18:41:53 +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 46ec3e3a07 Polish "Support service connections for redis-stack and redis-stack-server"
See gh-41327
2024-07-17 11:08:52 +01:00
Eddú Meléndez 2634d0c6b1 Support service connections for redis-stack and redis-stack-server
See gh-41327
2024-07-17 10:54:06 +01:00
Stéphane Nicoll 4415b4ab1c Polish "Allow NestedConfigurationProperty on getters"
See gh-38844
2024-07-15 10:02:58 +02:00
Jared Bates 6c8987e0d8 Allow NestedConfigurationProperty on getters
This commit adds support adding `@NestedConfigurationProperty` on a
getter.

See gh-38844
2024-07-15 09:24:27 +02:00
Andy Wilkinson c563c501e9 Merge branch '3.3.x'
Closes gh-41456
2024-07-12 07:32:56 +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
Scott Frederick 7b8364d248 Fix LifecycleTests on Windows
See gh-gh-41352
2024-07-11 17:07:23 -05:00
Scott Frederick 224b06982e Add support for untrusted CNB builders
A `trustBuilder` configuration option has been added to the Maven and
Gradle CNB integration image building goal and task. A known set of
builders published by Paketo, Heroku, and Google are trusted by default,
all other builders are untrusted by default.

Closes gh-41352
2024-07-11 13:51:54 -05:00
Andy Wilkinson 375b3b16a0 Remove APIs that were deprecated for removal in 3.4.0
Closes gh-41435
2024-07-10 13:31:21 +01:00
Rui Figueira e7424eacf8 Add SslBundle support to MailSender
See gh-40037
2024-07-04 15:13:15 +02:00
Moritz Halbritter ee8a706e1f Merge branch '3.3.x'
Closes gh-41317
2024-07-04 11:10:22 +02: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 17c5538062 Merge branch '3.3.x' 2024-07-01 11:24:00 -05:00
Scott Frederick 70e14d648d Polish documentation headings
Title case should be used in all headings.
2024-07-01 11:23:41 -05:00
Scott Frederick 26b59ae912 Use Paketo tiny builder by default for JVM and native apps
Closes gh-40859
2024-06-28 11:45:54 -05:00
Andy Wilkinson 99904d0307 Merge branch '3.3.x'
Closes gh-41274
2024-06-28 16:01:46 +01: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 a2378e1439 Merge branch '3.3.x'
Closes gh-41271
2024-06-28 13:52:12 +02: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 1521258695 Merge branch '3.3.x'
Closes gh-41269
2024-06-28 12:13:38 +01: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 a195394be6 Merge branch '3.3.x' 2024-06-28 11:41:37 +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 6749ad674f Polish "Add support for org.testcontainers.kafka.KafkaContainer"
See gh-40695
2024-06-27 15:10:58 +01:00
Eddú Meléndez 769f3e9d14 Add support for org.testcontainers.kafka.KafkaContainer
Testcontainers 1.19.8 provides `org.testcontainers.kafka.KafkaContainer`,
which relies on `apache/kafka` image.

See gh-40695
2024-06-27 14:58:57 +01:00
Andy Wilkinson 13ab5618a6 Merge branch '3.3.x' 2024-06-27 13:08:38 +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 97612d5445 Merge branch '3.2.x' 2024-06-27 12:59:19 +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 5b7365b63b Merge branch '3.3.x'
Closes gh-41258
2024-06-27 10:25:32 +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 00ed053ceb Merge branch '3.3.x'
Closes gh-41253
2024-06-26 16:27:56 -07: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
Scott Frederick 9da2d1e089 Revert "Use Paketo tiny builder by default for JVM and native apps"
This reverts commit 6d2ebc0713.
2024-06-26 15:25:37 -05:00
Scott Frederick 8623c92a29 Change spring-boot-buildpack-platform api deps to implementation
Closes gh-40935
2024-06-26 14:12:43 -05:00
Scott Frederick 267956cf5c Replace JNI domain sockets implementation with one that uses JDK support
Closes gh-41050
2024-06-26 14:09:19 -05: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