Commit Graph

2830 Commits (f4ed0a2df5588562cdfb2213a05a837b1887bcca)

Author SHA1 Message Date
Phillip Webb 9e4f160c17 Attempt to fix NestedJarFile file lock issues on Windows
Update `DefaultCleanerTracking` and `@AssertFileChannelDataBlocksClosed`
to capture and store the source object if it is a `Cleanable` so that
it can be released later.

Although the real cleaner cannot keep a reference to `obj`, it is safe
for us to do so in tests since we are in control of the object lifecycle
and we don't need it to be garbage collected.

This commit also updates the `UrlJarFile` to call the cleaner so that
it can be tracked.

See gh-37668
1 year ago
Phillip Webb 5da31aca46 Attempt to fix NestedJarFile file lock issues on Windows
Update `NestedJarFile.close()` to call `super.close()` so that the outer
jar file is closed and files can hopefully be deleted on Windows.

See gh-37668
1 year ago
Phillip Webb 1f5472387d Fix formatting 1 year ago
Phillip Webb 42f50fa292 Attempt to fix CI failures
Attempt to fix CI failures caused by timezone differences and different
JDK versions.

See gh-37668
1 year ago
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 75ddb9fa47 Fix test failure caused by PropertiesLoader class reference
See gh-37667
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 a89057b7c7 Reintroduce spring-boot-loader modules
Restore the `spring-boot-loader` with the previous loader code so
that we can develop it further.

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
Scott Frederick f947bad3f7 Merge branch '3.1.x'
Closes gh-37666
1 year ago
Ivo Smid f2a4336ea1 Increase the socket timeout for remote connections to Docker daemon
The default socket timeout with HttpClient 5 is not long enough
in some cases where Docker images are built that require the
GraalVM native image compiler to run in a buildpack. This commit
increases the timeout to 30 minutes.

Fixes gh-37665

Co-authored-by: Scott Frederick <sfrederick@vmware.com>"
1 year ago
Andy Wilkinson 7d40a45b50 Merge branch '3.1.x'
Closes gh-37662
1 year ago
Andy Wilkinson a4100e12ff Merge branch '3.0.x' into 3.1.x
Closes gh-37661
1 year ago
Andy Wilkinson 931584f8af Merge branch '2.7.x' into 3.0.x
Closes gh-37659
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
Scott Frederick 619a0f3b35 Merge branch '3.1.x'
Closes gh-37624
1 year ago
JinseongHwang 0b703f9007 Use consistent capitalization in MySQL and MariaDB test names
See gh-37497
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 9811cc030f Fix LifecycleTests for security options on Windows
Fixes gh-37598
1 year ago
Scott Frederick 7c23c0b3c2 Merge branch '3.1.x' 1 year ago
Scott Frederick 5ae4ba83a7 Merge branch '3.0.x' into 3.1.x 1 year ago
Scott Frederick 7e29a3c70b Use latest available Gradle version for Paketo system tests
This ensures that the tests will run with the latest Java versions.

See gh-37507
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 fb15125d01 Merge branch '3.1.x'
Closes gh-37548
1 year ago
Andy Wilkinson 8080bb9cfb Merge branch '3.0.x' into 3.1.x
Closes gh-37547
1 year ago
Johnny Lim ce813346c9 Add Javadoc since for AbstractAotMojo.getSession()
See gh-37462
1 year ago
Andy Wilkinson af495b2dc0 Merge branch '3.1.x'
Closes gh-37546
1 year ago
Andy Wilkinson e4d8b22403 Merge branch '3.0.x' into 3.1.x
Closes gh-37545
1 year ago
Andy Wilkinson 333820627f Merge branch '2.7.x' into 3.0.x
Closes gh-37544
1 year ago
Eric Haag a2be276dd8 Mock working directory for extract test
Prior to this change, this test would create files in the project
directory. This can cause issues with Gradle caching and up-to-date
checks.

To address this, the value of the working directory is mocked to a
temporary directory like all the other tests.

See gh-37395
1 year ago
Andy Wilkinson 7bb40d50d4 Polish 1 year ago
Andy Wilkinson 1b6f29a1da Merge branch '3.1.x'
Closes gh-37540
1 year ago
Andy Wilkinson e3c3cb4b47 Merge branch '3.0.x' into 3.1.x
Closes gh-37539
1 year ago
Andy Wilkinson 18b7015552 Merge branch '2.7.x' into 3.0.x
Closes gh-37538
1 year ago
Andy Wilkinson 89a86e91f5 Avoid deprecation warning with Gradle 8.4-rc-1
Closes gh-37493
1 year ago
Moritz Halbritter ec9ac05d3d Merge branch '3.1.x'
Closes gh-37536
1 year ago
Moritz Halbritter 059bb69705 Merge branch '3.0.x' into 3.1.x
Closes gh-37535
1 year ago
Moritz Halbritter c991a7b90b Merge branch '2.7.x' into 3.0.x
Closes gh-37534
1 year ago
Moritz Halbritter a3611ae9f3 Polish "Use the Maven Archiver implementation for parsing outputTimestamp"
See gh-37438
1 year ago