Commit Graph

3237 Commits

Author SHA1 Message Date
Moritz Halbritter
e81d1226fe Prevent integer overflow when checking disk space 2023-12-12 16:26:58 +01:00
Moritz Halbritter
a242bd81e2 Merge branch '3.1.x'
Closes gh-38747
2023-12-12 13:55:44 +01:00
Yanming Zhou
3c65fdfa12 Use idiomatic AssertJ assertions
See gh-38702
2023-12-12 13:53:20 +01:00
Phillip Webb
ea87787279 Merge branch '3.1.x'
Closes gh-38741
2023-12-11 20:37:45 -08:00
Phillip Webb
39bc7c8582 Support getPermissions() call on Gradle 8.6-milestone-1
The `getPermissions` method is now part of the private
`ParentDirectoryStub` class so we now need to call
`setAccessible(true)`.

Fixes gh-38718
2023-12-11 20:35:06 -08:00
Moritz Halbritter
6330190913 Merge branch '3.1.x'
Closes gh-38728
2023-12-11 09:44:19 +01:00
Yanming Zhou
ebfbc0ef05 Cleanup kotlin sources
1. remove unused imports
2. remove redundant semicolon
3. remove empty class body
4. remove redundant 'constructor' keyword
5. remove redundant 'Unit' return type
6. use non-null type if possible

See gh-38708
2023-12-11 09:23:42 +01:00
Andy Wilkinson
e6970243ee Retry read on ClosedByInterruptException
In gh-38154, we started handling ClosedByInterruptException. The
FileChannel was repaired by recreating it and then the exception was
rethrown. This allowed other threads to use the channel that had been
read by an interrupted thread while allowing that interruption to
continue.

This approach has proven to be insufficient as there are scenarios
where the read needs to succeed on the interrupted thread. This
commit updates the handling of ClosedByInterruptException so that
this is the case. The FileChannel is recreated as before but the
thread's interrupted flag is now cleared before retrying the read.
The flag is then reinstated so that any subsequent actions that
should fail due to the interruption will do so.

We could clear and reinstate the interrupted flag before the first
read, rather than catching ClosedByInterruptException. This approach
was rejected as it will have an impact on the performance of the
happy path where the thread hasn't been interrupted.

Fixes gh-38611
2023-12-07 10:49:40 -08:00
Phillip Webb
359a6cb5bb Use encoded version of path for jar URLs
Update `JarUrl` so that the encoded version of the path is used.
This allows jars to placed in directories with `#` or `!` in the
name.

Fixes gh-38660
2023-12-06 16:20:27 -08:00
Phillip Webb
847daf484c Fix JarUrlTests
Fix `JarUrlTests` to use the jarFile rather than temp.
2023-12-06 16:19:57 -08:00
Andy Wilkinson
49990afd78 Polish
See gh-38592
2023-12-05 20:49:34 +00:00
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
Moritz Halbritter
d172b22064 Escape pipe symbol in properties changelog table cells
Closes gh-38515
2023-11-30 11:37:25 +01:00
Phillip Webb
6fd691af58 Allow FileSystems to be create by splitting URLs
Relax the constraint that a `NestedLocation` must have a nested entry
name specified so that URLs can be split and rebuilt.

Prior to this commit, given a URL of the following form:

	jar:nested:/myjar.jar!/nested.jar!/my/file

It was possible to create a FileSystem from
"jar:nested:/myjar.jar!/nested.jar" and from that create a path to
"my/file".

However, it wasn't possible to create a FileSystem from
"jar:nested:/myjar.jar", then create another file system from the path
"nested.jar" and then finally create a path to "/nested.jar".

This was because `nested:/myjar.jar` was not considered a value URL
because it didn't include a nested entry name.

Projects such as `JobRunr` were relying on the ability to compose file
systems, so it makes sense to remove our somewhat artificial
restriction.

Fixes gh-38592
2023-11-28 22:14:29 -08:00
Phillip Webb
9a0f95420a Update NestedByteChannel.read to read all possible data when
Update `NestedByteChannel.read` so that it loops until all
remaining data has been read into the buffer. Prior to this
commit, it was possible for to read only some bytes into the
buffer. Although it looks like this should be OK according to
the API documentation, the `ZipFileSystem` relies on all
remaining bytes being returned.

Fixes gh-38595
2023-11-28 22:14:29 -08:00
Phillip Webb
8c7e8778a6 Fix NegativeArraySizeException caused by missing unsigned conversion
Update `ZipContent` so that `eocd.totalNumberOfCentralDirectoryEntries`
is converted from a short to an unsigned int to prevent a negative
number from being used.

This commit also updates the code to consistently use `X.toUnsigned...`
helper methods rather than using bitwise operators.

Fixed gh-38572
2023-11-27 23:33:15 -08:00
Phillip Webb
0856e10443 Fix IndexOutOfBoundsException exception from parseUrl with empty spec
Update jar `Handler` code so that the `parseUrl` method can accept an
empty `spec`. Prior to this commit, a `classLoader.getResource("")`
call would result in a `null` result. This breaks a number of things
including `ClassPathResource` and `PathMatchingResourcePatternResolver`.

