Commit Graph

3094 Commits

Author SHA1 Message Date
Phillip Webb f3645bba13 Update copyright year of changed files 2024-09-03 21:04:26 -07: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
Johnny Lim a8452b54b5 Polish
See gh-42069
2024-09-01 18:50:38 -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 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
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 0b24ee8571 Improve loading of jar entry certificates
Co-Authored-By: Phillip Webb <phil.webb@broadcom.com>
2024-08-22 10:56:25 +01: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 f1987e6f8b Update copyright year of changed files 2024-08-19 16:45:34 -07:00
Christoph Dreis 393ec8ae51 Fix duplicate words
See gh-41916
2024-08-19 09:44:29 +02:00
rajin c808d44c11 Register JarUrlClassLoader as parallel capable
See gh-41665
2024-08-15 11:11:18 +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
Moritz Halbritter 1d45016d8c Upgrade to spring-javaformat 0.0.43
Closes gh-41853
2024-08-14 16:32:41 +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 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 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 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 4ee24bf9bd Polish "Add rule to prevent calls to Objects.requireNonNull()"
See gh-41611
2024-07-29 11:41:26 +01:00
Andy Wilkinson 5f666eec5b Reduce warnings reported by Eclipse
Closes gh-41598
2024-07-25 14:55:00 +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 61dc82d836 Update copyright year of changed files 2024-07-22 18:16:19 +01:00
Andy Wilkinson f702230c12 Test Gradle plugin against Gradle 8.9
Closes gh-41454
2024-07-12 07:31:24 +01:00
Andy Wilkinson d71fdd9712 Make buildSrc's custom Gradle tasks consistently abstract
Closes gh-41272
2024-06-28 15:40:56 +01: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 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 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 4515c882c7 Merge branch 'gh-41228' into 3.2.x
Closes gh-41228
2024-06-27 09:55:59 +01: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 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 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 2a4582b084 Update copyright year of changed files 2024-06-19 22:54:40 -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 e228ed39b3 Support CNB builders that do not specify a stack
Fixes gh-41046
2024-06-12 15:16:21 -05:00
Phillip Webb bcbcafaab2 Polish "Use method references when possible in test code"
See gh-40974
2024-06-11 12:58:04 -07:00
Ahmed Ashour 207327d97c Use method references when possible in test code
See gh-40974
2024-06-11 12:58:00 -07:00
Phillip Webb dcccb3b2b1 Polish "Use method references when possible"
See gh-40974
2024-06-11 12:57:59 -07:00
Ahmed Ashour 507229eef8 Use method references when possible
See gh-40974
2024-06-11 12:57:55 -07:00
Ahmed Ashour 2c5934dab2 Use 'switch' instead of 'if'
See gh-40985
2024-06-11 12:24:11 -07:00
Scott Frederick 2bb74b261c Disable stale checking for local Docker daemon connections
Fixes gh-40697
2024-06-10 17:27:02 -05:00
Andy Wilkinson 217c2c862b Ignore file entries in META-INF/versions of multi-release jar
Fixes gh-41001
2024-06-06 13:28:36 +01:00
Andy Wilkinson dd6f516d66 Test Gradle Plugin against 8.8
Closes gh-40573
2024-06-03 08:29:02 +01:00
Andy Wilkinson 5ee0580339 Upgrade to the latest Framework 6.0.x release
Closes gh-40929
2024-05-28 16:52:00 +01:00
Andy Wilkinson d80cf05406 Remove unnecessary use of SingletonSupplier
As of Framework 6.1, it contains a field of a type that's
incompatible with Gradle's configuration cache.

Fixes gh-40911
2024-05-28 10:50:33 +01:00
Scott Frederick 4e5cd2c2fd Fix default security options for bootBuildImage task
Fixes gh-39830
2024-05-22 07:56:15 -05:00