Andy Wilkinson
88bf3dfba2
Close byte channel created by newByteChannelReturnsByteChannel
...
See gh-7161
2023-10-20 11:22:16 +01:00
Andy Wilkinson
dad5dc6750
Try to fix NestedFileSystemProviderTests on Windows
...
See gh-7161
2023-10-20 10:56:08 +01:00
Andy Wilkinson
4161eb1853
Fix path handling in NestedLocation on Windows
...
See 4b495ca
See gh-37668
2023-10-20 09:15:54 +01:00
Phillip Webb
3eeb1b2849
Merge branch '3.1.x'
2023-10-19 23:21:42 -07:00
Phillip Webb
7c864804d5
Merge branch '2.7.x' into 3.0.x
2023-10-19 23:21:08 -07:00
Phillip Webb
d47f8bf945
Update copyright year of changed files
2023-10-19 23:20:43 -07: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
b8365e3118
Fix misconfigured Maven test
...
See gh-37669
2023-10-18 22:58:45 -07:00
Phillip Webb
3c62defb9d
Support java.nio.file Paths and FileSystems with nested jars
...
Add a `NestedFileSystemProvider` implementation so that the JDK's
`ZipFileSystem` can load content from nested jars and nested
directory entries.
Creating a `ZipFileSystem` may be a relatively expensive operation as
zip structures need to be parsed and in the case of directory entries
a virtual datablock nees to be generated on the fly. As such, we
install the `ZipFileSystem` as late as possible since in a typical
application it may never be needed.
This commit also tweaks Gradle and Maven plugins to ensure that the
service loader file is written to repackaged jars.
Closes gh-7161
2023-10-18 20:46:36 -07:00
Phillip Webb
4b495ca2a9
Change `NestedLocation` to hold a `Path` rather than a `File`
...
Refactor `NestedLocation` so that it holds a `Path` rather than a
`File`.
See gh-37668
2023-10-18 20:46:35 -07:00
Andy Wilkinson
1559485f56
Fix Gradle plugin test classpath after Kotlin upgrade
...
See gh-37926
2023-10-18 14:07:49 +01: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
Andy Wilkinson
084bd3a420
Merge branch '3.1.x'
2023-10-13 21:38:06 +01:00
Andy Wilkinson
ccaa54436b
Merge branch '3.0.x' into 3.1.x
2023-10-13 21:37:56 +01:00
Andy Wilkinson
b1eb08faba
Merge branch '2.7.x' into 3.0.x
2023-10-13 21:37:44 +01:00
Andy Wilkinson
3dba0d76d2
Polish
...
See gh-37878
2023-10-13 21:17:12 +01:00
Andy Wilkinson
2231244d2c
Merge branch '3.1.x'
2023-10-13 20:42:15 +01:00
Andy Wilkinson
e957c3087c
Merge branch '3.0.x' into 3.1.x
2023-10-13 20:36:51 +01:00
Andy Wilkinson
c25e532aeb
Merge branch '2.7.x' into 3.0.x
2023-10-13 20:36:32 +01:00
Andy Wilkinson
dbc06faed8
Polish
...
See gh-37878
2023-10-13 20:36:16 +01:00
Andy Wilkinson
60f05eaa94
Merge branch '3.1.x'
...
Closes gh-37882
2023-10-13 16:01:47 +01:00
Andy Wilkinson
5af13d191f
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37881
2023-10-13 16:01:32 +01:00
Andy Wilkinson
ae2693b7f1
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37880
2023-10-13 16:01:14 +01:00
Andy Wilkinson
42ee6b9e74
Use new permissions API with Gradle 8.3+
...
Closes gh-37878
2023-10-13 16:00:54 +01:00
Johnny Lim
446677375e
Polish gh-35082
...
See gh-37831
2023-10-12 14:17:02 +02:00
Andy Wilkinson
bdaf7a7603
Merge branch '3.1.x'
...
Closes gh-37830
2023-10-11 15:06:09 +01:00
Andy Wilkinson
411586347c
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37829
2023-10-11 15:04:21 +01:00
Andy Wilkinson
781ac2ece2
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37828
2023-10-11 15:02:36 +01:00
Andy Wilkinson
5a75fae23b
Polish "Polish"
...
See gh-37745
2023-10-11 14:58:04 +01:00
Johnny Lim
303015ea2d
Polish
...
See gh-37745
2023-10-11 14:57:38 +01:00
Andy Wilkinson
d0486ef43f
Merge branch '3.1.x'
...
Closes gh-37827
2023-10-11 14:47:35 +01:00
Andy Wilkinson
40461488db
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37826
2023-10-11 14:47:23 +01:00
Andy Wilkinson
a80f8ea5e6
Configure Java toolchain on AOT-processing tasks
...
Closes gh-37717
2023-10-11 14:31:44 +01:00
Andy Wilkinson
b9a0159b97
Merge branch '3.1.x'
...
Closes gh-37825
2023-10-11 13:54:39 +01:00
Andy Wilkinson
ac1f7ccc33
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37824
2023-10-11 13:54:25 +01:00
Andy Wilkinson
5a6cd77c56
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37823
2023-10-11 13:54:11 +01:00
Andy Wilkinson
5a1abb76f7
Test the Gradle plugin against Gradle 8.4
...
Closes gh-37811
2023-10-11 13:52:03 +01:00
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
2023-10-06 23:44:55 -07:00
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
2023-10-06 21:47:55 -07:00
Phillip Webb
1f5472387d
Fix formatting
2023-10-03 20:41:48 -07:00
Phillip Webb
42f50fa292
Attempt to fix CI failures
...
Attempt to fix CI failures caused by timezone differences and different
JDK versions.
See gh-37668
2023-10-03 20:29:33 -07: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
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
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
2023-10-03 15:40:25 -07:00
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
2023-10-03 15:40:04 -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
Scott Frederick
f947bad3f7
Merge branch '3.1.x'
...
Closes gh-37666
2023-10-03 13:18:32 -05:00
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>"
2023-10-03 11:52:48 -05:00
Andy Wilkinson
7d40a45b50
Merge branch '3.1.x'
...
Closes gh-37662
2023-10-03 11:21:29 +01:00
Andy Wilkinson
a4100e12ff
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37661
2023-10-03 11:05:51 +01:00
Andy Wilkinson
931584f8af
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37659
2023-10-03 10:28:51 +01:00
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
2023-10-02 23:01:34 -07:00
Scott Frederick
619a0f3b35
Merge branch '3.1.x'
...
Closes gh-37624
2023-09-28 16:32:45 -05:00
JinseongHwang
0b703f9007
Use consistent capitalization in MySQL and MariaDB test names
...
See gh-37497
2023-09-28 16:28:32 -05:00
Andy Wilkinson
bebca55a8f
Add testAndDevelopmentOnly configuration
...
Closes gh-35436
2023-09-28 13:24:34 +01:00
Phillip Webb
052757c2d8
Polish
2023-09-27 20:58:09 -07:00
Scott Frederick
3cf08e1351
Clarify default security options for image building
...
See gh-37479
2023-09-27 11:05:40 -05:00
Scott Frederick
9811cc030f
Fix LifecycleTests for security options on Windows
...
Fixes gh-37598
2023-09-27 10:09:44 -05:00
Scott Frederick
7c23c0b3c2
Merge branch '3.1.x'
2023-09-26 18:51:03 -05:00
Scott Frederick
5ae4ba83a7
Merge branch '3.0.x' into 3.1.x
2023-09-26 18:19:48 -05:00
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
2023-09-26 18:19:25 -05: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
Andy Wilkinson
fb15125d01
Merge branch '3.1.x'
...
Closes gh-37548
2023-09-22 16:30:36 +01:00
Andy Wilkinson
8080bb9cfb
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37547
2023-09-22 16:30:19 +01:00
Johnny Lim
ce813346c9
Add Javadoc since for AbstractAotMojo.getSession()
...
See gh-37462
2023-09-22 16:29:49 +01:00
Andy Wilkinson
af495b2dc0
Merge branch '3.1.x'
...
Closes gh-37546
2023-09-22 16:26:48 +01:00
Andy Wilkinson
e4d8b22403
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37545
2023-09-22 16:26:31 +01:00
Andy Wilkinson
333820627f
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37544
2023-09-22 16:26:21 +01:00
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
2023-09-22 16:24:49 +01:00
Andy Wilkinson
7bb40d50d4
Polish
2023-09-22 16:06:44 +01:00
Andy Wilkinson
1b6f29a1da
Merge branch '3.1.x'
...
Closes gh-37540
2023-09-22 15:51:49 +01:00
Andy Wilkinson
e3c3cb4b47
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37539
2023-09-22 15:50:28 +01:00
Andy Wilkinson
18b7015552
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37538
2023-09-22 15:35:45 +01:00
Andy Wilkinson
89a86e91f5
Avoid deprecation warning with Gradle 8.4-rc-1
...
Closes gh-37493
2023-09-22 15:31:36 +01:00
Moritz Halbritter
ec9ac05d3d
Merge branch '3.1.x'
...
Closes gh-37536
2023-09-22 11:21:53 +02:00
Moritz Halbritter
059bb69705
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37535
2023-09-22 11:21:37 +02:00
Moritz Halbritter
c991a7b90b
Merge branch '2.7.x' into 3.0.x
...
Closes gh-37534
2023-09-22 11:21:25 +02:00
Moritz Halbritter
a3611ae9f3
Polish "Use the Maven Archiver implementation for parsing outputTimestamp"
...
See gh-37438
2023-09-22 11:13:10 +02:00
Niels Basjes
a1b08e1819
Use the Maven Archiver implementation for parsing outputTimestamp
...
See gh-37438
2023-09-22 11:12:48 +02:00
Phillip Webb
2075f6c685
Merge branch '3.1.x'
2023-09-20 17:16:13 -07:00
Phillip Webb
78eb8f90d1
Merge branch '3.0.x' into 3.1.x
2023-09-20 17:12:27 -07:00
Phillip Webb
9b5062e5bb
Merge branch '2.7.x' into 3.0.x
2023-09-20 17:06:55 -07:00
Phillip Webb
e10ac76761
Polish
2023-09-20 16:05:30 -07: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
Moritz Halbritter
ec87e65c8f
Merge branch '3.1.x'
...
Closes gh-37461
2023-09-19 16:02:17 +02:00
Moritz Halbritter
ea57988e2f
Merge branch '3.0.x' into 3.1.x
...
Closes gh-37460
2023-09-19 16:02:07 +02:00