Fixes gh-38524
2023-11-23 14:35:04 -08:00
Johnny Lim
f9f73aa146 Polish
See gh-38508
2023-11-23 09:39:01 +01:00
Johnny Lim
175b6473c7 Polish
See gh-38389
2023-11-22 10:16:19 +01: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
Phillip Webb
6c3dec42e0 Add container support for Oracle Free which replaces Oracle XE
Update Docker Compose and Testcontainers support to work with
`gvenzl/oracle-free` which replaces `gvenzl/oracle-xe`.

Closes gh-38476
2023-11-21 11:51:59 -08:00
Phillip Webb
3a32e4e913 Merge branch '3.1.x'
Closes gh-38405
2023-11-20 16:27:46 -08:00
Phillip Webb
f68df82b30 Support lenient ContainerConnectionDetailsFactory hint registration
Update `ContainerConnectionDetailsFactory` hint registration logic
so that types are optional on the classpath.

See gh-36606
Fixes gh-38392
2023-11-20 16:26:22 -08:00
Moritz Halbritter
82f0684cd8 Merge branch '3.1.x'
Closes gh-38354
2023-11-14 17:04:41 +01:00
Moritz Halbritter
22a991b334 Document tags format used in Gradle and Maven plugins
Closes gh-33088
2023-11-14 17:03:50 +01:00
Phillip Webb
dbbde18d41 Attempt to fix Windows build failure due to open files
See gh-38204
2023-11-08 07:04:46 -08:00
Moritz Halbritter
b9a5bdc294 Merge branch '3.1.x'
Closes gh-38249
2023-11-07 11:28:52 +01:00
Moritz Halbritter
e549380a59 Merge branch '3.0.x' into 3.1.x
Closes gh-38248
2023-11-07 11:28:20 +01:00
Moritz Halbritter
3664877d80 Merge branch '2.7.x' into 3.0.x
Closes gh-38247
2023-11-07 11:24:16 +01: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
Phillip Webb
c0f8b90d31 Return getLastModified result from JarUrlConnection
Update `JarUrlConnection` and `NestedUrlConnection` so that calls
to `getLastModified()` and `getHeaderFieldDate("last-modified", 0)`
always return a result.

Fixes gh-38204
2023-11-04 19:43:54 -07:00
Phillip Webb
77218a644e Merge branch '3.1.x' 2023-11-02 14:16:37 -07:00
Phillip Webb
afa4d274c2 Merge branch '3.0.x' into 3.1.x 2023-11-02 14:14:19 -07:00
Phillip Webb
8d53caa1c6 Merge branch '2.7.x' into 3.0.x 2023-11-02 14:13:47 -07:00
Phillip Webb
e891a3e24c Polish adoc formatting 2023-11-02 14:12:56 -07:00
Andy Wilkinson
890a3e72ac Repair file channel when it's closed by interruption
When an interrupted that calls FileChannel.read, the channel is
closed and the read fails with a ClosedByInterruptException. The
closure of the channel makes it unusable by other threads. To
allow other threads to read from the data block, this commit
recreates the FileChannel when a read fails on an interrupted
thread with a ClosedByInterruptException. The exception is then
rethrown to continue the thread's interruption.

Closes gh-38154
2023-11-01 17:12:43 +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
Moritz Halbritter
20edbb402f Merge branch '3.1.x' 2023-10-31 10:23:13 +01:00
Moritz Halbritter
607ed86edb Merge branch '3.0.x' into 3.1.x 2023-10-31 10:23:01 +01:00
Moritz Halbritter
f3c10ae97b Polish JsonStream 2023-10-31 09:49:01 +01:00
Andy Wilkinson
94e810201e Fix test for incremental build of renamed properties class
Previously, the .class file for the renamed properties class was
on the class path of the compilation in two places:

1. The output directory of the test's previous compilation
2. The output directory of the compilation of src/test/java of
   spring-boot-configuration-processor

The first of these locations is addressed by updating TestProject.
The .class file is now deleted from the project's output location
at the same time as the .java file is deleted from its source
location.

The second of these locations is addressed by configuring the class
path of the compiler to include a copy of the result of compiling
src/test/java of spring-boot-configuration-processor. From this copy
entries can then be deleted as needed without destabilizing other tests.

Closes gh-26271
2023-10-30 15:17:28 +00:00
Moritz Halbritter
f66c76e2a8 Merge branch '3.1.x'
Closes gh-38078
2023-10-27 13:47:23 +02:00
Moritz Halbritter
5ca7201fa5 Fix "Integrating with Actuator" code snippet
Closes gh-36114
2023-10-27 13:47:02 +02:00
Moritz Halbritter
35aa28485a Merge branch '3.1.x'
Closes gh-38069
2023-10-27 09:50:57 +02:00
Moritz Halbritter
8bb2228adf Document how to unset maven.compiler.release
Closes gh-37993
2023-10-27 09:50:12 +02:00
Phillip Webb
beb49e1933 Add tests for DataBlockInputStream and fix implementation oddities
Fix issues with `DataBlockInputStream` including the fact that remain
bytes were not tracked correctly. Also add some tests and fix a few
other unusual details with the implementation.

