Commit Graph

623 Commits

Author SHA1 Message Date
Andy Wilkinson 16c2ddb02c Merge branch '3.1.x'
Closes gh-38665
2023-12-05 20:31:17 +00:00
Andy Wilkinson b424254587 Test Gradle plugin against Gradle 8.5
Closes gh-38664
2023-12-05 20:30:54 +00:00
Scott Frederick d433deb737 Merge branch '3.0.x' into 3.1.x
Closes gh-38485
2023-11-21 17:30:54 -06:00
Scott Frederick dabcebf8a3 Merge branch '2.7.x' into 3.0.x
Closes gh-38484
2023-11-21 17:30:07 -06:00
Scott Frederick d1cce0f8ef Upgrade default CNB builders to Paketo Jammy
Closes gh-38477
2023-11-21 17:22:32 -06:00
Andy Wilkinson 08a4a836aa Merge branch '3.1.x'
Closes gh-38233
2023-11-06 14:26:09 +00:00
Andy Wilkinson b01235e68d Copy attributes from runtimeClasspath to productionRuntimeClasspath
Fixes gh-38209
2023-11-06 11:50:27 +00:00
Andy Wilkinson 173e6543fd Merge branch '3.1.x'
Closes gh-38168
2023-11-01 15:06:20 +00:00
Andy Wilkinson 40ce6182a1 Merge branch '3.0.x' into 3.1.x
Closes gh-38167
2023-11-01 15:03:29 +00:00
Andy Wilkinson b7f00c1087 Merge branch '2.7.x' into 3.0.x
Closes gh-38166
2023-11-01 15:02:54 +00:00
Andy Wilkinson 0d1a223fee Merge branch '3.1.x'
Closes gh-38032
2023-10-25 14:08:22 +01:00
Andy Wilkinson 649117de35 Merge branch '3.0.x' into 3.1.x
Closes gh-38031
2023-10-25 14:08:10 +01:00
Andy Wilkinson 331bf51332 Merge branch '2.7.x' into 3.0.x
Closes gh-38030
2023-10-25 14:07:57 +01:00
Andy Wilkinson 666f68ea60 Document configuration for building images with Colima
Closes gh-34522
2023-10-25 14:07:43 +01:00
Phillip Webb d638bbb0ba Merge branch '3.1.x'
Closes gh-37967
2023-10-19 21:25:44 -07:00
Phillip Webb 1d456e09d2 Merge branch '3.0.x' into 3.1.x
Closes gh-37966
2023-10-19 21:12:52 -07:00
Phillip Webb a0b999c8b4 Merge branch '2.7.x' into 3.0.x
Closes gh-37965
2023-10-19 20:55:51 -07:00
Phillip Webb abdad1cabe Constently use assertThatExceptionOf... assertions
Closes gh-37964
2023-10-19 20:17:26 -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
Andy Wilkinson d6a9295c26 Allow additional build info properties to have provided values
Closes gh-37889
2023-10-16 18:15:42 +01:00
Phillip Webb 7ad4a9817d Rewrite nested jar support code and remove Java 8 support
Rewrite nested jar code to better align with the implementations
provided in Java 17. This update makes two fundamental changes to
the previous implementation:

- Resource cleanup is now handled using the `java.lang.ref.Cleaner`

- Jar URLs now use the form `jar:nested:/my.jar/!nested.jar!/entry`

Unlike the previous `jar🫙/my,jar!/nested.jar!/entry` URL format,
the new format is compatible with Java's default Jar URL handler.
Specifically, it now only uses a single `jar:` prefix and it no longer
includes multiple `!/` separators.

In addition to the changes above, many of the ancillary classes have
also been refactored and updated to create cleaner APIs.

Closes gh-37668
2023-10-03 17:27:57 -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
Phillip Webb c22548982a Relocate launcher classes
Create alternative launcher classes under the package
`org.springframework.boot.loader.launch` and use them in favor
of the previous location.

This update is designed to improve compatibility with future
changes in the loader.

