292 Commits

Author SHA1 Message Date
Phillip Webb
80e8ab8779 Support commercial repositories in effective BOM and Ivy
Update `BomExtension` to resolve '{spring.mavenRepositories}' and add
credentials to `ivysettings.xml` and `settings.xml`.

Closes gh-44050
2025-02-03 18:22:53 -08:00
Stéphane Nicoll
35d6d76d12 Merge branch '3.2.x' into 3.3.x
Closes gh-42935
2024-10-30 16:39:32 +09:00
Stéphane Nicoll
1a3f1a41b1 Polish "Complete support for project.build.outputTimestamp"
See gh-42922
2024-10-30 11:04:48 +09:00
Andreas Höhmann
491515e6e3 Complete support for project.build.outputTimestamp
This commit completes the support of project.build.outputTimestamp to
also support a value that's expressed as seconds since the epoch.

See gh-42922
2024-10-30 10:51:07 +09:00
Stéphane Nicoll
056e2b6029 Merge branch '3.2.x' into 3.3.x
Closes gh-42688
2024-10-15 10:42:33 +02: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
3b8ae47096 Merge branch '3.2.x' into 3.3.x 2024-09-27 17:35:01 -07: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
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
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
b0d4f1d356 Merge branch '3.2.x' into 3.3.x
Closes gh-41257
2024-06-27 10:16:36 +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
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
48632b212f Merge branch '3.2.x'
Closes gh-40819
2024-05-17 11:42:21 -05:00
Scott Frederick
7f2b917851 Merge branch '3.1.x' into 3.2.x
Closes gh-40818
2024-05-17 11:41:23 -05:00
Scott Frederick
70aceb21eb Relocate test CNB builder and buildpack
The test CNB builder and buildpack used in integration tests have moved
from a projects.registry.vmware.com registry to ghcr.io/spring-io. This
commit modifies tests to use the new location.

Closes gh-40800
2024-05-17 10:59:41 -05:00
Scott Frederick
95145b23ec Merge branch '3.2.x' 2024-05-16 22:19:13 -05:00
Scott Frederick
d38c1e06b3 Ignore exceptions when deleting caches in bind cache tests
See gh-40760
2024-05-16 22:19:04 -05:00
Scott Frederick
5f4d7f41bc Merge branch '3.2.x'
Closes gh-40799
2024-05-16 17:38:07 -05:00
Scott Frederick
cd441130bd Warn when image building workspace directories cannot be deleted
When the `buildWorkspace` location in the
`spring-boot:build-image` Maven goal or `bootBuildImage` Gradle
task is configured to use a local bind source, the location
is passed to the CNB lifecycle without further processing by
Spring Boot. The lifecycle is in control of creating any files
in the specified location. Spring Boot tries to remove the
directories at the specified location after an image is
successfully created, but should not fail the image build
if the lifecycle has created files or directories with
permissions that keep them from being deleted successfully.

Fixes gh-40760
2024-05-16 17:37:44 -05:00
Andy Wilkinson
d77fcf30fa Merge branch '3.2.x' 2024-05-16 17:22:36 +01:00
Andy Wilkinson
feaccef3a4 Temporarily disable tests for image building with bind caches
See gh-40760
2024-05-16 17:22:02 +01:00
Moritz Halbritter
9bb981be11 Merge branch '3.2.x'
Closes gh-40625
2024-05-06 10:25:08 +02:00
Moritz Halbritter
c47cdda824 Merge branch '3.1.x' into 3.2.x
Closes gh-40624
2024-05-06 09:51:39 +02:00
Andy Wilkinson
0ed6864d1d Merge branch '3.2.x'
Closes gh-40324
2024-04-11 16:54:46 +01:00
Andy Wilkinson
45e9412d9b Merge branch '3.1.x' into 3.2.x
Closes gh-40323
2024-04-11 16:54:33 +01:00
Andy Wilkinson
baf5a7f130 Make includes configurable via a property
See gh-39837
2024-04-11 16:32:17 +01:00
Andy Wilkinson
2a6293940b Polish "Make excludes configurable via property"
See gh-39837
2024-04-11 16:31:24 +01:00
Matti Tahvonen
58fc8f8c01 Make excludes configurable via property
See gh-39837
2024-04-11 15:43:31 +01:00
Moritz Halbritter
793aca60d2 Implement extract and list-layers command
Adds a new jarmode called 'tools'. This provides two commands,
'extract' and 'list-layers'. list-layers is the same as list from
the layertools.