Closes gh-38066
2023-10-26 23:00:20 -07:00
Phillip Webb
4af9ed4d1d Fix Tomcat TldScanner issues by returning raw zip data for nested jars
Update JarUrlConnection so that the full raw zip data is returned from
nested jars when no entry name is specified. This update allows
Tomcat's `WarURLConnection` to work with our nested connections since
they can parse the returned raw zip data.

Fixes gh-38047
2023-10-26 23:00:20 -07:00
Phillip Webb
bba323ba5f Copy zip data descriptor records when creating virtual zip data
The zip specification states that when 'bit 3' of the general purpose
flags is set then a data descriptor record must be present. Prior to
this commit, our `VirtualZipDataBlock` ignored such records and would
create invalid data.

Although the generated data would work for zip parsers that read the
central directory records, it causes problems with streaming reader
implementations such as `JarInputStream`.

This commit updates the code so that it now copies the data descriptor
records. It support both blocks that have a signature and those that
don't. It also updates the generation logic to correctly deal with
any extra data bytes present after the local file header record.

Fixes gh-38063
2023-10-26 23:00:20 -07:00
Phillip Webb
b35c4d6497 Open loader jar URLs by default using runtimeVersion
Update `UrlJarFileFactory` so that `runtimeVersion` is used by default
instead of `baseVersion`. Prior to this commit we tried to mirror the
JDK handler on look for a `#runtime` fragment. This unfortunately
doesn't work with the URLs produced by `URLClassPath`.

This commit also fixes a bug in `NestedJarFile` where we didn't return
the correct result from `hasEntry`.

Fixes gh-38050
2023-10-25 21:20:42 -07:00
Andy Wilkinson
b167eb3b02 Merge branch '3.1.x' 2023-10-25 14:50:30 +01:00
Andy Wilkinson
4dea11ef96 Merge branch '3.0.x' into 3.1.x 2023-10-25 14:50:21 +01:00
Andy Wilkinson
ead0c77a5b Polish
See gh-38030
2023-10-25 14:50:07 +01: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
4e7c0737d4 Fix PropertiesLauncher classpath detection without 'loader.path' set
Update `PropertiesLauncher` to restore classpath detection logic applied
when no `loader.path` property is set.

Fixes gh-37992
2023-10-24 17:03:18 -07:00
Johnny Lim
b5d4983829 Polish
See gh-37984
2023-10-23 11:15:27 +02:00
Phillip Webb
e1bd24695d Try @AssertFileChannelDataBlocksClosed for Windows fix
This updates commit dad5dc6750 to
see if @AssertFileChannelDataBlocksClosed will take care of
closing files.

See gh-7161
2023-10-20 10:05:43 -07:00
Andy Wilkinson
d13d38a141 Trim multiple leading slashes in NestedLocation
See gh-37668
2023-10-20 11:55:35 +01:00
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
Moritz Halbritter
2b4afe974a Merge branch '2.7.x' into 3.0.x
Closes gh-37459
2023-09-19 16:01:55 +02:00
Moritz Halbritter
6805a3393b Close file handle on exceptions during connect
Closes gh-32423
2023-09-19 15:17:14 +02:00
Moritz Halbritter
f93a497cc6 Merge branch '3.1.x'
Closes gh-37423
2023-09-15 15:18:46 +02:00
Moritz Halbritter
ed4b6aaa7b Merge branch '3.0.x' into 3.1.x
Closes gh-37422
2023-09-15 15:18:08 +02:00
Moritz Halbritter
5be826dd4a Merge branch '2.7.x' into 3.0.x
Closes gh-37413
2023-09-15 14:47:57 +02:00
Moritz Halbritter
408fb8ae9d Add support for EdDSA, XDH and RSA-PSS key parsing
This works with Java 17 and up. Also refactor the test for more
structure.

Closes gh-37237
2023-09-15 14:15:02 +02:00
Andy Wilkinson
8599f8ecfc Merge branch '3.1.x'
Closes gh-37409
2023-09-15 11:18:16 +01:00
Andy Wilkinson
ee6d558060 Merge branch '3.0.x' into 3.1.x
Closes gh-37408
2023-09-15 11:18:06 +01:00
Andy Wilkinson
24e3a124d9 Merge branch '2.7.x' into 3.0.x
Closes gh-37407
2023-09-15 11:17:56 +01:00
Andy Wilkinson
ee78e45ea7 Polish "Polish Javadoc for DockerImageNames.rabbit()"
See gh-37394
2023-09-15 11:17:15 +01:00
Johnny Lim
fbfd6816c2 Polish Javadoc for DockerImageNames.rabbit()
See gh-37394
2023-09-15 11:16:06 +01:00
Andy Wilkinson
a0435920ce Merge branch '3.1.x'
Closes gh-37406
2023-09-15 11:15:03 +01:00
Andy Wilkinson
5910b3c0d6 Merge branch '3.0.x' into 3.1.x
Closes gh-37405
2023-09-15 11:08:40 +01:00
Andy Wilkinson
0af008960f Merge branch '2.7.x' into 3.0.x
Closes gh-37404
2023-09-15 11:05:24 +01:00
Andy Wilkinson
e1f6fb5a61 Remove @since from spring-boot-test-support's javadoc
Closes gh-37403
2023-09-15 10:54:41 +01: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
Fouad Almalki
7edc9ebc28 Lazily query attributes when copying from base configuration
See gh-37343
2023-09-14 10:30:11 +01:00
Eddú Meléndez
6997277f75 Add service connection from OpenTelemetry Collector
See gh-35082
2023-09-14 09:44:20 +02: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
ed5d16de84 Upgrade to Jetty 12
Closes gh-36073
2023-09-07 13:59:15 +01:00
Chris Bono
6e7b845bdf Add support for Apache Pulsar
Add support for Apache Pulsar using the Spring for Apache Pulsar
project.