Closes gh-37667
2023-10-03 14:53:04 -07:00
Andy Wilkinson bebca55a8f Add testAndDevelopmentOnly configuration
Closes gh-35436
2023-09-28 13:24:34 +01:00
Scott Frederick d37e9424a2 Merge branch '3.1.x'
Closes gh-37589
2023-09-26 14:07:16 -05:00
Scott Frederick 4f8684fd69 Merge branch '3.0.x' into 3.1.x
Closes gh-37588
2023-09-26 14:07:05 -05:00
Scott Frederick a03e3320a6 Merge branch '2.7.x' into 3.0.x
Closes gh-37587
2023-09-26 14:06:50 -05:00
Scott Frederick aeeb5cf1f8 Apply Gradle fileMode and dirMode consistently in jar and war archives
Fixes gh-37496
2023-09-26 13:49:19 -05:00
Scott Frederick c45ad6ce83 Use actual Java version in build image integration tests
See gh-37453
2023-09-22 13:38:37 -05:00
Scott Frederick e80f743648 Merge branch '3.1.x'
Closes gh-37551
2023-09-22 11:37:00 -05:00
Scott Frederick 3803bd9af9 Merge branch '3.0.x' into 3.1.x
Closes gh-37550
2023-09-22 11:32:28 -05:00
Scott Frederick 7322c078c4 Merge branch '2.7.x' into 3.0.x
Closes gh-37549
2023-09-22 11:32:07 -05:00
Scott Frederick 98bfaf0412 Remove compatibility blocks from Gradle plugin integration tests
Closes gh-37453
2023-09-22 11:28:12 -05:00
Scott Frederick 7de770f6a1 Add support for security options in CNB builder container config
Closes gh-37479
2023-09-20 13:43:36 -05:00
Scott Frederick 4433fcd1f2 Add support for build workspace option when building images
Closes gh-37478
2023-09-20 13:43:35 -05:00
Andy Wilkinson 44bc47d96d Merge branch '3.1.x'
Closes gh-37381
2023-09-14 11:03:25 +01:00
Andy Wilkinson dfb95329fd Merge branch '3.0.x' into 3.1.x
Closes gh-37380
2023-09-14 11:03:08 +01:00
Andy Wilkinson a795065555 Polish "Lazily query attributes when copying from base configuration"
See gh-37343
2023-09-14 10:32:05 +01:00
Scott Frederick a9f26e0f95 Conditionally enable image building bind cache tests
Accessing bind mount directories as is done in the tests for building
images with bind mount caches requires Docker configuration when
using Docker Desktop. It works without configuration on Linux with
Docker Engine.

See gh-28387
2023-09-12 17:00:59 -05:00
Andy Wilkinson f45a32d911 Merge branch '3.1.x'
Closes gh-37175
2023-09-01 14:18:23 +01:00
Andy Wilkinson a84ee2fb12 Merge branch '3.0.x' into 3.1.x
Closes gh-37174
2023-09-01 14:17:59 +01:00
Andy Wilkinson 3ab1dfb9dc Merge branch '2.7.x' into 3.0.x
Closes gh-37173
2023-09-01 14:17:40 +01:00
Andy Wilkinson a77863245d Polish "Use project.getLayout().getBuildDirectory() instead of getBuildDir()"
See gh-37167
2023-09-01 14:15:33 +01:00
Scott Frederick c17ecf0f0b Add support for caching to bind mounts when building images
When building an image using the Maven `spring-boot:build-image` goal or
the Gradle `bootBuildImage` task, the build and launch caches can be
configured to use a bind mount as an alternative to using a named
volume.

Closes gh-28387
2023-08-21 15:04:39 -05:00
Stephane Nicoll d9cc6e810f Merge branch '3.0.x' into 3.1.x
Closes gh-37027
2023-08-18 14:31:51 +02:00
Stephane Nicoll 1f6d0600b5 Merge branch '2.7.x' into 3.0.x
Closes gh-37026
2023-08-18 14:15:48 +02:00
Stephane Nicoll 6efd9ed0b0 Test Gradle plugin against Gradle 8.3
Closes gh-37025
2023-08-18 14:05:50 +02:00
Scott Frederick eb45aab712 Upgrade default CNB builders to Paketo Jammy
Closes gh-36689
2023-08-14 13:29:42 -05:00
Moritz Halbritter 7bb337aeb1 Polish tests 2023-08-08 13:12:47 +02:00
Andy Wilkinson b1d26fe961 Revert "Upgrade default CNB builders to Paketo Jammy"
This reverts commit 6506208d29. The
upgrade to the Jammy builder was causing
failsWhenBuildImageIsInvokedOnMultiModuleProjectWithBuildImageGoal to
hang on CI.

See gh-36689
2023-08-07 12:10:27 +01:00