Commit Graph

1063 Commits (main)

Author SHA1 Message Date
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
1 year ago
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
1 year ago
Phillip Webb aeb6537f57 Rename spring-boot-loader to spring-boot-loader-classic
Rename the `spring-boot-loader` module to `spring-boot-loader-classic`
so that we can introduce an alternative loader implementation.

See gh-37669
1 year ago
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
1 year ago
Phillip Webb 3d6859e80f Use the term "uber jar" in reference documentation and javadoc
Update reference documentation and javadoc to use the term "uber jar"
rather than "fat jar".

Closes gh-37653
1 year ago
Andy Wilkinson bebca55a8f Add testAndDevelopmentOnly configuration
Closes gh-35436
1 year ago
Phillip Webb 052757c2d8 Polish 1 year ago
Scott Frederick 3cf08e1351 Clarify default security options for image building
See gh-37479
1 year ago
Scott Frederick d37e9424a2 Merge branch '3.1.x'
Closes gh-37589
1 year ago
Scott Frederick 4f8684fd69 Merge branch '3.0.x' into 3.1.x
Closes gh-37588
1 year ago
Scott Frederick a03e3320a6 Merge branch '2.7.x' into 3.0.x
Closes gh-37587
1 year ago
Scott Frederick aeeb5cf1f8 Apply Gradle fileMode and dirMode consistently in jar and war archives
Fixes gh-37496
1 year ago
Scott Frederick c45ad6ce83 Use actual Java version in build image integration tests
See gh-37453
1 year ago
Scott Frederick e80f743648 Merge branch '3.1.x'
Closes gh-37551
1 year ago
Scott Frederick 3803bd9af9 Merge branch '3.0.x' into 3.1.x
Closes gh-37550
1 year ago
Scott Frederick 7322c078c4 Merge branch '2.7.x' into 3.0.x
Closes gh-37549
1 year ago
Scott Frederick 98bfaf0412 Remove compatibility blocks from Gradle plugin integration tests
Closes gh-37453
1 year ago
Andy Wilkinson 89a86e91f5 Avoid deprecation warning with Gradle 8.4-rc-1
Closes gh-37493
1 year ago
Scott Frederick 7de770f6a1 Add support for security options in CNB builder container config
Closes gh-37479
1 year ago
Scott Frederick 4433fcd1f2 Add support for build workspace option when building images
Closes gh-37478
1 year ago
Andy Wilkinson 44bc47d96d Merge branch '3.1.x'
Closes gh-37381
1 year ago
Andy Wilkinson dfb95329fd Merge branch '3.0.x' into 3.1.x
Closes gh-37380
1 year ago
Andy Wilkinson a795065555 Polish "Lazily query attributes when copying from base configuration"
See gh-37343
1 year ago
Fouad Almalki 7edc9ebc28 Lazily query attributes when copying from base configuration
See gh-37343
1 year ago
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
1 year ago
Andy Wilkinson f45a32d911 Merge branch '3.1.x'
Closes gh-37175
1 year ago
Andy Wilkinson a84ee2fb12 Merge branch '3.0.x' into 3.1.x
Closes gh-37174
1 year ago
Andy Wilkinson 3ab1dfb9dc Merge branch '2.7.x' into 3.0.x
Closes gh-37173
1 year ago
Andy Wilkinson a77863245d Polish "Use project.getLayout().getBuildDirectory() instead of getBuildDir()"
See gh-37167
1 year ago
Yanming Zhou a8706962d4 Use project.getLayout().getBuildDirectory() instead of getBuildDir()
See gh-37167
1 year ago
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
1 year ago
Stephane Nicoll d9cc6e810f Merge branch '3.0.x' into 3.1.x
Closes gh-37027
1 year ago
Stephane Nicoll 1f6d0600b5 Merge branch '2.7.x' into 3.0.x
Closes gh-37026
1 year ago
Stephane Nicoll 6efd9ed0b0 Test Gradle plugin against Gradle 8.3
Closes gh-37025
1 year ago
Scott Frederick eb45aab712 Upgrade default CNB builders to Paketo Jammy
Closes gh-36689
1 year ago
Moritz Halbritter e4484c3db5 Use constants in SpringBootAotPlugin 1 year ago
Moritz Halbritter 7bb337aeb1 Polish tests 1 year ago
Moritz Halbritter ed9169501e Polish 1 year ago
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
1 year ago
Scott Frederick 6506208d29 Upgrade default CNB builders to Paketo Jammy
Closes gh-36689
1 year ago
Andy Wilkinson 21ce7a08fc Polish "Polish"
See gh-36620
1 year ago
Johnny Lim 5a205dbfd1 Polish
See gh-36620
1 year ago
Andy Wilkinson 12254b11ce Don't run KotlinPluginActionITs on JVMs not support by Gradle 7.6 1 year ago
Andy Wilkinson 2029117999 Upgrade to Kotlin 1.9.0
Closes gh-36362
1 year ago
Scott Frederick 4393a2244c Use Docker CLI context to determine daemon host address for image building
Configuration files managed by the Docker CLI are now used to determine
the host address of the Docker daemon used when building images using
buildpacks when a host address is not configured with environment
variables or build tool plugin configuration.

Closes gh-36445
1 year ago
Andy Wilkinson ce8253ea95 Merge branch '3.1.x'
Closes gh-36238
1 year ago
Andy Wilkinson c9f8d92656 Merge branch '3.0.x' into 3.1.x
Closes gh-36237
1 year ago
Johnny Lim 0fa58c04e7 Use Stream.toList()
See gh-36167
1 year ago
Andy Wilkinson fc403f4f18 Merge branch '3.1.x' 1 year ago
Andy Wilkinson d3522a78a8 Merge branch '3.0.x' into 3.1.x 1 year ago