See gh-34763

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2023-09-05 17:01:51 -07:00
Andy Wilkinson
db02f89f03 Merge branch '3.1.x'
Closes gh-37184
2023-09-04 08:26:04 +01:00
Andy Wilkinson
c562e8e01f Merge branch '3.0.x' into 3.1.x
Closes gh-37183
2023-09-04 08:25:46 +01:00
Andy Wilkinson
d6b04af512 Merge branch '2.7.x' into 3.0.x
Closes gh-37182
2023-09-04 08:25:33 +01:00
Andy Wilkinson
fadc58679d Speed up ImageReference.of when path contains upper-case chars
Closes gh-35657
2023-09-04 08:18:28 +01: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
Yanming Zhou
a8706962d4 Use project.getLayout().getBuildDirectory() instead of getBuildDir()
See gh-37167
2023-09-01 14:08:16 +01:00
Phillip Webb
b1547d0139 Merge branch '3.1.x'
Closes gh-37171
2023-08-31 22:38:29 -07:00
Phillip Webb
37e67058b7 Merge branch '3.0.x' into 3.1.x
Closes gh-37169
2023-08-31 22:24:14 -07:00
Phillip Webb
71ed31343c Merge branch '2.7.x' into 3.0.x
Closes gh-37168
2023-08-31 22:01:06 -07:00
Phillip Webb
fd8cb74b46 Load algorithm parameters from PEM encoded 'EC PRIVATE KEY' files
Update `PrivateKeyParser` implementations so that algorithm parameters
for PEM encoded 'EC PRIVATE KEY' files are loaded from the incoming
data.

Prior to this commit, the algorithm parameter was hard-coded to
'secp384r1' which could result in a mismatch to the actual file
content.

Fixes gh-34232
2023-08-31 21:40:11 -07:00
Phillip Webb
3640491d5a Fix Timezone used for now in BuildRequestTests 2023-08-30 20:34:01 -07:00
Phillip Webb
c142051320 Merge branch '3.1.x' 2023-08-30 20:33:32 -07:00
Phillip Webb
f8f4a2b986 Fix Timezone used for now in BuildRequestTests 2023-08-30 20:33:17 -07:00
Scott Frederick
1c03ed3184 Merge branch '3.1.x'
Closes gh-37052
2023-08-21 16:41:11 -05:00
Scott Frederick
ef40d9ebe2 Merge branch '3.0.x' into 3.1.x
Closes gh-37051
2023-08-21 16:40:55 -05:00
Scott Frederick
0b197650a9 Merge branch '2.7.x' into 3.0.x
Closes gh-37050
2023-08-21 16:40:43 -05:00
Scott Frederick
d5cfe4d475 Remove invalid caches parameter entry from Maven plugin docs
Fixes gh-37048
2023-08-21 16:40:18 -05: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
fc35975fcc Merge branch '3.1.x'
Closes gh-37028
2023-08-18 14:33:46 +02: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
Stephane Nicoll
b0ac3a7835 Merge branch '3.1.x'
Closes gh-36973
2023-08-14 16:13:07 +02:00
Stephane Nicoll
5f2432aca2 Merge branch '3.0.x' into 3.1.x
Closes gh-36972
2023-08-14 16:12:55 +02:00
Stephane Nicoll
0271efae4c Polish "Avoid setting null compiler option"
See gh-36971
2023-08-14 16:07:25 +02:00
omaryaya
a0ad00c542 Avoid setting null compiler option
See gh-36971
2023-08-14 16:06:34 +02:00
Stephane Nicoll
70ea830277 Merge branch '3.1.x'
Closes gh-36967
2023-08-14 15:14:59 +02:00
Stephane Nicoll
0cf21b21ca Merge branch '3.0.x' into 3.1.x
Closes gh-36966
2023-08-14 15:14:49 +02:00
normandra
62902a798d Fix typo
See gh-36964
2023-08-14 15:01:39 +02:00
Stephane Nicoll
e073d14950 Merge branch '3.1.x'
Closes gh-36960
2023-08-14 11:37:14 +02:00
Stephane Nicoll
b903df7327 Merge branch '3.0.x' into 3.1.x
Closes gh-36959
2023-08-14 11:37:07 +02:00
Stephane Nicoll
3ae65e073c Use Aether to download JUnit platform launcher
This commit updates our maven plugin to use aether directly, rather than
the now deprecated maven features.