extract is able to extract the JAR in four different modes:

- CDS compatible extraction with libraries in a lib folder and a runner
.jar
- CDS compatible as above, but with layers
- Launcher based
- Launcher based with layers. This is essentially the same as extract
  from the layertools

The commands in layertools have been deprecated in favor of the commands
in 'tools'.

This also changes the behavior of layers.enabled from the Gradle and
Maven plugin: before this commit, layers.enabled prevents the inclusion
of the layer index file as well as the layertools JAR.
After this commit, layers.enabled only prevents the inclusion of the
layer index file.

layer.includeLayerTools have been deprecated in favor of includeTools,
and the layertools JAR has been renamed to tools.

Closes gh-38276
2024-03-07 13:34:13 +01:00
Phillip Webb
f8a1dae835 Merge branch '3.2.x' 2024-02-21 15:27:57 -08:00
Phillip Webb
12de6aa46a Merge branch '3.1.x' into 3.2.x 2024-02-21 15:27:27 -08:00
Moritz Halbritter
7f55cae90f Merge branch '3.2.x' 2024-02-12 10:19:46 +01:00
Moritz Halbritter
4387b79831 Merge branch '3.1.x' into 3.2.x 2024-02-12 10:18:46 +01:00
Moritz Halbritter
8ffcfc9b77 Harmonize style of igored exceptions across the codebase 2024-02-12 10:14:20 +01:00
Phillip Webb
a0a804cfdf Merge branch '3.2.x' 2024-01-22 12:20:41 -08:00
teacmity
c6c7fbc15f Change log messages to use singular or plural instead of "noun(s)"
See gh-37017
2024-01-11 14:35:49 +00:00
Andy Wilkinson
17e9f0cb8e Merge branch '3.2.x'
Closes gh-39093
2024-01-11 11:36:38 +00:00
Andy Wilkinson
7087897507 Merge branch '3.1.x' into 3.2.x
Closes gh-39091
2024-01-11 10:33:57 +00:00
Andy Wilkinson
45c32854a5 Fix Checkstyle upgrade
Closes gh-38746
2024-01-10 15:37:38 +00:00
Andy Wilkinson
5ef7db9a28 Start working on Spring Boot 3.3 2024-01-04 10:56:56 +00:00
Phillip Webb
b8365e3118 Fix misconfigured Maven test
See gh-37669
2023-10-18 22:58:45 -07:00
Phillip Webb
33c5e1269a Write signature files to uber jars to for Oracle Java 17 verification
Update Gradle and Maven plugins to write an empty `META-INF/BOOT.SF`
file whenever there is a nested signed jar.

This update allows Oracle Java 17 to correctly verify the nested JARs.
The file is required because `JarVerifier` has code roughly equivalent
to:

	if (!jarManifestNameChecked && SharedSecrets
			.getJavaUtilZipFileAccess().getManifestName(jf, true) == null) {
    	throw new JarException("The JCE Provider " + jarURL.toString() +
    		" is not signed.");
	}

The `SharedSecrets.getJavaUtilZipFileAccess().getManifestName(jf, true)`
call ends up in `ZipFile.getManifestName(onlyIfSignatureRelatedFiles)`
which is a private method that we cannot override in our `NestedJarFile`
subclass. By writing an empty `.SF` file we ensure that the `Manifest`
is always returned because there are always "signature related files".

Fixes gh-28837
2023-10-16 16:19:16 -07:00
Phillip Webb
75ddb9fa47 Fix test failure caused by PropertiesLoader class reference
See gh-37667
2023-10-03 17:27:39 -07:00
Phillip Webb
55b5610dd9 Add Maven and Gradle option for the loader implementation to use
Add properties to the Maven and Gradle plugins so that users can
switch between the two loader modules.

See gh-37669
2023-10-03 15:40:42 -07:00