3117 Commits

Author SHA1 Message Date
Stéphane Nicoll
eba7a5a077 Update copyright year of changed files
See gh-42901
2024-10-29 13:35:35 +09:00
Tran Ngoc Nhan
ff855d9421 Remove redundant null check
See gh-42901
2024-10-29 13:33:55 +09:00
Stéphane Nicoll
d4010d3be0 Polish "Prevent auth header to be included in Docker API call"
See gh-42910
2024-10-29 13:24:09 +09:00
YiXuan Ding
351018ea65 Prevent auth header to be included in Docker API call
See gh-42910
2024-10-29 13:16:08 +09:00
Phillip Webb
3481107ff7 Update copyright year of changed files 2024-10-18 10:48:29 -07:00
Moritz Halbritter
ce106eb43c Remove calls to deprecated Project.getBuildDir() in Gradle files
Closes gh-42739
2024-10-17 17:46:17 +02:00
Moritz Halbritter
a3060652f8 Call String.toLowerCase and .toUppercase with explicit locale
Closes gh-42719
2024-10-17 13:20:39 +02:00
Phillip Webb
41ae973d16 Update copyright year of changed files 2024-10-16 13:08:37 -07:00
Stéphane Nicoll
b0dd42e9b9 Transform Maven settings with proper plugin repository tag
This commit adapts d44e7c9 to transforms plugin repositories using the
correct root tag. Previously, they were transformed with the regular
<repository> tag, which is invalid.

Closes gh-42687
2024-10-15 10:39:59 +02:00
Phillip Webb
d342eefa27 Use Sync task rather than Copy
See gh-42333
2024-10-01 17:19:52 -07:00
Phillip Webb
05b4edfd2c Use ifeval block for Commercial/OSS documentation
See gh-42333
2024-09-30 15:56:40 -07:00
Stéphane Nicoll
ab968494e6 Document how to handle the manifest in a native image with Maven
Closes gh-42412
2024-09-30 10:55:58 +02:00
Phillip Webb
d44e7c9af2 Dynamically populate repositories used in Ant/Maven integration tests
Update build scripts and tests so that repository settings are copied
dynamically from the build.

See gh-42333
2024-09-27 17:33:00 -07:00
Phillip Webb
7d8507d186 Polish 2024-09-27 17:31:24 -07:00
Phillip Webb
c347ccaa76 Attempt to fix system tests following repository updates
See gh-42333
2024-09-27 12:17:29 -07:00
Yanming Zhou
72d68a2cb8 Remove duplicated dependency
See gh-42442
2024-09-25 13:56:01 +02:00
Phillip Webb
ad72411e2b Apply conventions plugin to all subprojects
Closes gh-42438
2024-09-24 14:26:32 -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
arefbehboudi
0d3fceec5d Polish
See gh-42413
2024-09-22 17:45:59 -07: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
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
9a74437fbc Delete unused javadoc CSS file
Closes gh-42187
2024-09-09 13:52:23 +01:00
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 07442f836600fc346db49b8c0640f3977be18dfd
See gh-41248
2024-06-28 11:39:46 +01:00