Closes gh-36724
2023-08-14 11:23:43 +02:00
Phillip Webb
8edec21a6f Update copyright year of changed files 2023-08-13 20:44:44 -07:00
Phillip Webb
407fa780c8 Polish 2023-08-13 20:44:44 -07:00
Phillip Webb
d73d8f8e4f Merge branch '3.1.x' 2023-08-13 19:15:56 -07:00
Phillip Webb
848a61a3a8 Merge branch '3.0.x' into 3.1.x 2023-08-13 18:50:33 -07:00
Phillip Webb
a0089c5c76 Merge branch '2.7.x' into 3.0.x 2023-08-13 18:44:36 -07:00
Phillip Webb
46773dd5df Update copyright year of changed files 2023-08-13 18:19:05 -07:00
Andy Wilkinson
d1449fb97c Make milestone plugin dependencies available to Maven integration tests 2023-08-09 21:20:40 +01:00
Andy Wilkinson
1e28ebd8aa Merge branch '3.1.x'
Closes gh-36823
2023-08-09 09:25:38 +01:00
Andy Wilkinson
9f2e592b9b Merge branch '3.0.x' into 3.1.x
Closes gh-36822
2023-08-09 09:21:02 +01:00
Andy Wilkinson
4062ba6d28 Merge branch '2.7.x' into 3.0.x
Closes gh-36821
2023-08-09 08:25:41 +01:00
Andy Wilkinson
68baa6e7df Make section IDs consistent in Maven Plugin docs and enforce it
Closes gh-26619
2023-08-09 08:06:38 +01:00
Moritz Halbritter
0588f9bf37 Use Deque instead of Stack 2023-08-08 14:06:31 +02:00
Moritz Halbritter
e4484c3db5 Use constants in SpringBootAotPlugin 2023-08-08 13:12:48 +02:00
Moritz Halbritter
62fb45f75f Replace contains/put/get pattern with computeIfAbsent 2023-08-08 13:12:47 +02:00
Moritz Halbritter
7bb337aeb1 Polish tests 2023-08-08 13:12:47 +02:00
Moritz Halbritter
ed9169501e Polish 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
Andy Wilkinson
579aac055d Upgrade to Maven Shade Plugin 3.5.0
Closes gh-36752
2023-08-04 19:27:49 +01:00
Andy Wilkinson
1368593199 Upgrade to Maven Resolver 1.9.14
Closes gh-36751
2023-08-04 19:27:46 +01:00
Andy Wilkinson
0c7c7ac8a9 Upgrade to Maven 3.9.4
Closes gh-36747
2023-08-04 19:27:42 +01:00
Andy Wilkinson
ce14c70fbd Upgrade to Maven Resolver 1.9.14
Closes gh-36731
2023-08-04 13:49:32 +01:00
Andy Wilkinson
64463fe7ec Upgrade to Maven 3.9.4
Closes gh-36729
2023-08-04 13:49:31 +01:00
Andy Wilkinson
14cf2335ee Upgrade to Maven Resolver 1.9.14
Closes gh-36719
2023-08-04 11:49:11 +01:00
Andy Wilkinson
0457519fab Upgrade to Maven 3.9.4
Closes gh-36717
2023-08-04 11:49:10 +01:00
Andy Wilkinson
2c7fe47529 Upgrade to Maven Resolver 1.9.14
Closes gh-36707
2023-08-04 08:22:56 +01:00
Andy Wilkinson
59bd6879a2 Upgrade to Maven 3.9.4
Closes gh-36705
2023-08-04 08:22:55 +01:00
Scott Frederick
ecdb9f6b07 Add support for CNB platform API 0.12
Closes gh-36712
2023-08-03 15:57:36 -05:00
Moritz Halbritter
1a8b8ce26e Revert "Revise synchronized blocks"
This reverts commit 497bbf9c2d.
2023-08-03 17:26:31 +02:00
Stephane Nicoll
f34dc05452 Rename run goal's directories property to additionalClasspathElements
This clarifies what used to be called "directories" as both a directory
and a jar file can be provided. A directory with `/*` would also load
all the jar files from that directory.

The "directories" property has been deprecated as a result.

Closes gh-35179
2023-08-03 16:22:07 +02:00
Moritz Halbritter
497bbf9c2d Revise synchronized blocks
- Replace synchronized with Lock when guarding long-running operations
- Remove unnecessary synchronization in FileSystemWatcher
- Replace HashMap with ConcurrentHashMap in Restarter
- Remove unnecessary locking on AtomicBoolean in
  SpringApplicationBuilder
- Remove unnecessary locking in SimpleFormatter

Closes gh-36670
2023-08-03 09:23:46 +02:00
Scott Frederick
6506208d29 Upgrade default CNB builders to Paketo Jammy
Closes gh-36689
2023-08-02 19:06:16 -05:00
Andy Wilkinson
b02c1877fc Fix configIsReadWithProvidedContext on Windows
See gh-36445
2023-08-02 14:59:47 +01:00
Moritz Halbritter
5d9d0f43b6 Implement AssertJ assertions for SimpleAsyncTaskExecutor 2023-08-02 10:51:09 +02:00
Scott Frederick
2e50d11d86 Add since attribute to @DeprecatedConfigurationProperty annotation
Closes gh-36482
2023-08-01 16:13:22 -05:00
Andy Wilkinson
21ce7a08fc Polish "Polish"
See gh-36620
2023-07-28 11:40:34 +01:00
Johnny Lim
5a205dbfd1 Polish
See gh-36620
2023-07-28 11:35:33 +01:00
Andy Wilkinson
e3eb2893f0 Merge branch '3.1.x'
Closes gh-36623
2023-07-28 10:11:24 +01:00
Andy Wilkinson
3ba5f501ea Merge branch '3.0.x' into 3.1.x
Closes gh-36622
2023-07-28 10:10:58 +01:00
Andy Wilkinson
6b6e8b3fd4 Merge branch '2.7.x' into 3.0.x
Closes gh-36621
2023-07-28 10:10:32 +01:00
Christoph Dreis
42e89079d3 Enable debug option for Kotlin in Gradle Plugin tests
See gh-36617
2023-07-28 10:09:59 +01:00
Stephane Nicoll
150526a6a0 Merge branch '2.7.x' into 3.0.x
Closes gh-36611
2023-07-27 14:52:37 +02:00
Stephane Nicoll
87554fb4dc Add test for RabbitMQ smoke test
Closes gh-36610
2023-07-27 14:51:50 +02:00
Stephane Nicoll
4d708641b3 Test Gradle plugin against Gradle 8.2.1
Closes gh-36548
2023-07-25 11:52:48 +02:00
Stephane Nicoll
26ff1a2df6 Merge branch '3.1.x'
Closes gh-36551
2023-07-25 11:52:14 +02:00
Stephane Nicoll
9889adfa43 Merge branch '3.0.x' into 3.1.x
Closes gh-36550
2023-07-25 11:52:03 +02:00
Stephane Nicoll
d30afee06e Merge branch '2.7.x' into 3.0.x
Closes gh-36549
2023-07-25 11:51:46 +02:00
Stephane Nicoll
a350ede711 Test Gradle plugin against Gradle 8.2.1
Closes gh-36548
2023-07-25 11:41:48 +02:00
Scott Frederick
2452958f7b Merge branch '3.1.x'
Closes gh-36486
2023-07-24 15:10:48 -05:00
Scott Frederick
bf08cc25df Use DockerImageNames in Docker compose integration tests
Closes gh-36485
2023-07-24 11:00:20 -05:00
Andy Wilkinson
07a7ff473b Merge branch '3.1.x'
Closes gh-36495
2023-07-21 16:47:35 +01:00
Andy Wilkinson
519966e230 Merge branch '3.0.x' into 3.1.x
Closes gh-36494
2023-07-21 16:47:24 +01:00
Andy Wilkinson
84c1c5ccaa Polish "Don't run process-aot or process-test-aot on reactor projects"
See gh-35377
2023-07-21 16:39:50 +01:00
Urs Keller
0308de1672 Don't run process-aot or process-test-aot on reactor projects
See gh-35377
2023-07-21 16:39:24 +01:00
Andy Wilkinson
12254b11ce Don't run KotlinPluginActionITs on JVMs not support by Gradle 7.6 2023-07-21 16:24:32 +01:00
Andy Wilkinson
2029117999 Upgrade to Kotlin 1.9.0
Closes gh-36362
2023-07-19 20:27:41 +01:00
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
2023-07-18 13:21:01 -06:00
Stephane Nicoll
62c9936abf Merge branch '3.1.x'
Closes gh-36428
2023-07-17 15:25:10 +02:00
Stephane Nicoll
bb16ed1245 Merge branch '3.0.x' into 3.1.x
Closes gh-36427
2023-07-17 15:24:58 +02:00
Stephane Nicoll
3586bfb629 Merge branch '2.7.x' into 3.0.x
Closes gh-36426
2023-07-17 15:22:43 +02:00
Stephane Nicoll
09e5d38348 Polish "Replace @CsvSource with @ValueSource where feasible"
See gh-36062
2023-07-17 15:16:27 +02:00
Yanming Zhou
acb7acd5d9 Replace @CsvSource with @ValueSource where feasible
@ValueSource is more appropriate for single parameter.

See gh-36062
2023-07-17 15:16:26 +02:00
Andy Wilkinson
fc8a8d363f Polish 2023-07-05 15:50:32 +01:00
Andy Wilkinson
ce8253ea95 Merge branch '3.1.x'
Closes gh-36238
2023-07-05 09:51:35 +01:00
Andy Wilkinson
c9f8d92656 Merge branch '3.0.x' into 3.1.x
Closes gh-36237
2023-07-05 09:47:43 +01:00
Johnny Lim
0fa58c04e7 Use Stream.toList()
See gh-36167
2023-07-05 09:38:19 +01:00
Andy Wilkinson
8ed160a144 Merge branch '3.1.x'
Closes gh-36228
2023-07-05 08:53:33 +01:00
Andy Wilkinson
480049ef5b Merge branch '3.0.x' into 3.1.x
Closes gh-36227
2023-07-05 08:53:15 +01:00
Andy Wilkinson
cbc0f7117f Merge branch '2.7.x' into 3.0.x
Closes gh-36226
2023-07-05 08:52:55 +01:00
Andy Wilkinson
fe08c70973 Test Gradle plugin against Gradle 8.2
Closes gh-36207
2023-07-05 08:13:24 +01:00
Andy Wilkinson
9985c845f2 Adapt to Framework changes missed due to predictive test selection
See gh-36198
2023-07-04 12:39:52 +01:00
Andy Wilkinson
5a9ca67fba Start building against Spring Framework 6.2.0-M2 snapshots
See gh-36198
2023-07-04 10:20:33 +01:00
Phillip Webb
1bf334ae0f Polish config metadata changelog generator
See gh-21486
2023-07-01 00:30:26 +01:00
Andy Wilkinson
32b7b312f0 Add config metadata changelog generator to main build
Closes gh-21486
2023-06-30 10:26:33 +01:00
Andy Wilkinson
6d8ca7286a Merge branch '3.1.x'
Closes gh-36128
2023-06-30 08:26:26 +01:00
Andy Wilkinson
a268c6433e Merge branch '3.0.x' into 3.1.x
Closes gh-36127
2023-06-30 08:26:12 +01:00
Andy Wilkinson
93f8bd2170 Merge branch '2.7.x' into 3.0.x
Closes gh-36126
2023-06-30 08:25:53 +01:00
Andy Wilkinson
b32697b3ce Add support to @ClassPathExclusions for excluding packages
Closes gh-36120
2023-06-29 16:53:36 +01:00
Scott Frederick
c32877493c Merge branch '3.1.x'
Closes gh-36055
2023-06-23 15:47:00 -06:00
Scott Frederick
b9b314622f Merge branch '3.0.x' into 3.1.x
Closes gh-36054
2023-06-23 15:46:44 -06:00
Scott Frederick
4a3abdd7c3 Merge branch '2.7.x' into 3.0.x
Closes gh-36053
2023-06-23 15:46:27 -06:00
Johnny Lim
59d4bf97a1 Add Javadoc since to ImageReference.inTaglessForm()
See gh-36048
2023-06-23 15:45:29 -06:00
Scott Frederick
90dd7449bb Merge branch '3.1.x'
Closes gh-36051
2023-06-23 15:20:25 -06:00
Scott Frederick
92b2573a60 Merge branch '3.0.x' into 3.1.x
Closes gh-36050
2023-06-23 15:20:06 -06:00
Scott Frederick
eeeb2ad72a Merge branch '2.7.x' into 3.0.x
Closes gh-36049
2023-06-23 15:19:44 -06:00
Johnny Lim
4a2c9d99dc Remove redundant Files.delete() calls in tests
See gh-35986
2023-06-23 15:14:59 -06:00
Andy Wilkinson
b645eb32ac Remove deprecated code that was to be removed in 3.2
Closes gh-36034
2023-06-23 18:14:22 +01:00
Andy Wilkinson
fc403f4f18 Merge branch '3.1.x' 2023-06-21 13:15:06 +01:00
Andy Wilkinson
d3522a78a8 Merge branch '3.0.x' into 3.1.x 2023-06-21 13:14:46 +01:00
Andy Wilkinson
641f00f24c Disable test when Java version is too high
Gradle 7.3.3 does not support Java 20 so the test that verifies that
the plugin fails fast when running on a version of Gradle that it
does not support needs to be disabled on Java 20 and later.

See gh-35931
2023-06-21 13:12:20 +01:00
Andy Wilkinson
b394553b30 Merge branch '3.1.x' 2023-06-21 12:11:06 +01:00
Andy Wilkinson
660dbb9afd Fix Maven-built native images with Docker Compose dependency
Previously, we tried to prevent spring-boot-docker-compose from
causing problems with AOT and native images by excluding it from
the AOT processing classpath. This allowed AOT processing to
succeed. We cannot apply the same exclusion to the native image
classpath so spring-boot-docker-compose was still included in the
native image. This results in a failure at runtime due to missing
reflection hints.

This commit reverts that changes that excluded
spring-boot-docker-compose from the AOT processing classpath. This
allows AOT processing to generate reflection hints but reintroduces
the failure caused by the connection details bean definitions using
an instance supplier callback. To overcome this problem we disable
DockerComposeLifecycleManager during AOT processing and in a native
image. This ensures that no attempt is made to call docker compose up
and no connection details beans are defined.

Fixes gh-35676
2023-06-21 11:44:30 +01:00
Andy Wilkinson
818f096890 Merge branch '3.1.x' 2023-06-21 10:46:35 +01:00
Andy Wilkinson
853caf9a59 Do not exclude DevTools from Maven AOT processing classpath
When excluded from the AOT processing classpath, a reflection hint
for DevTools' RestartScopeInitializer that's registered in
spring.factories is not generated. When the native image is compiled
we have no control over its classpath so DevTools is included. This
causes a failure at runtime as RestartScopeInitializer cannot be
loaded due to the missing reflection hint.

Until we have control over the native image classpath, we need to
include DevTools on the AOT processing classpath and then rely on
DevTools disabling itself in a native image which it already does.

Fixes gh-35853
2023-06-21 10:36:38 +01:00
Andy Wilkinson
ca5bd37e81 Upgrade to Spring Framework 6.1.0-M1
Closes gh-35977
Closes gh-35980
2023-06-19 18:12:16 +01:00
Phillip Webb
8afbff3f28 Merge branch '3.1.x' 2023-06-16 16:17:59 -07:00
Phillip Webb
3d6c6a6611 Merge branch '3.0.x' into 3.1.x
Closes gh-35934
2023-06-16 16:15:04 -07:00
Phillip Webb
af846da69b Merge branch '2.7.x' into 3.0.x
Closes gh-35933
2023-06-16 16:14:52 -07:00
Phillip Webb
23eb7ec1f8 Merge branch '3.1.x' 2023-06-16 14:35:44 -07:00
Phillip Webb
5d6a507142 Merge branch '3.0.x' into 3.1.x 2023-06-16 14:35:23 -07:00
Phillip Webb
48e13af8c4 Merge branch '2.7.x' into 3.0.x 2023-06-16 14:34:54 -07:00
Scott Frederick
fe927f0e06 Merge branch '3.1.x' 2023-06-16 16:11:00 -05:00
Scott Frederick
e8301a065f Merge branch '3.0.x' into 3.1.x
Closes gh-35932
2023-06-16 16:10:48 -05:00
Scott Frederick
fbba2df7bf Enable Gradle plugin tests on Java 20
Closes gh-35931
2023-06-16 16:10:24 -05:00
Andy Wilkinson
b9c2c289b3 Start working on Spring Boot 3.2
This commit also disables the creation of forward merge issues
when merging into main. Forward merge issues will be re-enabled
once 3.1.1 has been released.
2023-06-08 17:22:21 +01:00
Andy Wilkinson
cdcebe452c Polish "Test Gradle plugin against Gradle 8.2-rc-1"
See gh-35708
2023-06-05 10:59:30 +01:00
Andy Wilkinson
45ce18e1c7 Polish "Test Gradle plugin against Gradle 8.2-rc-1"
See gh-35708
2023-06-02 15:35:34 +01:00
Andy Wilkinson
d6192a0fa1 Merge branch '3.0.x'
Closes gh-35708
2023-06-02 15:18:13 +01:00
Andy Wilkinson
5a793a6d49 Merge branch '2.7.x' into 3.0.x
Closes gh-35707
2023-06-02 15:17:35 +01:00
Andy Wilkinson
5623fe3b94 Test Gradle plugin against Gradle 8.2-rc-1
Closes gh-35699
2023-06-02 13:23:36 +01:00
kitbolourchi
1ac6e9ebe1 Upgrade Kafka image used in integration tests
See gh-35625
2023-05-24 16:12:08 -05:00
Stephane Nicoll
dcb97594c3 Merge branch '3.0.x'
Closes gh-35618
2023-05-24 13:30:54 +02:00
Stephane Nicoll
44c2090092 Polish "Fix description of build-image[-no-fork] Maven plugin goals"
See gh-35609
2023-05-24 13:28:01 +02:00
Thomas Kåsene
e84025b1b8 Fix description of build-image[-no-fork] Maven plugin goals
See gh-35609
2023-05-24 13:24:37 +02:00
Phillip Webb
1ec78e5437 Add devtools and docker-compose to test maven repository
See gh-35548
2023-05-18 15:15:16 -07:00
Phillip Webb
c2961a1e4a Exclude docker-compose and devtools during AOT processing
Update `ProcessAotMojo` so that `spring-boot-docker-compose` and
`spring-boot-devtools` are not included on the classpath.

Fixes gh-35548
2023-05-18 11:21:13 -07:00
Phillip Webb
ae90add7c7 Polish 2023-05-16 14:04:48 -07:00
Andy Wilkinson
37cc6b6a70 Merge branch '3.0.x'
Closes gh-35444
2023-05-16 09:27:30 +01:00
Andy Wilkinson
c39a37cd23 Exclude developmentOnly dependences from AOT processing classpaths
Fixes gh-35433
2023-05-16 09:26:20 +01:00
Phillip Webb
e3ed87d165 Merge branch '3.0.x' 2023-05-12 13:21:52 -07:00
Phillip Webb
92e420a098 Merge branch '2.7.x' into 3.0.x 2023-05-12 13:14:12 -07:00
Phillip Webb
57e45dfb21 Update copyright year of changed files 2023-05-12 13:01:43 -07:00
Phillip Webb
ef4b09718c Fix loading of PKCS#8 PEM encoded EC and DSA keys for buildpack
Polish and port support for PKCS#8 PEM encoded EC and DSA keys to
the buildpack code.

See gh-35322
2023-05-12 13:01:30 -07:00
Phillip Webb
e9c4a5d663 Polish 2023-05-12 13:01:30 -07:00
Moritz Halbritter
e930801eb1 Separate tag in the Docker API tag call
Closes gh-35358
2023-05-11 09:52:52 +02:00
Moritz Halbritter
d00e070cdb Separate tag in the Docker API tag call
Closes gh-35358
2023-05-11 09:52:45 +02:00