Commit Graph

3598 Commits

Author SHA1 Message Date
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
Moritz Halbritter 4eef8d5a53 Separate tag in the Docker API tag call
Closes gh-35358
2023-05-11 09:52:41 +02:00
Johnny Lim ff9fd1abeb Polish
See gh-35185
2023-05-10 08:31:36 +02:00
Moritz Halbritter 05add58976 Merge branch '3.0.x'
Closes gh-35373
2023-05-10 08:23:35 +02:00
Moritz Halbritter 42cc84070b Merge branch '2.7.x' into 3.0.x
Closes gh-35372
2023-05-10 08:23:27 +02:00
Moritz Halbritter 52789cb191 Fix anchors in Maven plugin documentation
Closes gh-35371
2023-05-10 08:21:44 +02:00
Andy Wilkinson 93c3116b3a Fix failsGracefullyWhenNoTestMainMethodIsFound on Windows 2023-05-09 16:56:18 +01:00
Moritz Halbritter a4092fb396 Remove HTML tags from TestRunMojo javadoc
Closes gh-35349
2023-05-09 10:14:55 +02:00
Scott Frederick cf180fa1cc Merge branch '2.7.x' into 3.0.x
Closes gh-35243
2023-05-05 16:07:23 -05:00
Scott Frederick 5d91c24f63 Update Couchbase image tag used in tests
Closes gh-35228
2023-05-05 14:45:58 -05:00
Andy Wilkinson 07a11045d9 Merge branch '3.0.x'
Closes gh-35328
2023-05-05 17:35:50 +01:00
Andy Wilkinson fd864c35aa Improve mapping of resolved artifacts to dependency coordinates
Closes gh-31216
2023-05-05 17:32:59 +01:00
Moritz Halbritter 441ed30ee4 Polish "Replace Mockito argument captors with assertArg"
Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>

See gh-35015
2023-05-05 15:41:31 +02:00
Marc Leroux b61834c92d Replace Mockito argument captors with assertArg
See gh-35015
2023-05-05 11:34:55 +02:00
Scott Frederick 1143396531 Add smoke tests to verify Couchbase SSL connections
See gh-34811
2023-05-04 17:09:52 -05:00
Andy Wilkinson 19d7973776 Add bootTestRun to run app using test source set output and classpath
Closes gh-35248
2023-05-04 15:27:10 +01:00
Andy Wilkinson e43998615c Add a test-run goal to the Maven plugin
Closes gh-35202
2023-05-04 15:06:03 +01:00
Moritz Halbritter 9b5a2643cc Polish "Add service connection from Testcontainers Zipkin"
See gh-35107
2023-05-03 13:09:50 +02:00
Phillip Webb d86e82d026 Merge branch '3.0.x' 2023-05-02 15:42:05 -07:00
Phillip Webb 2c27ec5b7b Merge branch '2.7.x' into 3.0.x 2023-05-02 15:42:00 -07:00
Phillip Webb b3226c55d2 Polish 2023-05-02 15:41:55 -07:00
Scott Frederick 23ae91b008 Add native image manifest entry
A manifest entry `Spring-Boot-Native-Processed: true` is added to the
jar manifest by the Maven or Gradle plugin when the jar has been built
for use in a native image. With the Gradle plugin, this is done in
reaction to the GraalVM Native Image Plugin being applied to the
project. With the Maven plugin, this is done when the `native` profile
is applied to the build.
2023-05-02 15:11:49 -05:00
Scott Frederick 5ac6a3d90b Add smoke test to verify MongoDB SSL connections
See gh-35042
2023-05-02 15:11:09 -05:00
Scott Frederick 3bb271e320 Add smoke test to verify Redis SSL connection
See gh-34815
2023-05-02 13:52:50 -05:00
Moritz Halbritter 9d50d92b9c Merge branch '3.0.x' 2023-05-02 16:36:49 +02:00
Moritz Halbritter 1f4a337ad2 Merge branch '2.7.x' into 3.0.x 2023-05-02 16:17:50 +02:00
Moritz Halbritter 091d6204cb Disable build image integration tests on aarch64 linux and mac
See gh-35229
2023-05-02 15:38:42 +02:00
Moritz Halbritter 7c725a7560 Polish DockerImageNames 2023-05-02 15:01:45 +02:00
Andy Wilkinson ce7bf0d0af Merge branch '3.0.x'
Closes gh-35197
2023-04-28 18:06:37 +01:00
Andy Wilkinson 4581c25e20 Merge branch '2.7.x' into 3.0.x
Closes gh-35196
2023-04-28 18:06:12 +01:00
Andy Wilkinson de2df9311c Test Gradle plugin against Gradle 8.1.1
Closes gh-35195
2023-04-28 18:05:06 +01:00
Andy Wilkinson b64adbc34b Fix disabled conditions on AbstractDockerComposeIntegrationTests 2023-04-20 16:12:36 +01:00
Andy Wilkinson d4f857683d Polish formatting of DockerImageNames 2023-04-19 14:22:12 +01:00
Stephane Nicoll a323bd90a8 Polish "Reintroduce support for ActiveMQ"
See gh-35048
2023-04-19 13:08:14 +02:00
Andy Wilkinson 651f341385 Fix compatibility of Redpanda Docker image name
See 3e010b12
2023-04-18 19:52:17 +01:00
Phillip Webb 3e010b1230 Fetch redpanda directly from docker hub
Attempt to avoid rate limiting issues by fetching redpanda directly
from docker hub.

See gh-34780
2023-04-18 10:51:46 -07:00
Andy Wilkinson 0da209db08 Polish "Add support for Oracle R2DBC Service Connection"
See gh-34852
2023-04-18 13:47:46 +01:00
Eddu Melendez f4bcf99d30 Add service connection from Testcontainers Redpanda
Redpanda (https://redpanda.com/) is Kafka-compatible and
Testcontainers provides a module. This commit adds support for
creating KafkaConnectionDetails from a
@ServiceConnection-annotated RedpandaContainer.

See gh-34780
2023-04-18 12:49:25 +01:00
Stephane Nicoll 16563a6a0a Upgrade to Native Build Tools Plugin 0.9.21
Closes gh-35055
2023-04-18 13:45:53 +02:00
Andy Wilkinson 2b4f565b76 Merge branch '3.0.x'
Closes gh-35038
2023-04-17 17:52:11 +01:00
Andy Wilkinson df93b39f60 Merge branch '2.7.x' into 3.0.x
Closes gh-35037
2023-04-17 17:51:53 +01:00
Andy Wilkinson d6bbbb8bac Merge branch '3.0.x'
Closes gh-35036
2023-04-17 17:49:55 +01:00
Andy Wilkinson 284e4d6f6d Merge branch '2.7.x' into 3.0.x
Closes gh-35035
2023-04-17 17:46:33 +01:00
Andy Wilkinson 88ec47ff2b Test Gradle plugin against Gradle 8.1
Closes gh-35034
2023-04-17 17:38:28 +01:00
Andy Wilkinson 751fc9fe54 Fix includeProjectDependencies with Kotlin DSL 2023-04-17 17:35:15 +01:00
Mortitz Halbritter 24d1620a93 Add 'excludeDockerCompose' Maven property
Update `AbstractPackagerMojo` so that the docker-compose module
can be filtered from the packaged jar.

Co-authored-by: Phillip Webb <pwebb@vmware.com>
Co-authored-by: "Andy Wilkinson <wilkinsona@vmware.com>
2023-04-17 01:00:16 -07:00
Phillip Webb 4ae24e404e Add @DisabledIfProcessUnavailable test support annotation
Add `@DisabledIfProcessUnavailable` annotation that can disable
a test if a process isn't available to execute.

Closes gh-35023
2023-04-17 01:00:04 -07:00
Andy Wilkinson d5756db54c Stop using Native Build Tools "requiredVersion" configuration option
Closes gh-34840
2023-04-14 11:55:20 +01:00
Andy Wilkinson b8ec7d291d Upgrade to Jackson Bom 2.15.0-rc2
Closes gh-34980
2023-04-14 11:55:20 +01:00
Phillip Webb e9a198a68f Merge branch '3.0.x' 2023-04-12 22:16:35 -07:00
Phillip Webb 9b6a2a59a1 Set offset when checking date in tests
Update integration tests that check the current date so that the offset
is set for the current time before comparing results.

See gh-34786
2023-04-12 22:13:08 -07:00
Phillip Webb 8d2f550f8c Merge branch '3.0.x' 2023-04-10 21:14:42 -07:00
Phillip Webb 3ba3558cff Merge branch '2.7.x' into 3.0.x 2023-04-10 21:14:34 -07:00
Phillip Webb 3e9a136143 Polish gradle formatting 2023-04-10 21:14:09 -07:00
Phillip Webb 463701db18 Merge branch '3.0.x' 2023-04-10 16:22:57 -07:00
Phillip Webb d442bfbeff Polish 2023-04-10 16:22:11 -07:00
Scott Frederick 56bc6d2fa0 Allow image application directory to be configurable
An `applicationDirectory` option on the Maven
`spring-boot:build-image` goal and the Gradle `bootBuildImage` task
can be configured to set the location that will be used to upload
application contents to the builder image, and will contain the
application contents in the generated image.

Closes gh-34786
2023-04-07 14:00:00 -05:00
Scott Frederick 5817c8441d Allow image Created date to be configurable
A `createdDate` option on the Maven `spring-boot:build-image` goal
and the Gradle `bootBuildImage` task can be used to set the `Created`
metadata field on a generated OCI image to a specified date or to
the current date.

Closes gh-28798
2023-04-06 15:08:34 -05:00
Stephane Nicoll 5c1c0a2b2e Upgrade to Kotlin 1.8.20
Closes gh-34879
2023-04-06 16:25:23 +02:00
Andy Wilkinson 29193c4b9e Merge branch '3.0.x'
Closes gh-34789
2023-03-28 09:33:55 +01:00
Andy Wilkinson 4b58eefe7b Merge branch '2.7.x' into 3.0.x
Closes gh-34788
2023-03-28 09:33:41 +01:00
Andy Wilkinson 4705e82a6e Note that optional dependencies are included by run and repackage
Closes gh-34636
2023-03-28 09:33:06 +01:00
Andy Wilkinson 95f45eab1f Create service connections from Testcontainers-managed containers
Building upon the auto-configuration support for service connections,
this commit adds support for deriving connection details from a
Testcontainers-managed container. Several service-specific
annotations have been introduced. These annotations can be used on a
container field to indicate that it is a source of the details for
a service connection.

See gh-34658

Co-Authored-By: Phillip Webb <pwebb@vmware.com>
Co-Authored-By: Mortitz Halbritter <mkammerer@vmware.com>
2023-03-24 10:04:21 +00:00
Scott Frederick 9fa5aa3649 Merge branch '3.0.x'
Closes gh-
2023-03-21 14:56:16 -05:00
Scott Frederick 6a6f4a3928 Merge branch '2.7.x' into 3.0.x
Closes gh-34704
2023-03-21 14:56:02 -05:00
Scott Frederick ad680ed4ea Polish "Add documentation for publishing images with Maven command line"
See gh-34517
2023-03-21 13:30:50 -05:00
Anthony Dahanne 21978da02a Add documentation for publishing images with Maven command line
See gh-34517
2023-03-21 13:30:50 -05:00
Andy Wilkinson 7283493031 Upgrade to Maven Help Plugin 3.4.0
Closes gh-34687
2023-03-21 12:04:36 +00:00
Andy Wilkinson bfeeda6fbc Merge branch '3.0.x'
Closes gh-34601
2023-03-14 14:40:50 +00:00
Andy Wilkinson 220c4b671b Merge branch '2.7.x' into 3.0.x
Closes gh-34600
2023-03-14 14:40:26 +00:00
Johnny Lim 00f388fa6f Polish Javadoc since tags for gh-34324
See gh-34587
2023-03-14 14:39:10 +00:00
Scott Frederick dab8b07302 Merge branch '3.0.x'
Closes gh-34496
2023-03-06 15:31:09 -06:00
Scott Frederick 29ad690d56 Merge branch '2.7.x' into 3.0.x
Closes gh-34495
2023-03-06 15:30:55 -06:00
Scott Frederick 7730eee439 Use image manifest when exporting layers
A tar archive of a Docker image contains a `mainfest.json` file that
lists the path to each embedded tar file containing the contents of a
layer in the image. This manifest file should be used to identify the
layer files instead of relying on file naming conventions and
assumptions on the directory structure that are not consistent
between container engine implementations.

Fixes gh-34324
2023-03-06 15:13:08 -06:00
Andy Wilkinson 185dc18126 Merge branch '3.0.x'
Closes gh-34488
2023-03-06 10:53:52 +00:00
Andy Wilkinson fab4230246 Merge branch '2.7.x' into 3.0.x
Closes gh-34487
2023-03-06 10:53:32 +00:00
Andy Wilkinson 27ba20f310 Test Gradle plugin against Gradle 8.0.2
Closes gh-34486
2023-03-06 10:21:21 +00:00
Johnny Lim 390629eefd Add Javadoc since to BuildInfoMojo.skip
See gh-34482
2023-03-06 10:05:07 +00:00
Scott Frederick 2602ce48b8 Merge branch '3.0.x'
Closes gh-34476
2023-03-03 16:50:55 -06:00
Scott Frederick 17755e5376 Merge branch '2.7.x' into 3.0.x
Closes gh-34475
2023-03-03 16:49:45 -06:00
Scott Frederick 10d71f5645 Document how to get socket location for podman configuration
Closes gh-34435
2023-03-03 16:47:48 -06:00
Phillip Webb 91ce2d6e1e Merge branch '3.0.x'
Closes gh-34473
2023-03-03 11:00:19 -08:00
Phillip Webb 4370757fb2 Use Java 17 in Maven integration tests
Closes gh-34472
2023-03-03 10:59:00 -08:00
Andy Wilkinson 2cb585aeb6 Merge branch '3.0.x'
Closes gh-34471
2023-03-03 16:28:22 +00:00
Andy Wilkinson 5c43e42839 Merge branch '2.7.x' into 3.0.x
Closes gh-34470
2023-03-03 16:27:49 +00:00
Andy Wilkinson 95cd0f2435 Test Boot's Maven Plugin against Maven 3.9.0
Closes gh-34469
2023-03-03 16:27:02 +00:00
Andy Wilkinson 671d8a876f Merge branch '3.0.x'
Closes gh-34463
2023-03-03 10:47:28 +00:00
Andy Wilkinson 6a95f44f67 Merge branch '2.7.x' into 3.0.x
Closes gh-34462
2023-03-03 10:47:08 +00:00
Andy Wilkinson 68a1dd3a76 Document support for Gradle 8
Closes gh-34458
2023-03-03 10:42:28 +00:00
Andy Wilkinson f180a02015 Merge branch '3.0.x'
Closes gh-34461
2023-03-03 10:36:55 +00:00
Andy Wilkinson 03dd666818 Merge branch '2.7.x' into 3.0.x
Closes gh-34460
2023-03-03 10:27:32 +00:00
Andy Wilkinson 4f7e038f14 Test Gradle plugin against Gradle 8.0.1
Closes gh-34457
2023-03-03 10:21:26 +00:00
Phillip Webb c735652e0b Merge branch '3.0.x'
Closes gh-34453
2023-03-02 12:09:01 -08:00
Phillip Webb 956b9e06c9 Merge branch '2.7.x' into 3.0.x
Closes gh-34452
2023-03-02 12:08:52 -08:00
Phillip Webb 69d34c96bf Apply consistent timestamps to files added to a fat archive
Update logic in `BootZipCopyAction` to align with the recent changes
made in the Maven plugin (commit 998d59b7). Timestamps are now
specified in UTC and offset against the default timezone before being
written.

Removing the offset from our UTC time before calling `entry.setTime()`
ensures that we get consistent bytes in the zip file when the output
stream reapplies the offset during write.

Closes gh-21005
2023-03-02 12:06:42 -08:00
Phillip Webb 2b94484078 Merge branch '3.0.x'
Closes gh-34431
2023-03-01 21:29:13 -08:00
Phillip Webb f5cf821479 Merge branch '2.7.x' into 3.0.x
Closes gh-34430
2023-03-01 21:28:51 -08:00
Phillip Webb 998d59b7ac Ignore system timezone when applying outputTimestamp to entries
Update `JarWriter` so that entry times are set with the default TimeZone
offset removed. The Javadoc for `ZipEntry.setTime` states:

  The file entry is "encoded in standard `MS-DOS date and time format`.
  The default TimeZone is used to convert the epoch time to the MS-DOS
  data and time.

Removing the offset from our UTC time before calling `entry.setTime()`
ensures that we get consistent bytes in the zip file when the output
stream reapplies the offset during write.

Fixes gh-34424
2023-03-01 21:27:08 -08:00
Chintan Radia a98760125c Add support for CNB platform API 0.11
See gh-34383
2023-03-01 09:24:42 +01:00
Diego Díez b073ef0310 Add build-info skip support
See gh-34393
2023-03-01 09:19:14 +01:00
Andy Wilkinson 7e364cd67d Merge branch '3.0.x'
Closes gh-34392
2023-02-27 13:55:17 +00:00
Andy Wilkinson 814b77c33f Merge branch '2.7.x' into 3.0.x
Closes gh-34391
2023-02-27 13:54:59 +00:00
Andy Wilkinson 81882ecca4 Apply plugins consistently in Gradle documentation examples
Closes gh-34038
2023-02-27 13:26:05 +00:00
Andy Wilkinson eb105572f6 Test Gradle plugin against Gradle 6.9.4
Closes gh-34368
2023-02-24 10:36:08 +00:00
Phillip Webb 157091a811 Merge branch '3.0.x' 2023-02-22 18:36:57 -08:00
Phillip Webb 0b15962aca Merge branch '2.7.x' into 3.0.x 2023-02-22 18:36:16 -08:00
Phillip Webb a5902d7a00 Update copyright year of changed files 2023-02-22 18:35:17 -08:00
Phillip Webb b07269a018 Merge branch '3.0.x' 2023-02-21 23:20:07 -08:00
Phillip Webb c4de86c244 Merge branch '2.7.x' into 3.0.x 2023-02-21 23:17:57 -08:00
Phillip Webb df5898a146 Reformat code following spring-javaformat upgrade 2023-02-21 22:53:27 -08:00
Andy Wilkinson 6e9d94edb1 Merge branch '3.0.x'
Closes gh-34183
2023-02-14 19:49:50 +00:00
Johnny Lim d368115128 Fix name for Implementation-Title in Spring Boot Gradle plugin
See gh-34177
2023-02-14 19:47:43 +00:00
Scott Frederick 12537c7170 Merge branch '3.0.x'
Closes gh-34162
2023-02-09 15:47:57 -06:00
Scott Frederick cbac3c81d6 Merge branch '2.7.x' into 3.0.x
Closes gh-34161
2023-02-09 15:47:34 -06:00
Scott Frederick 33aef7fe27 Update CLI installation docs to download releases from Maven Central
Closes gh-33962
2023-02-09 15:45:15 -06:00
Andy Wilkinson bbe526df70 Merge branch '3.0.x'
Closes gh-34120
2023-02-08 11:00:29 +00:00
Andy Wilkinson 9378fc47a7 Set implementation name and version in Gradle-built archives
Closes gh-34059
2023-02-08 10:59:55 +00:00
Andy Wilkinson 5a95fd0d2b Make httpcore5-h2 classes available to Gradle tests
httpclient5 now requires classes in httpcore5-h2 in addition to those
in httpcore5.

See gh-34086
2023-02-07 15:13:48 +00:00
Andy Wilkinson f595b46bd3 Upgrade to HttpClient5 5.2.1
Closes gh-34086
2023-02-06 14:46:05 +00:00
Moritz Halbritter e0d8d528b7 Merge branch '3.0.x'
Closes gh-34073
2023-02-06 11:54:58 +01:00
Moritz Halbritter 2e61acb979 Merge branch '2.7.x' into 3.0.x
Closes gh-34072
2023-02-06 11:54:51 +01:00
Enimiste d6032c9d2c Remove inputStream.close() line to conform to the interface
The "ReproducibleResourceTransformer" interface says that "An input
  stream for the resource, the implementation should *not* close this
  stream".

See gh-34063
2023-02-06 11:47:25 +01:00
lars-christian stitz a186055c51 Improve log message when repackaging by specifying the involved files
See gh-33350
2023-01-31 13:16:56 +01:00
Moritz Halbritter 48db5ff35c Merge branch '3.0.x'
Closes gh-34018
2023-01-31 10:51:45 +01:00
Moritz Halbritter 0a080736d8 Merge branch '2.7.x' into 3.0.x
Closes gh-34017
2023-01-31 10:50:30 +01:00
Moritz Halbritter 23f1c896c9 Merge branch '3.0.x'
Closes gh-34015
2023-01-31 10:20:36 +01:00
Johnny Lim bc7fc90550 Replace Base64Utils with JDK's Base64
See gh-33967
2023-01-31 10:20:06 +01:00
Phillip Webb 390892f11b Merge branch '3.0.x'
Closes gh-33998
2023-01-26 21:45:57 -08:00
Krzysztof Krason 94996664bc Drop unnecessary Collections.unmodifiableSet
See gh-33987
2023-01-26 20:47:35 -08:00
Krzysztof Krason d3efd7e091 Use try with close
See gh-33987
2023-01-26 20:36:38 -08:00
Krzysztof Krason 0e68cae57f Use instanceof patterns
See gh-33987
2023-01-26 20:36:25 -08:00
Krzysztof Krason a9c547e767 Use text blocks
See gh-33987
2023-01-26 20:36:01 -08:00
Krzysztof Krason 6e46423983 Use diamond operators
See gh-33987
2023-01-26 20:35:08 -08:00
Moritz Halbritter 2601020337 Merge branch '3.0.x'
Closes gh-33964
2023-01-24 10:09:10 +01:00
Moritz Halbritter dfda153da5 Merge branch '2.7.x' into 3.0.x
Closes gh-33963
2023-01-24 10:09:01 +01:00
Scott Frederick 0b6dade142 Migrate CLI to Apache HttpClient 5
Closes gh-33534
2023-01-23 13:59:15 -06:00
Scott Frederick 1588f9d881 Migrate buildpack-platform to Apache HttpClient 5
Closes gh-33533
2023-01-23 13:59:08 -06:00
Andy Wilkinson 63abaa4cd2 Start working on 3.1.0 2023-01-23 12:04:39 +00:00
Phillip Webb 71efc55bf9 Merge branch '2.7.x' 2023-01-18 16:31:53 -08:00
Phillip Webb 470a255b0d Polish 2023-01-18 15:47:50 -08:00
Phillip Webb 7c508fa324 Update copyright year of changed files 2023-01-18 15:37:58 -08:00
Moritz Halbritter 94f4a4396c Merge branch '2.7.x'
Closes gh-33880
2023-01-18 17:35:52 +01:00
Moritz Halbritter e8d809fe65 Replace 'via' with 'over' or 'through' in the documentation
Closes gh-33878
2023-01-18 16:56:42 +01:00
Moritz Halbritter fe8d8f4ed3 Merge branch '2.7.x' 2023-01-18 13:50:06 +01:00
Moritz Halbritter 524a4b6c1e Only return complete accessor name when accessor has a backing field 2023-01-18 13:42:56 +01:00
Moritz Halbritter ae64b205d4 Merge branch '2.7.x'
Closes gh-33871
2023-01-18 12:08:58 +01:00
Moritz Halbritter 26d658802f Add support for record accessors in spring-boot-configuration-processor
Closes gh-29526
2023-01-18 12:02:34 +01:00
Moritz Halbritter 6c44055fd4 Polish PropertyDescriptorResolver 2023-01-18 12:01:06 +01:00
Moritz Halbritter b1f8024e8a Merge branch '2.7.x'
Closes gh-33845
2023-01-16 16:06:44 +01:00
Moritz Halbritter 9f2ed201b2 Improve error message when start goal can't contact running application
Closes gh-24044
2023-01-16 15:58:03 +01:00
Moritz Halbritter d26fa80741 Merge branch '2.7.x'
Closes gh-33843
2023-01-16 14:10:35 +01:00
Moritz Halbritter 6cec0187c3 Include exception message in condition result when docker is unavailable
Closes gh-20582
2023-01-16 14:09:21 +01:00
Andy Wilkinson 485025310e Merge branch '2.7.x'
Closes gh-33777
2023-01-12 12:04:04 +00:00
Andy Wilkinson 433364601d Merge branch '2.7.x' 2023-01-11 17:04:33 +00:00
Andy Wilkinson 3b2e5e5292 Remove references to https://repo.spring.io/release 2023-01-11 17:03:45 +00:00
Phillip Webb 29b7c121fb Merge branch '2.7.x'
Closes gh-33739
2023-01-09 19:01:57 -08:00
Phillip Webb a369f936c9 Replace references to Pivotal
Closes gh-33737
2023-01-09 18:09:20 -08:00
Phillip Webb a2ac38e203 Update copyright year of changed files 2023-01-09 15:46:07 -08:00
Phillip Webb 1621cfd578 Merge branch '2.7.x' 2023-01-09 15:44:44 -08:00
Krzysztof Krason cf6493f65c Simplify AssertJ assertions and also make them more readable
See gh-33653
2023-01-09 11:10:20 +01:00
Andy Wilkinson 2d372edcfc Fix Homebrew formula's install --head support
This commit updates the Homebrew formula's install --head support to
use the main branch (rather than the default of master) and to build
the project using Gradle rather than trying to use Maven.

Closes gh-33704
2023-01-06 18:15:31 +00:00
Phillip Webb 5ec5007bf0 Merge branch '2.7.x'
Closes gh-33706
2023-01-05 17:21:34 -08:00
Phillip Webb f588793445 Update copyright year of changed files 2022-12-22 01:00:42 -08:00
Phillip Webb 0254619782 Merge branch '2.7.x' 2022-12-22 00:59:40 -08:00
Phillip Webb e4772cf3b7 Update copyright year of changed files 2022-12-22 00:59:32 -08:00
Phillip Webb 6367a8c62c Merge branch '2.7.x' 2022-12-21 22:54:01 -08:00
Phillip Webb 5ba52d0000 Polish formatting 2022-12-21 22:53:54 -08:00
Phillip Webb e57824fb58 Merge branch '2.7.x'
Closes gh-33617
2022-12-21 22:52:59 -08:00
Phillip Webb a2a59dd627 Polish 'Improve gradle plugin tags documentation'
See gh-33614
2022-12-21 22:52:27 -08:00
Shekhar Aggarwal a1df607dd8 Improve gradle plugin tags documentation
See gh-33614
2022-12-21 22:50:02 -08:00
Phillip Webb 5814543bb1 Merge branch '2.7.x'
Closes gh-33616
2022-12-21 22:49:40 -08:00
Phillip Webb c205ba0694 Polish 'Improve maven plugin tags documentation'
See gh-33609
2022-12-21 22:47:28 -08:00
Shekhar Aggarwal 79557012a7 Improve maven plugin tags documentation
See gh-33609
2022-12-21 22:46:42 -08:00
Moritz Halbritter b132b5c317 Polish JSON classes 2022-12-16 16:09:21 +01:00
Moritz Halbritter f36e2ecb7b Use AutoClosables with try-with-resources
Closes gh-33538
2022-12-16 15:43:15 +01:00
Moritz Halbritter 725337f976 Make fields final
Closes gh-33537
2022-12-16 14:28:44 +01:00
peter-janssen 9a74c862dd Fix documented Java compiler level
See gh-33505
2022-12-12 11:34:25 +01:00
Craig Andrews 703935612f Update instead of replace environment in bootBuildImage documentation
Closes gh-32886
See gh-33424
2022-12-01 11:25:53 +01:00
Scott Frederick 9ed8b25e6b Make AOT goals release option mutually exclusive with source and target
Fixes gh-33382
2022-11-30 17:18:02 -06:00
Moritz Halbritter c6536c54d8 Write native-image argfile only if there are excludes
Refactors duplicate logic in BootZipCopyAction and Packager into
separate classes.

Closes gh-33363

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2022-11-30 14:29:35 +01:00
Andy Wilkinson d88f968d22 Merge branch '2.7.x'
Closes gh-33403
2022-11-28 20:20:24 +00:00
Andy Wilkinson 2da8bc1f3b Reduce Gradle versions used for compatibility testing
Closes gh-33401
2022-11-28 19:14:41 +00:00
Andy Wilkinson abcbac92ef Merge branch '2.6.x' into 2.7.x
Closes gh-33343
2022-11-24 11:29:24 +00:00
Andy Wilkinson ebfbf4a412 Stop testing Gradle plugin against Gradle 7.6 RCs
Closes gh-33342
2022-11-24 11:23:45 +00:00
Stephane Nicoll 75b74637f6 Make sure the 'native' profile can be used in a multi-modules project
This commit updates the 'native' profile so that it provides plugin
management for the plugins involved in building a native image, rather
than forcing their executions.

This commit also update the Maven Plugin reference guide to describe
what the native profile does, and how it can be used in various
scenarios.

Closes gh-33184
2022-11-22 12:33:52 +01:00
Stephane Nicoll a7f57091a6 Add support for building an image without forking the Maven lifecycle
This commit adds a new "build-image-no-fork" goal that behaves exactly
as "build-image", except it does not fork the lifecycle. This is a
common pattern in maven plugins where a goal can be invoked on the
command-line and conveniently make sure that a certain phase has run
prior to its execution.

The new goal is suitable for binding the goal in a phase, typically
package, and rely on it rather than invoking the goal. This makes sure
that the lifecycle is forked, which would run everything again.

Closes gh-26455
2022-11-22 10:42:26 +01:00
Andy Wilkinson b8142d168b Merge branch '2.7.x'
Closes gh-33269
2022-11-18 17:16:01 +00:00
Andy Wilkinson 9879538c02 Merge branch '2.6.x' into 2.7.x
Closes gh-33268
2022-11-18 17:15:13 +00:00
Andy Wilkinson e860efca65 Test Gradle plugin against 7.6-rc-3
Closes gh-33267
2022-11-18 17:14:29 +00:00
Moritz Halbritter 9206b6cda1 Add warning to not disable jar task when building native images
Closes gh-33238
2022-11-18 13:26:59 +01:00
Andy Wilkinson 931cc8a508 Merge branch '2.7.x'
Closes gh-33250
2022-11-18 10:39:52 +00:00
Johnny Lim 6027508cf7 Polish
See gh-33108
2022-11-16 10:00:36 +01:00
Scott Frederick c28c614c47 Set Java source and target when compiling AOT generated sources
When compiling AOT-generated sources in the Maven plugin `process-aot`
and `process-test-aot` goals, the Java compiler should be provided
with the same `--source`, `--target`, and `--release` configuration
values as the Maven compiler plugin uses to compile main sources.

Fixes gh-33112
2022-11-14 15:05:13 -06:00
Scott Frederick 11652bd8e6 Add compilerArguments parameter to process-aot Maven goal
This commit adds a `compilerArguments` parameter to the Maven plugin
`process-aot` and `process-test-aot` goals to allow the user to
configure the command used to compile the AOT-generated sources.

Fixes gh-33012
2022-11-14 15:05:12 -06:00
Andy Wilkinson 112bed886c Merge branch '2.7.x'
Closes gh-33085
2022-11-09 10:37:40 +00:00
Andy Wilkinson b1494d4a39 Merge branch '2.6.x' into 2.7.x
Closes gh-33084
2022-11-09 10:37:06 +00:00
Andy Wilkinson 6423535f67 Delete temp directory after MavenBuild has exected
Closes gh-33083
2022-11-09 10:35:56 +00:00
Andy Wilkinson 843493d915 Merge branch '2.7.x'
Closes gh-33075
2022-11-08 17:30:16 +00:00
Andy Wilkinson 00d22c9fc5 Merge branch '2.6.x' into 2.7.x
Closes gh-33074
2022-11-08 17:28:50 +00:00
Andy Wilkinson eed86c0d0a Test Boot's Gradle plugin against Gradle 7.6-rc-2
Closes gh-33073
2022-11-08 16:46:22 +00:00
Andy Wilkinson 6940e348a7 Try to fix NativeImagePluginActionIntegrationTests on Windows 2022-11-08 11:00:52 +00:00
Andy Wilkinson b67c427259 Upgrade to Servlet 6.0 and related EE 10 specs
Co-authored-by: Phillip Webb <pwebb@vmware.com>

Closes gh-33036
Closes gh-33037
Closes gh-33038
Closes gh-33039
Closes gh-33040
Closes gh-33041
Closes gh-33042
Closes gh-33043
2022-11-07 17:33:38 +00:00
Andy Wilkinson fce6016399 Merge branch '2.7.x'
See gh-33016
2022-11-07 13:36:48 +00:00
Andy Wilkinson 7c0f397129 Merge branch '2.6.x' into 2.7.x
See gh-33015
2022-11-07 13:36:11 +00:00
Andy Wilkinson ac6ad7c0f1 Fix ModifiedClassPathExtension with parameterized tests
Closes gh-33014
2022-11-07 13:34:54 +00:00
Phillip Webb 3bd945766f Merge branch '2.7.x' 2022-11-05 17:03:10 -07:00
Phillip Webb b4283d45c5 Merge branch '2.6.x' into 2.7.x 2022-11-05 17:03:02 -07:00
Phillip Webb d2cceb6b77 Polish 2022-11-05 17:02:57 -07:00
Phillip Webb 262c30ddc1 Improve error message when DirtiesUrlFactoriesExtension fails
See gh-33019
2022-11-05 16:44:53 -07:00
Phillip Webb 34b4ae8e05 Merge branch '2.7.x'
Closes gh-33019
2022-11-05 16:36:55 -07:00
Phillip Webb 2ab1f49442 Merge branch '2.6.x' into 2.7.x
Closes gh-33018
2022-11-05 16:35:26 -07:00
Phillip Webb caf46043c6 Add @DirtiesUrlFactories annotation
Add `@DirtiesUrlFactories` annotation that can be used to reset URL
factories.

Closes gh-33017
2022-11-05 16:30:27 -07:00
Phillip Webb fb3c095e35 Merge branch '2.7.x'
Closes gh-33016
2022-11-05 16:06:13 -07:00
Phillip Webb 948893f36d Merge branch '2.6.x' into 2.7.x
Closes gh-33015
2022-11-05 16:04:40 -07:00
Phillip Webb d4cc8fc3a6 Support modified classpath on methods and parameterized tests
Update `ModifiedClassPathExtension` and related classes so that
annotations can be used directly on test methods, or on classes
passed into parameterized tests.

Closes gh-33014
2022-11-05 16:04:19 -07:00
Andy Wilkinson 443d80ce6e Polish
See gh-32924
2022-11-04 17:23:01 +00:00
Andy Wilkinson fe8644cc59 Fail more elegantly when GraalVM version is too old
Closes gh-32924
2022-11-04 13:05:22 +00:00
Andy Wilkinson 2d5a3eac51 Include AOT-generated classes in native test binary
Closes gh-32940
2022-11-04 11:53:33 +00:00
Scott Frederick 67af4c0a65 Polish documentation 2022-11-03 15:45:09 -05:00
Scott Frederick bb684cc0ad Add support for CNB platform API 0.10
Fixes gh-32949
2022-11-03 11:29:02 -05:00
Andy Wilkinson 9ccc1e8d62 Merge branch '2.7.x'
Closes gh-32988
2022-11-03 10:27:42 +00:00
Andy Wilkinson a3870f8da7 Merge branch '2.6.x' into 2.7.x
Closes gh-32987
2022-11-03 10:23:30 +00:00
Andy Wilkinson beb62be843 Test Boot's Gradle plugin against Gradle 7.6-rc-1
Closes gh-32933
2022-11-03 10:22:14 +00:00
Andy Wilkinson 519250cacf Polish Gradle tasks for AOT processing
Closes gh-32946
2022-11-01 16:42:26 +00:00
Andy Wilkinson b192c29edb Use AOT's outputs to configure source set's inputs
Closes gh-32919
2022-11-01 10:33:17 +00:00
Andy Wilkinson 0103e24bbb Stop configuring AOT-generated classes as output of AOT source set
Closes gh-32940
2022-11-01 10:32:37 +00:00
Andy Wilkinson 2bb9b2640e Separate classpath of AOT tasks from source sets they populate
Closes gh-32930
2022-11-01 10:06:33 +00:00
Johnny Lim 5067aab552 Polish
See gh-32840
2022-10-27 16:33:14 +02:00
Phillip Webb a59b6cb1f3 Polish 2022-10-25 21:56:53 -07:00
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2022-10-25 15:48:26 -07:00
Phillip Webb c8676a81de Merge branch '2.6.x' into 2.7.x 2022-10-25 15:48:04 -07:00
Phillip Webb d7ac20cd6c Update copyright year of changed files 2022-10-25 15:47:30 -07:00
Scott Frederick c22e76632c Add Build-Jdk-Spec to jar and war manifest when building with Gradle
This commit adds a `Build-Jdk-Spec` attribute to the manifest in a
jar or war file built with the Spring Boot Gradle plugin. This
aligns the Gradle plugin's behavior with the default Maven plugin
behavior.

This removes the need to set a `BP_JVM_VERSION` environment variable
when invoking Cloud Native Buildpacks, as the Paketo buildpacks will
honor `Build-Jdk-Spec` in a jar or war manifest to determine the
default JVM version.

Fixes gh-32829
2022-10-25 15:48:05 -05:00
Andy Wilkinson 99edda735e Polish 2022-10-25 12:57:58 +01:00
Andy Wilkinson 9e6259cd37 Remove development-only dependencies from native image classpath
Fixes gh-32843
2022-10-24 09:22:13 +01:00
Andy Wilkinson eebe23a081 Make all AOT-generated resources available to native-compile
Fixes gh-32841
2022-10-21 16:38:52 +01:00
Phillip Webb d8c4aec946 Merge branch '2.6.x' into 2.7.x 2022-10-20 17:04:37 -07:00
Phillip Webb 1a14f39f83 Polish 2022-10-20 17:04:29 -07:00
Scott Frederick b78b22b6f6 Allow Gradle task property to be set with String or enum value
See gh-32769
2022-10-20 13:59:54 -05:00
Phillip Webb c53c8c84b8 Fix annotation processor to deal with relocated @ConstructorBinding
Update `ConfigurationMetadataAnnotationProcessor` to use the correct
location for the `@ConstructorBinding` annotation and to deal with
finding it as a meta-annotation.

Closes gh-32660
2022-10-20 10:19:57 -07:00
Andy Wilkinson 26e747d2db Fix package tangle in spring-boot-gradle-plugin
Closes gh-32814
2022-10-20 13:12:12 +01:00
Scott Frederick 8acf9afccb Use String instead of enum for Gradle task Property
See gh-32769
2022-10-19 17:23:23 -05:00
Madhura Bhave ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2022-10-19 11:46:27 -07:00
Andy Wilkinson 8621be6bba Make consistent use of Property for Gradle task configuration
Closes gh-32769
2022-10-19 19:08:45 +01:00
Phillip Webb 45ce096b6b Replace our TestCompiler with Spring Framework's version
Replace the last use of our `TestCompiler` with Spring Framework's
version.

See gh-31266
2022-10-18 11:39:03 -07:00
Stephane Nicoll 4b778ff4c1 Polish Maven documentation to mention native profile 2022-10-18 15:36:38 +02:00
Andy Wilkinson 2dacddb4d7 Make bootBuildImage produce native image when NBT plugin is applied
Closes gh-32768
2022-10-18 13:12:45 +01:00
Andy Wilkinson 2c756ea874 Use collectReachabilityMetadata task to add metadata to bootJar
Closes gh-32737
2022-10-18 11:25:34 +01:00
Phillip Webb a34b1d3c6e Don't detect private constructors on member classes for binding
Refine constructor binding detection logic so that `private`
constructors on member classes are no longer automatically picked for
constructor binding. This provides users a way of signalling that
they wish to use the constructor directly.

Closes gh-32639
2022-10-18 00:59:46 -07:00
Phillip Webb 754f39e6ef Polish 2022-10-18 00:59:45 -07:00
Phillip Webb c16c6bc3b5 Fix reachability argfile format
Update the argfile to a format that actually works when
passed to the `native-image` command.

See gh-32738
2022-10-17 18:59:50 -07:00
Phillip Webb 8358a0e3f3 Fix reachability-metadata.properties location
Update tools to use the correct `reachability-metadata.properties`
location which should include the version number.

See gh-32738
2022-10-17 14:31:38 -07:00
Andy Wilkinson 3082b0c5bf Add a section on AOT to the Gradle plugin's docs
Closes gh-32750
2022-10-17 18:15:34 +01:00
Andy Wilkinson 3d5c864bc9 Merge branch '2.6.x' into 2.7.x
Closes gh-32758
2022-10-17 17:11:59 +01:00
Andy Wilkinson dade5ec3aa Test against Gradle 6.9.3
Closes gh-32757
2022-10-17 17:11:37 +01:00
Andy Wilkinson ff16f6d6c6 Work around configuration cache problem in NBT Gradle Plugin
See gh-32752
See graalvm/native-build-tools#338
2022-10-17 13:58:07 +01:00
Phillip Webb 071649360b Generate 'META-INF/native-image/argfile' file for buildpack use
Update the Maven and Gradle plugin to generate an `argfile` file
file under `META-INF/native-image` that contains `--exclude-config`
arguments that should be passed when generating a native image.

The contents of the file is generated for each nested jar that has a
`reachability-metadata.properties` file containing 'override=true'.

The `reachability-metadata.properties` file is expected to be generated
by the Graal native build tools plugin.

Closes gh-32738
2022-10-14 15:23:06 -07:00
Phillip Webb 430c6b7e9f Downgrade to SLF4J 1.7 for spring-boot-gradle-plugin tests
The downgrade is required for tests to run in Eclipse.

Closes gh-32626
2022-10-14 11:58:16 -07:00
Scott Frederick 3ea18f07fa Polish "Use NBT plugin version from gradle.properties in image tests"
See gh-32643
2022-10-13 15:05:06 -05:00
Phillip Webb 7e8ed075c0 Merge branch '2.7.x'
Closes gh-32682
2022-10-11 23:21:52 -07:00
Phillip Webb ed01a77a99 Merge branch '2.6.x' into 2.7.x
Closes gh-32681
2022-10-11 23:19:34 -07:00
Phillip Webb e0c79ce598 Support PEM formatted elliptic-curve TLS keys
Update `PrivateKeyParser` to support loading PEM formatted
elliptic-curve keys. We need to do a similar trick to the PKCS1 keys
and convert them to a `PKCS8EncodedKeySpec`.

Fixes gh-32646
2022-10-11 23:18:44 -07:00
Andy Wilkinson 3ca5c7ff5b Create AOT source sets as soon as the Java plugin is applied
Previously, the AOT source sets were not created until both the
Java and Spring Boot plugins had been applied. This could create
ordering problems when the Spring Boot plugin's native image plugin
action tried to access the AOT source sets to configure the
classpaths of the nativeCompile and nativeTest tasks. If the
plugins were applied in a particular order the AOT source sets
would not exist and a failure would occur.

This commit updates the Spring Boot AOT plugin to create the source
sets as soon as the Java plugin has been applied. This ensure that
they're in place when reacting to the native image plugin being
applied.

Closes gh-32661
2022-10-11 19:58:03 +01:00
Andy Wilkinson 808e0be552 Merge branch '2.7.x'
Closes gh-32679
2022-10-11 19:16:08 +01:00
Andy Wilkinson 1b604e30f7 Merge branch '2.6.x' into 2.7.x
Closes gh-32678
2022-10-11 19:15:33 +01:00
Andy Wilkinson 215eb96355 Improve error handling in SpringBootPlugin
Closes gh-32677
2022-10-11 19:15:23 +01:00
Andy Wilkinson d351086a06 Adapt to breaking changes to AOT processing entry points
See gh-32550
2022-10-10 22:02:25 +01:00
Andy Wilkinson 0e23fbe30b Use Neo4j 4.4.11 for integration testing
See gh-32620
2022-10-06 19:53:46 +01:00
Andy Wilkinson 188cac6540 Protect against null run process customizer
See 0ee277b8c3
See gh-32607
2022-10-06 11:55:41 +01:00
Andy Wilkinson 0ee277b8c3 Ensure that run mojo's child process is killed when Maven is killed
Fixes gh-32607
2022-10-06 10:19:22 +01:00
Stephane Nicoll 44c843145a Add support for specifying application arguments
This commit makes sure that application arguments can be provided when
optimizing an application at build-time. It uses the same mechanism of
the regular run goal, merging the profile property if set.

Closes gh-32579
2022-10-05 16:36:38 +02:00
Stephane Nicoll 39cf17ed81 Add missing integration test for profile management in process-aot 2022-10-05 16:22:44 +02:00
Phillip Webb e0b67889a8 Use Stream.toList instead of Stream.collect when possible
Update code to make use of `Stream.toList()` whenever possible.

Closes gh-28177
2022-10-04 00:29:22 -07:00
Scott Frederick d25a99692f Replace Spring Boot TestCompiler with Spring Framework's version
See gh-31266
2022-09-30 15:58:11 -05:00
Stephane Nicoll e2dd0ef9a4 Adapt AotProcessor to changes in Spring Framework
Closes gh-32560
2022-09-30 16:47:03 +02:00
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2022-09-30 14:39:05 +01:00
dreis2211 65ef8fc51a Use ByteArrayOutputStream.toString where possible
See gh-32534
2022-09-29 15:03:24 +02:00
Andy Wilkinson 17953eeb33 Merge branch '2.7.x'
Closes gh-32544
2022-09-29 11:41:15 +01:00
Andy Wilkinson 3ef633b096 Merge branch '2.6.x' into 2.7.x
Closes gh-32543
2022-09-29 11:39:42 +01:00
Andy Wilkinson 84a25c7dcf Configure Log4j2 classpath overrides consistently
Closes gh-32537
2022-09-29 11:25:21 +01:00
dreis2211 f0b4a65546 Avoid usage of StringBuffer where possible
See gh-32519
2022-09-29 09:29:10 +02:00
Andy Wilkinson 0bfa9cd704 Upgrade to Logback 1.4 and SLF4J 2.0
Closes gh-12649
2022-09-28 21:14:08 +01:00
Andy Wilkinson 0f44e69995 Merge branch '2.7.x'
Closes gh-32500
2022-09-26 13:15:39 +01:00
Andy Wilkinson 5124ae94ae Merge branch '2.6.x' into 2.7.x
Closes gh-32499
2022-09-26 13:15:11 +01:00
Andy Wilkinson cfac7f55a4 Correct annotations on BootBuildImage's file-based inputs
Closes gh-32495
2022-09-26 13:13:16 +01:00
Andy Wilkinson f67db3d9ad Move spring-boot-cli into spring-boot-tools
Closes gh-32492
2022-09-23 16:44:57 +01:00
Andy Wilkinson 4a05230d5d Move spring-boot-properties-migrator into spring-boot-tools
Closes gh-32491
2022-09-23 16:18:30 +01:00
Madhura Bhave afce559050 Remove unused dependency from Maven integration test 2022-09-22 14:07:26 -07:00
Andy Wilkinson 7c7c34cda1 Fix classpath roots of AOT test processing
This was regressed in 6175c4210d so that
each class on the classpath was passed in as a "root". This commit
corrects this so that only the roots are passed to the AOT test
processor.

See gh-32424
2022-09-22 12:30:43 +01:00
Scott Frederick f9c341c75a Revert "Generate the AutoConfiguration.imports file from annotations"
This reverts commit da4de7d67d.
2022-09-21 14:50:15 -05:00
Scott Frederick d62d7ca75d Revert "Generate ManagementContextConfiguration.imports file from annotations"
This reverts commit 6b3b0dd3a6.
2022-09-21 14:50:15 -05:00
Scott Frederick 1f53eb7df9 Revert "Sort the contents of generated imports files"
This reverts commit 95e62b7ff8.
2022-09-21 14:50:15 -05:00
Scott Frederick 910e9c9fcc Revert "Fix windows build"
This reverts commit 9fe24fe692.
2022-09-21 14:50:15 -05:00
Andy Wilkinson 4a80b36160 Configure native image classpath outside of task realisation
Closes gh-32465
2022-09-21 18:14:46 +01:00
Andy Wilkinson 6175c4210d Fix skipping of processAot when there is no main source
See gh-32424
2022-09-21 14:57:54 +01:00
Andy Wilkinson fa81e8ca79 Skip processAot and processTestAot if there is no main or test code
Closes gh-32424
2022-09-20 17:15:19 +01:00
Andy Wilkinson e8aa5680d6 Support file-based reachability metadata repositories
See gh-32408
2022-09-20 14:06:18 +01:00
Andy Wilkinson 8323f24ccc Make classes generated by AOT test processing available to nativeTest
Closes gh-32428
2022-09-20 11:29:18 +01:00
Scott Frederick 1ed4d89466 Copy native reachability metadata to jar file in Gradle plugin
When the Spring Boot Gradle plugin builds a fat jar and the Native
Build Tools Gradle plugin is applied to the build, any configuration
files from the GraalVM reachability metadata repository that match
project dependencies are copied to a `META-INF/native-image`
directory in the fat jar.

Closes gh-32408
2022-09-16 12:26:24 -05:00
Andy Wilkinson 2b503ee334 Add AOT-generated classes as a dependency
Previously, the AOT-generated classes were added directly to the
compile classpath of the AOT compilation task. This didn't work
perfectly in IntelliJ IDEA, leaving the generated classes in the
runtime scope and causing compilation problems where the
AOT-generated source tried to reference those classes.

This commit updates the plugin to add the AOT-generated classes as
a dependency to the AOT source set's implementation configuration.
This makes the classes available during compilation by the source
set's Java compilation task while also makeing IntelliJ IDEA aware
of their presence on the compile classpath.

Closes gh-32395
2022-09-15 14:02:54 +01:00
Phillip Webb 20b91c5ae2 Include 'classesDirectory' in ProcessTestAotMojo classpath
Update `ProcessTestAotMojo` so that the classesDirectory and
the testClassesDirectory are on the classpath when compiling
code.

See gh-32191
2022-09-14 13:50:27 -07:00
Stephane Nicoll 88f2b33cc1 Add AOT-generated classes to classpath of the compiler
See gh-32304
2022-09-13 14:58:16 +02:00
Andy Wilkinson 867c49337a Add AOT-generated classes to classpath of AOT JavaCompile tasks
See gh-32304
2022-09-13 13:03:24 +01:00
Stephane Nicoll 9fe24fe692 Fix windows build
This commit makes sure that files that are generated in a temporary
directory are closed once the related test completes.
2022-09-10 16:24:29 +02:00
Andy Wilkinson aafceb3868 Merge branch '2.7.x'
Closes gh-32285
2022-09-09 16:47:06 +01:00
Andy Wilkinson f17df7bf30 Merge branch '2.6.x' into 2.7.x
Closes gh-32284
2022-09-09 16:46:43 +01:00
Andy Wilkinson 23c2f73b3f Update tests to allow them to run on Java 19
Closes gh-32280
2022-09-09 16:46:14 +01:00
Andy Wilkinson 144fdaa703 Merge branch '2.6.x' into 2.7.x
Closes gh-32283
2022-09-09 15:14:40 +01:00
Andy Wilkinson 78f4242e46 Build with Gradle 7.5 while still supporting Gradle 6.8+
Closes gh-32281
2022-09-09 15:13:43 +01:00
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2022-09-08 19:38:18 -07:00
Phillip Webb e88a682220 Merge branch '2.6.x' into 2.7.x 2022-09-08 19:37:52 -07:00
Phillip Webb 85697ac482 Update copyright year of changed files 2022-09-08 19:36:59 -07:00
Stephane Nicoll 5e24b5a110 Stop using RuntimeHintsUtils#registerAnnotation 2022-09-06 15:44:15 +02:00
Andy Wilkinson 3dfe28c9f1 Ensure that a test engine is available to AOT test processing
See gh-32192
2022-09-05 09:41:28 +01:00
Andy Wilkinson cf84ae7ad8 Exclude non-existent test classes dirs from AOT test processing
See gh-32192
2022-09-05 09:41:21 +01:00
Scott Frederick 95e62b7ff8 Sort the contents of generated imports files
The list of class names generated by annotation processors should be
sorted before being written to `AutoConfiguration.imports` and
`ManagementContextConfiguration.imports` files to make the build more
deterministic.

See gh-31228
2022-09-02 17:26:15 -05:00
Scott Frederick 6b3b0dd3a6 Generate ManagementContextConfiguration.imports file from annotations
This commit adds the
`ManagementContextConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module.

Closes gh-32222
2022-09-02 16:27:59 -05:00
Scott Frederick da4de7d67d Generate the AutoConfiguration.imports file from annotations
This commit adds the `AutoConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module. When added to a project build, the annotation processor will
generate the
`org.springframework.boot.autoconfigure.AutoConfiguration.imports`
file automatically from `@AutoConfiguration`-annotated classes. It
also applies the annotation processor to the Spring Boot build.

Closes gh-31228
2022-09-02 15:10:22 -05:00
Andy Wilkinson fc979397be Polish SpringBootAotPlugin 2022-09-02 16:37:15 +01:00
Andy Wilkinson fd28f6d1d6 Add Gradle plugin support for processing test contexts ahead-of-time
Closes gh-32192
2022-09-02 15:54:46 +01:00
Andy Wilkinson 746ed84120 Polish ProcessTestAotMojo 2022-09-02 12:06:54 +01:00
Phillip Webb 09bd531fe5 Add Maven plugin support for processing test contexts Ahead-of-time
Refactor and update the Spring Boot Maven Plugin so that it can
be used to perform AOT processing of test classes.

Closes gh-32191
2022-08-30 20:41:30 -07:00
Phillip Webb c0b3d36205 Rename 'generateAotSources' task to processAot'
See gh-31918
2022-08-25 15:10:48 -07:00
Phillip Webb 2f6354f633 Rename 'aot-generate' goal to process-aot'
See gh-31918
2022-08-25 15:02:28 -07:00
Scott Frederick c0cbaa1460 Merge branch '2.7.x' 2022-08-24 13:18:22 -05:00
Scott Frederick 257e236b06 Fix image-building unit tests on Windows
See gh-32000
2022-08-24 13:14:39 -05:00
Stephane Nicoll c67010ddd1 Make test more robust 2022-08-23 14:45:52 +02:00
Scott Frederick 2cdaab59f6 Merge branch '2.7.x'
Closes gh-32122
2022-08-19 13:57:26 -05:00
Scott Frederick c16094e04b Disable SELinux label security policy when building images
When using the Gradle `bootBuildImage` task or Maven
`spring-boot:build-image` goal on a Linux distribution with SELinux
enabled, binding the Docker socket in the builder container might
fail. This commit disables the `label` security policy in the builder
container to prevent this type of failure.

Fixes gh-32000
2022-08-19 13:56:34 -05:00
Phillip Webb 07c0a8bced Fix SecurityManager deprecation issues
See gh-32086
2022-08-17 13:22:40 -07:00
Phillip Webb 4ec2e357d9 Merge branch '2.7.x'
See gh-32086
2022-08-17 12:49:52 -07:00
Phillip Webb 60e1cc510c Merge branch '2.6.x' into 2.7.x
See gh-32085
2022-08-17 12:48:21 -07:00
Phillip Webb bd74344025 Revert "Don't close jar files early"
This reverts commit b42f056ddb.
2022-08-17 11:38:42 -07:00
Phillip Webb 674022d401 Revert "Don't close nested jars or wrapper when parent is closed"
This reverts commit 360eb027be.
2022-08-17 11:37:19 -07:00
Stephane Nicoll 2e3c3efd44 Merge branch '2.7.x'
Closes gh-32098
2022-08-17 08:34:52 +02:00
Stephane Nicoll 1c6624db44 Merge branch '2.6.x' into 2.7.x
Closes gh-32097
2022-08-17 08:34:38 +02:00
Stephane Nicoll e94ddfa589 Polish "Explicit error message if source is not an archive"
See gh-31997
2022-08-17 08:33:54 +02:00
Nils Hartmann a0f273a041 Explicit error message if source is not an archive
This commit split the existing assertion to provide an explicit error
message if the source file is not an archive.

See gh-31997
2022-08-17 08:30:03 +02:00
Phillip Webb ee2bd9e065 Merge branch '2.7.x'
Closes gh-32086
2022-08-15 17:59:28 -07:00
Phillip Webb ef7aac8c14 Merge branch '2.6.x' into 2.7.x
Closes gh-32085
2022-08-15 17:59:06 -07:00
Phillip Webb 360eb027be Don't close nested jars or wrapper when parent is closed
Update `JarFile` so that the `close()` method no longer closes nested
jars or the wrapper. Prior to this commit it was possible for a parent
jar file to be garbage collected and closed even though references still
existed to the nested jars. When this happened the nested jars would get
closed and any access to entries would result in `JarFile.ensureOpen()`
throwing an `IllegalStateException`. The user would often not see this
exception directly, but rather find `ClassNotFoundException` being
thrown.

Fixes gh-31853
2022-08-15 17:55:25 -07:00
Andy Wilkinson a8ae7a1e44 Fix Gradle AOT integration test on Windows
See gh-31970
2022-08-15 10:21:42 +01:00
Stephane Nicoll 4a00d76b85 Adapt integration tests to proxy changes in Spring Framework 2022-08-13 13:56:09 +02:00
Stephane Nicoll 332419e3a7 Remove extra 'build' directory
See gh-32069
2022-08-12 17:47:38 +02:00
Stephane Nicoll e21041ce65 Harmonize location of generated classes processed Ahead-of-time
Closes gh-32069
2022-08-11 17:07:16 +02:00
Andy Wilkinson 9caad3d31b Merge branch '2.6.x' into 2.7.x
Closes gh-32059
2022-08-10 12:28:26 +01:00
Andy Wilkinson c9e69f555e Test our Gradle plugin against Gradle 7.5.1
Closes gh-32058
2022-08-10 12:27:47 +01:00
Andy Wilkinson cb18eb095b Make transitive runtime dependencies available to AOT processing
Closes gh-31970
2022-08-03 13:54:50 +01:00
Johnny Lim 6a4681baf5 Polish
See gh-31948
2022-08-02 15:14:23 +02:00
Andy Wilkinson 8a2cdb9759 Merge branch '2.7.x'
Closes gh-31950
2022-08-01 20:51:40 +01:00
Andy Wilkinson 012fbb3a57 Merge branch '2.6.x' into 2.7.x
Closes gh-31949
2022-08-01 20:51:18 +01:00
Andy Wilkinson c0daede1aa Ensure that jarmode jar added to an app has same SHA as published jar
Closes gh-31862
2022-08-01 20:49:10 +01:00
Phillip Webb 22144987e9 Update copyright year of changed files 2022-07-29 12:10:03 +01:00
Phillip Webb e08c16dfd6 Polish 2022-07-29 12:10:02 +01:00
Stephane Nicoll 41e8697445 Polish 2022-07-29 10:00:54 +02:00
Stephane Nicoll da324c8b03 Merge branch '2.7.x' 2022-07-28 16:07:26 +02:00
Stephane Nicoll 6786659aae Merge branch '2.6.x' into 2.7.x 2022-07-28 16:07:18 +02:00
Stephane Nicoll 7d860df5f0 Polish 2022-07-28 16:05:16 +02:00
Stephane Nicoll b0bc7cd85b Reuse JavaProcessExecutor
See gh-31682
2022-07-28 16:00:06 +02:00
Stephane Nicoll c3ae6519f4 Reuse SpringApplicationClassFinder
See gh-31682
2022-07-28 16:00:05 +02:00
Stephane Nicoll 472b0b8bcb Remove AbstractApplicationRunMojo intermediate layer
This commit reverts the intermediate layer that was created to
accommodate with the AOT use case.

See gh-31682
2022-07-28 16:00:05 +02:00
Stephane Nicoll 6f8b9288f3 Extract AotGenerateMojo to its own structure
This commit stops AotGenerateMojo from being an extension of the
regular run infrastructure and used the opportunity to extract a
number of utility classes to run a Java process.

As a result, not all features of running an application is supported
and exposed options now are targeted against AOT.

See gh-31682
2022-07-28 16:00:05 +02:00
Phillip Webb 35a65cf82e Merge branch '2.7.x'
Closes gh-31876
2022-07-26 17:48:00 +01:00
Phillip Webb fd076ab9ef Merge branch '2.6.x' into 2.7.x
Closes gh-31875
2022-07-26 17:46:20 +01:00
aoyvx 8c93d2e8a7 Ensure PROTOCOL_HANDLER system property is reset
See gh-31870
2022-07-26 17:20:55 +01:00
Phillip Webb 7377d85096 Merge branch '2.7.x'
Closes gh-31866
2022-07-26 12:18:14 +01:00
Phillip Webb a4ef6a7c5c Merge branch '2.6.x' into 2.7.x
Closes gh-31865
2022-07-26 12:13:16 +01:00
Phillip Webb f8412847dc Update copyright year for "Fix typos in code and documentation"
See gh-31734
2022-07-26 12:08:30 +01:00
Marc Wrobel dbfc6bded4 Fix typos in code and documentation
See gh-31734
2022-07-26 12:08:07 +01:00
Phillip Webb b93dbd56e8 Merge branch '2.7.x' 2022-07-26 10:51:17 +01:00
Phillip Webb 3931e82841 Merge branch '2.6.x' into 2.7.x 2022-07-26 10:50:42 +01:00
Phillip Webb 4bcec6e0ee Polish 2022-07-26 10:50:01 +01:00
Andy Wilkinson 6c28156b29 Avoid config-time creation of AOT source set's tasks
Closes gh-31844
2022-07-22 14:14:03 +01:00
Scott Frederick 6f65777035 Merge branch '2.7.x'
Closes gh-31827
2022-07-20 17:31:37 -05:00
Scott Frederick 9da38c8d2d Merge branch '2.6.x' into 2.7.x
Closes gh-31826
2022-07-20 17:29:58 -05:00
Scott Frederick 4e0b3aad9f Clarify how docker image publishing registry is determined
Closes gh-31820
2022-07-20 17:29:40 -05:00
Scott Frederick cf7a163c6d Merge branch '2.7.x' 2022-07-20 16:07:32 -05:00
Scott Frederick f9cf31e59e Fix compile errors
See gh-28844
2022-07-20 16:07:19 -05:00
Scott Frederick 36d6106bb0 Merge branch '2.7.x'
Closes gh-31825
2022-07-20 15:11:30 -05:00
Scott Frederick 09c7ce6dab Merge branch '2.6.x' into 2.7.x
Closes gh-31824
2022-07-20 15:10:43 -05:00
Scott Frederick 9b0cdac58a Simplify support for pushing images to unauthenticated registries
This commit removes the requirement that `docker.publishRegistry`
configuration must be provided when an image is published by the Gradle
or Maven plugin.

Fixes gh-28844
2022-07-20 15:06:05 -05:00
Andy Wilkinson 6da8c88b2b Include library resources on classpath of AOT source generation
Closes gh-31803
2022-07-20 10:07:02 +01:00
Andy Wilkinson 5c057a2730 Auto-configure the new Elasticsearch clients
This commit introduces auto-configuration for the new Elasticsearch
clients that are based upon their new Java client. The new Java
client builds on top of their existing low-level REST client,
replacing the high-level REST client which has been deprecated.
As part of introducing support for the new Elasticsearch client,
the auto-configuration for the templates (both imperative and
reactive) provided by Spring Data has also been updated to use the
new templates that build upon the new Java client.

As part of these changes, support for the high-level REST client and
the old Spring Data Elasticsearch templates has been removed. One
significant change is that the new reactive template is no longer
based on WebClient. As a result, the WebClient-specific configuration
property has been removed.

Closes gh-30647
Closes gh-28597
Closes gh-31755
2022-07-19 15:26:42 +01:00
Stephane Nicoll f52d00d9fa Merge branch '2.7.x'
Closes gh-31779
2022-07-18 11:30:45 +02:00
Stephane Nicoll 92a7af4038 Merge branch '2.6.x' into 2.7.x
Closes gh-31777
2022-07-18 11:30:36 +02:00
Johnny Lim f591c75ad7 Disable incompatible tests on macOS AArch64
This commit also updates related test support classes.

See gh-31539
2022-07-18 11:25:52 +02:00
Andy Wilkinson 9c250cae92 Merge branch '2.6.x' into 2.7.x
Closes gh-31754
2022-07-14 17:28:54 +01:00
Andy Wilkinson 8c4708982b Test our Gradle plugin against 7.5
Closes gh-31753
2022-07-14 17:25:34 +01:00
Andy Wilkinson 7bd9873cd9 Raise the minimum supported version of Gradle to 7.5
Closes gh-31215
2022-07-14 15:56:32 +01:00
Moritz Halbritter 3703b317ce Enable GraalVM reachability metadata repository
Closes gh-31687
2022-07-12 14:25:38 +02:00
Scott Frederick e49597c1ae Merge branch '2.7.x'
Closes gh-31559
2022-06-30 14:58:48 -05:00
Scott Frederick e24c49a09a Merge branch '2.6.x' into 2.7.x
Closes gh-31558
2022-06-30 14:58:28 -05:00
Scott Frederick 17bdc526f6 Avoid adding layers for buildpacks that exist in the builder
This commit adds validation of any buildpacks that are specified for
image building to match them against buildpacks that are bundled in
the builder. If an image buildpack's ID, version, and one layer
hash match the same information stored in a label on the builder
image, that buildpack won't be added and the buildpack bundled in
the builder will be used instead. This reduces the chance of adding to
the total count of layers in a builder image unnecessarily.

Fixes gh-31233
2022-06-30 14:35:34 -05:00
dreis2211 458f989cf3 Use switch expressions where appropriate
See gh-31527
2022-06-24 16:19:28 +01:00
Andy Wilkinson 836b08f49d Merge branch '2.7.x' 2022-06-24 15:03:41 +01:00
Andy Wilkinson dfb8979456 Merge branch '2.6.x' into 2.7.x 2022-06-24 15:03:25 +01:00
Andy Wilkinson c87340e5c1 Remove unnecessary throws 2022-06-24 15:02:58 +01:00
Andy Wilkinson 631b1e0d76 Merge branch '2.7.x'
Closes gh-31526
2022-06-24 13:10:10 +01:00
Andy Wilkinson 1e08f545d0 Merge branch '2.6.x' into 2.7.x
Closes gh-31525
2022-06-24 13:05:06 +01:00
Andy Wilkinson f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2022-06-24 12:57:52 +01:00
Stephane Nicoll 03b742c655 Merge branch '2.7.x' 2022-06-22 08:17:13 +02:00
Stephane Nicoll e967d0383b Merge branch '2.6.x' into 2.7.x 2022-06-22 08:16:18 +02:00
Stephane Nicoll 79d3e3080f Polish 2022-06-22 08:15:04 +02:00
Phillip Webb e77f137a32 Merge branch '2.7.x'
Closes gh-31485
2022-06-21 19:10:37 -07:00
Phillip Webb 13b2de3bb8 Merge branch '2.6.x' into 2.7.x
Closes gh-31484
2022-06-21 19:10:23 -07:00
Phillip Webb 7fc9debf2a Consider super classes when detecting nested property classes
Update `PropertyDescriptor.isParentTheSame` to consider the candidate
as well as all super classes.

Fixes gh-21626
2022-06-21 19:09:32 -07:00
dreis2211 cc91009b70 Use java.util.HexFormat where appropriate
See gh-31477
2022-06-21 17:02:39 +01:00
dreis2211 5db04da275 Use pattern matching for instanceof where appropriate
See gh-31475
2022-06-20 17:55:36 +01:00
dreis2211 fb45fc4819 Use Files.writeString() and Files.readString() where possible
See gh-31459
2022-06-20 09:05:09 +02:00
dreis2211 b687e1c7ee Use Runtime.version() instead of reflection
See gh-31444
2022-06-19 10:28:59 +02:00
dreis2211 a639685053 Remove obsolete Java compatibility code
See gh-31452
2022-06-19 10:22:23 +02:00
Johnny Lim 5d7d0d8047 Use 3.0.0 for Javadoc since tags
See gh-31448
2022-06-17 16:48:58 +02:00
Phillip Webb 657fa3e64e Merge branch '2.7.x'
Closes gh-31409
2022-06-16 15:36:29 -07:00
Phillip Webb 7c91ebb1b0 Merge branch '2.6.x' into 2.7.x
Closes gh-31408
2022-06-16 15:36:00 -07:00
Phillip Webb ae6311ddda Prevent Logback from accidentally being used in Log4J2LoggingSystemTests
Update `Log4J2LoggingSystemTests` to exclude Logback and include
'log4j-slf4j-impl'. The `ModifiedClassPathClassLoader` has also been
updated so that it no longer automatically excludes `log4j` artifacts,
instead we now use `@ClassPathExclusions` on the relevant tests.

Fixes gh-19365
2022-06-16 15:35:32 -07:00
Andy Wilkinson 4f3180540c Use Framework's MockSpringFactoriesLoader
Closes gh-31406
2022-06-16 15:40:03 +01:00
Andy Wilkinson d370d19e7a Merge branch '2.7.x'
Closes gh-31403
2022-06-16 12:14:52 +01:00
Andy Wilkinson 5e1cd28d3f Merge branch '2.6.x' into 2.7.x
Closes gh-31402
2022-06-16 12:14:28 +01:00
Lars Grefer e8a1a0399a Upgrade to Bouncycastle 1.71
Closes gh-31400
2022-06-16 12:14:06 +01:00
Phillip Webb d84557f1f9 Merge branch '2.7.x'
Closes gh-31396
2022-06-15 10:53:17 -07:00
Phillip Webb bcbcc53a09 Merge branch '2.6.x' into 2.7.x
Closes gh-31395
2022-06-15 10:51:40 -07:00
Phillip Webb b42f056ddb Don't close jar files early
Update `JarFile` and related classes so that `close()` is not longer
called early.

Prior to this commit, we would always immediately close the underlying
jar file to prevent file locking issues with our build. This causes
issues on certain JVMs when they attempt to verify a signed jar.

The file lock issues have now been solved by returning a custom input
stream from `JarUrlConnection` which captures and delegates the close
method.

Fixes gh-29356
2022-06-15 10:51:01 -07:00
Stephane Nicoll d5695c1931 Add resource hints for configuration properties
This commits introduces a RuntimeHintsRegistrar for configuration
properties. By default, it provides the necessary hint to load
application properties and yaml files in default locations.

Closes gh-31311
2022-06-15 10:15:27 +02:00
Stephane Nicoll 99f71941cd Merge branch '2.7.x'
Closes gh-31363
2022-06-13 15:55:21 +02:00
Stephane Nicoll 499f54a335 Merge branch '2.6.x' into 2.7.x
Closes gh-31362
2022-06-13 15:51:45 +02:00
Lars Grefer 8c9557f552 Enable Links for the Javadoc of the Gradle Plugins
See gh-31279
2022-06-13 15:51:08 +02:00
Stephane Nicoll e2c42e4bbf Merge branch '2.7.x'
Closes gh-31262
2022-06-07 09:16:19 +02:00
Stephane Nicoll 8e550933a8 Merge branch '2.6.x' into 2.7.x
Closes gh-31261
2022-06-07 09:16:10 +02:00
Stephane Nicoll bbb5966bca Upgrade integration tests to Apache Maven 3.8.5
Closes gh-31260
2022-06-07 09:15:41 +02:00
Stephane Nicoll 1c94f835c7 Copy AOT-generated classes
Closes gh-31245
2022-06-07 08:59:57 +02:00
Stephane Nicoll 0dbcb5f6d3 Start building against Spring Framework 6.0.0-M5 snapshots
See gh-31241
2022-06-02 16:19:58 +02:00
Andy Wilkinson 1ba1eff63a Merge branch '2.7.x' 2022-05-30 19:22:45 +01:00
Andy Wilkinson 430040415b Merge branch '2.6.x' into 2.7.x 2022-05-30 19:22:37 +01:00
Andy Wilkinson 0b6c147a87 Polish 2022-05-30 19:22:30 +01:00
Andy Wilkinson 12465ea6b7 Merge branch '2.7.x'
Closes gh-31214
2022-05-30 18:24:12 +01:00
Andy Wilkinson d1420b6abb Merge branch '2.6.x' into 2.7.x
Closes gh-31213
2022-05-30 18:24:00 +01:00
Andy Wilkinson da8dafe138 Make afterResolve hook used by bootJar and bootWar more robust
Previously, ResolvedDependencies used hasError on
ResolvedConfiguration to check that it was safe to work with all
of the resolved configuration's artifacts and their files. This
check is not sufficient as errors can still occur later on.

This commit updates ResolvedDependencies to use a lenient
configuration, thereby avoiding any problems that may be caused by
errors that occur after the hasError check.

Closes gh-30586
2022-05-30 18:19:47 +01:00
Andy Wilkinson d354c03e63 Merge branch '2.7.x'
Closes gh-31191
2022-05-27 15:58:57 +01:00
Andy Wilkinson 682ac53f32 Ensure that config processor runs with only AutoConfiguration
Fixes gh-31186
2022-05-27 15:58:00 +01:00
Andy Wilkinson 36a60d8e2e Merge branch '2.7.x'
Closes gh-31181
2022-05-26 19:49:53 +01:00
Andy Wilkinson 137318a845 Merge branch '2.6.x' into 2.7.x
Closes gh-31180
2022-05-26 19:49:35 +01:00
Damiano Albani 3f91ed037f Fix Custom Layers Configuration section title in Maven plugin docs
See gh-31172
2022-05-26 19:46:11 +01:00
Andy Wilkinson 4bb5ba2bd0 Merge branch '2.7.x' 2022-05-26 18:26:52 +01:00
Andy Wilkinson 935d1264e0 Merge branch '2.6.x' into 2.7.x 2022-05-26 18:13:08 +01:00
Andy Wilkinson 3d203d0215 Polish 2022-05-26 17:30:39 +01:00
Andy Wilkinson 14af1bb2dc Polish 2022-05-26 16:54:31 +01:00
Andy Wilkinson 26b89bfc80 Remove redundant throws declarations from public APIs
Closes gh-31179
2022-05-26 16:00:47 +01:00
Andy Wilkinson 5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
2022-05-26 15:54:58 +01:00
Andy Wilkinson 455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
2022-05-26 15:53:38 +01:00
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
2022-05-26 15:47:35 +01:00
Andy Wilkinson b3a4982f31 Merge branch '2.6.x' into 2.7.x
Closes gh-31174
2022-05-26 14:01:23 +01:00
Andy Wilkinson cbf42dea14 Update deprecation messages to change removal version from 2.8 to 3.0
Closes gh-30903
2022-05-26 13:59:03 +01:00
Andy Wilkinson 003f747e77 Merge branch '2.7.x'
Closes gh-31170
2022-05-26 13:52:41 +01:00
Andy Wilkinson e617035dba Merge branch '2.6.x' into 2.7.x
Closes gh-31167
2022-05-26 13:45:52 +01:00
Andy Wilkinson 3e7bd582a3 Upgrade to Spring Java Format 0.0.33
Closes gh-31166
2022-05-26 13:22:23 +01:00
Phillip Webb 68bd9d6b6d Merge branch '2.7.x' 2022-05-19 18:09:29 -07:00
Phillip Webb 06679a4c46 Merge branch '2.6.x' into 2.7.x
Closes gh-31128
2022-05-19 18:07:17 -07:00
Phillip Webb 9fa33e5645 Merge branch '2.5.x' into 2.6.x
Closes gh-31127
2022-05-19 18:04:54 -07:00
Phillip Webb 05a6447a8d Polish "Resolve errors in layers.xsd"
Validate loaded `layer.xml` files against the XSD and additionally
update `<layers>` sub elements to have a 'minOccurs' of 0.

See gh-31126
2022-05-19 18:01:55 -07:00
Liuzh 0d78323b60 Resolve errors in layers.xsd
Update `layer-*.xsd` files with following fixes:

- Rename <includeProjectDependencies> to <includeModuleDependencies>
- Rename <excludeProjectDependencies> to <excludeModuleDependencies>

See gh-31126
2022-05-19 18:00:25 -07:00
Andy Wilkinson c4beca3e01 Fix Maven-based AOT generation on Windows
Closes gh-30525
2022-05-18 10:54:35 +01:00
Phillip Webb f8a41d34aa Merge branch '2.7.x' 2022-05-17 22:22:08 -07:00
Phillip Webb ea41e89c6c Merge branch '2.5.x' into 2.6.x 2022-05-17 22:21:10 -07:00
Phillip Webb 7d2f1bafc0 Update copyright year of changed files 2022-05-17 22:20:05 -07:00
Phillip Webb 06f8041e4d Merge branch '2.7.x' 2022-05-17 21:50:42 -07:00
Phillip Webb d5d5997be7 Merge branch '2.6.x' into 2.7.x 2022-05-17 21:49:20 -07:00
Phillip Webb 99f5c781a5 Merge branch '2.5.x' into 2.6.x 2022-05-17 21:48:50 -07:00
Phillip Webb 350d27fe50 Polish code to use method references when possible 2022-05-17 21:16:42 -07:00
Andy Wilkinson bcc27c5d22 Deleting existing output before running AOT processing
Closes gh-30981
2022-05-17 15:33:45 +01:00
Andy Wilkinson 08768b5821 Join compile classpath using system-dependent separator
See gh-30525
2022-05-16 12:37:30 +01:00
Andy Wilkinson 6c4fedb4a4 Revert "Logback 1.3 and SLF4J 2.0"
This reverts commit f39a080a0e that was
pushed prematurely.
2022-05-13 16:23:48 +01:00
Andy Wilkinson f39a080a0e Logback 1.3 and SLF4J 2.0 2022-05-13 14:48:20 +01:00
Andy Wilkinson 0ce6e437a9 Align AotGenerateTests with spring.factories changes in Framework 2022-05-11 11:08:26 +01:00
Andy Wilkinson 770cb840c3 Use more flexible SpringFactoriesLoader
Closes gh-30235

Co-authored-by: Madhura Bhave <bhavem@vmware.com>
Co-authored-by: Stephane Nicoll <snicoll@vmware.com>
2022-05-09 14:13:04 +01:00
Andy Wilkinson 293a3c9ec1 Fix arguments passed to AOT processing in Gradle plugin
See gh-30527
2022-05-06 11:18:01 +01:00
Phillip Webb 8cf63a28b8 Update AOT work to latest Framework code 2022-05-05 15:19:33 -07:00
Andy Wilkinson 541ab69aff Merge branch '2.7.x' 2022-05-03 15:18:20 +01:00
Andy Wilkinson 4cd850cfc0 Merge branch '2.6.x' into 2.7.x
Closes gh-30851
2022-05-03 15:17:13 +01:00
Andy Wilkinson fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
2022-05-03 15:14:00 +01:00
Andy Wilkinson 4fd2e0c916 Polish "Fix typos"
See gh-30773
2022-05-03 14:09:53 +01:00
Andy Wilkinson f6d24dc1a8 Fix typos
See gh-30773
2022-05-03 14:09:37 +01:00
Andy Wilkinson fcf45d5c22 Add support for invoking AOT to the Gradle plugin
Closes gh-30527
2022-04-29 14:32:23 +01:00
Stephane Nicoll e81c6337c6 Add support for invoking AOT to the Maven Plugin
This commit adds an `aot-generate` goal to the Maven Plugin that
triggers AOT generation on the application. The new goal shares a
number of properties with the existing `run` goal and uses the same
algorithm to detect the main class to use.

Closes gh-30525
2022-04-28 13:48:52 +01:00
Andy Wilkinson eacd8c04a5 Merge branch '2.7.x' 2022-04-25 15:03:52 +01:00
Andy Wilkinson 56690a7eb9 Merge branch '2.6.x' into 2.7.x
Closes gh-30791
2022-04-25 15:03:32 +01:00
Andy Wilkinson 409ec48e2a Merge branch '2.5.x' into 2.6.x
Closes gh-30790
2022-04-25 15:00:51 +01:00
Andy Wilkinson 193ef9a06d Package META-INF/services/ files beneath BOOT-INF/classes/
Closes gh-30413
2022-04-25 14:32:47 +01:00
Phillip Webb 7a6ca8ce25 Merge branch '2.7.x' 2022-04-20 15:30:01 -07:00
Phillip Webb dd5696b59b Update copyright year of changed files 2022-04-20 15:26:30 -07:00
Stephane Nicoll a4cccc98c6 Merge branch '2.7.x' 2022-04-19 09:37:08 +02:00
izeye ed412af138 Polish
See gh-30695
2022-04-19 09:34:28 +02:00
dreis2211 a63e730136 Remove unused private methods
See gh-30655
2022-04-19 08:45:44 +02:00
Andy Wilkinson 7e97073994 Merge branch '2.7.x' 2022-04-14 18:38:26 +01:00
Andy Wilkinson 74494f1d37 Merge branch '2.6.x' into 2.7.x
Closes gh-30671
2022-04-14 18:38:09 +01:00
Andy Wilkinson 1720290234 Merge branch '2.5.x' into 2.6.x
Closes gh-30670
2022-04-14 18:37:55 +01:00
Andy Wilkinson f7d181e65b Handle null additional properties more gracefully
Closes gh-30654
2022-04-14 18:36:15 +01:00
Scott Frederick 9aff0a998f Merge branch '2.7.x' 2022-04-13 16:09:48 -05:00
Scott Frederick f032690d0a Add support for CNB platform API 0.9
Fixes gh-30566
2022-04-13 16:09:32 -05:00
Scott Frederick e32511516e Merge branch '2.7.x' 2022-04-04 16:29:52 -05:00
Scott Frederick ef79a18514 Use provided scope for Maven core dependencies in Maven plugin
Fixes gh-29520
2022-04-04 16:00:15 -05:00
Stephane Nicoll 2a2c4be809 Merge branch '2.6.x' into 2.7.x
Closes gh-30510
2022-04-03 09:33:02 +02:00
Stephane Nicoll b2a4ae38e8 Merge branch '2.5.x' into 2.6.x
Closes gh-30509
2022-04-03 09:32:39 +02:00
izeye 40d0e38e76 Test Spring Boot Gradle Plugin against Gradle 7.4.2
See gh-30506
2022-04-03 09:29:50 +02:00
Stephane Nicoll 5f66019706 Remove the ability to run an application in the Maven process
Closes gh-30501
2022-04-01 15:26:21 +02:00
Stephane Nicoll 13c9c1adb5 Merge branch '2.7.x' 2022-04-01 11:58:27 +02:00
Stephane Nicoll 2c5398898b Polish "Deprecate running an application in the Maven JVM"
See gh-30479
2022-04-01 11:57:59 +02:00
Stephane Nicoll c21b4a5280 Merge branch '2.7.x' 2022-04-01 11:35:48 +02:00
Stephane Nicoll 09696c90c7 Deprecate running an application in the Maven JVM
This commit deprecates the "fork" property so that the application
always runs in a dedicated process. This aligns with the behaviour of
the Gradle plugin, and simplifies the lifecycle of certain features that
would not work in a non-forked process.

Closes gh-30479
2022-04-01 11:35:34 +02:00
Andy Wilkinson 42ae55895d Simplify resolution of the application's main class name
Closes gh-30467
2022-03-29 15:51:22 +01:00
Andy Wilkinson fbb060e0fe Polish
See 5d8c1d9bd7.
2022-03-29 15:22:01 +01:00
Andy Wilkinson d9c2e7c85a Merge branch '2.7.x' 2022-03-29 15:07:08 +01:00
Andy Wilkinson 4722d9d17e Merge branch '2.6.x' into 2.7.x
Closes gh-30470
2022-03-29 15:06:56 +01:00
Andy Wilkinson 880d33f391 Merge branch '2.5.x' into 2.6.x
Closes gh-30469
2022-03-29 15:06:47 +01:00
Andy Wilkinson 05b7befc7a Fix javadoc of ResolveMainClassName setClasspath(Object)
Closes gh-30468
2022-03-29 15:05:54 +01:00
Andy Wilkinson 5d8c1d9bd7 Merge branch '2.7.x' 2022-03-29 14:30:42 +01:00
Andy Wilkinson 2f3ae02385 Merge branch '2.6.x' into 2.7.x
Closes gh-30466
2022-03-29 14:24:42 +01:00
Andy Wilkinson 8f985474a6 Merge branch '2.5.x' into 2.6.x
Closes gh-30465
2022-03-29 14:24:25 +01:00
Andy Wilkinson d574563616 Document @ConstructorBinding and @DefaultValue with records
Closes gh-30460
2022-03-29 14:14:28 +01:00
Andy Wilkinson 98678ed415 Merge branch '2.7.x' 2022-03-15 17:36:23 +00:00
Andy Wilkinson b4cbcd797e Merge branch '2.6.x' into 2.7.x
Closes gh-30218
2022-03-15 17:36:08 +00:00
Andy Wilkinson c4d2602a3e Merge branch '2.5.x' into 2.6.x
Closes gh-30217
2022-03-15 17:34:53 +00:00
Octavia Togami 264a6888a9 Refactor code to avoid using internal LazyPublishArtifact
See gh-30209
2022-03-15 17:09:15 +00:00
Andy Wilkinson 9bf77b1a06 Merge branch '2.7.x' 2022-03-15 15:31:03 +00:00
Andy Wilkinson 4935c11a07 Merge branch '2.6.x' into 2.7.x
Closes gh-30215
2022-03-15 15:30:40 +00:00
Andy Wilkinson 464fce621d Merge branch '2.5.x' into 2.6.x
Closes gh-30213
2022-03-15 15:30:06 +00:00
Andy Wilkinson f11ddb4bd7 Prevent eager creation of bootWar task
Previously, querying the artifact's extension in
SinglePublishedArtifact would result in eager creation of the task
that creates the artifact. Typically, this is the bootWar task.

Instead of querying the extension, this commit reworks
SinglePublishedArtifact and its callers to call separate methods for
jar and war artifacts so that the extension check is no longer
required.

Tests have been added to ensure that running help does not trigger
any unexpected task creation. The tests' assertions tolerate some
variation in behavior that depend on the version of Gradle and
whether the configuration cache is enabled.

Closes gh-30211
2022-03-15 15:28:59 +00:00
Scott Frederick 377b13c048 Merge branch '2.7.x' 2022-03-11 16:39:49 -06:00
Scott Frederick de321b00b7 Support podman for building images
Closes gh-30196
2022-03-11 16:39:07 -06:00
Scott Frederick 5e07db7d21 Merge branch '2.7.x' 2022-03-11 15:59:16 -06:00
Scott Frederick 7ad538cd84 Add option to use configured Docker host in builder
This commit adds support for a `docker.bindHostToBuilder` option in
the Maven and Gradle image building goal and task.

Fixes gh-29384
2022-03-11 15:27:22 -06:00
Scott Frederick 040afdeafe Merge branch '2.7.x' 2022-03-11 15:20:38 -06:00
Scott Frederick 93622d18eb Merge branch '2.6.x' into 2.7.x
Closes gh-30195
2022-03-11 15:20:15 -06:00
Scott Frederick 35a9a7fee2 Ignore deprecation warnings in Paketo system tests
Closes gh-30194
2022-03-11 15:19:53 -06:00
Andy Wilkinson 2600bf4719 Merge branch '2.6.x' into 2.7.x
Closes gh-30142
2022-03-09 18:39:45 +00:00
Andy Wilkinson 382c6972ec Merge branch '2.5.x' into 2.6.x
Closes gh-30141
2022-03-09 18:39:32 +00:00
Andy Wilkinson 5264fb3d1e Test our Gradle Plugin against Gradle 7.4.1
Closes gh-30139
2022-03-09 18:09:07 +00:00
Andy Wilkinson e9d2ec507e Merge branch '2.7.x' 2022-03-09 15:17:25 +00:00
Andy Wilkinson d552f49128 Merge branch '2.7.x' 2022-03-09 12:53:15 +00:00
Andy Wilkinson 83de1995c7 Merge branch '2.6.x' into 2.7.x
Closes gh-30130
2022-03-09 12:44:53 +00:00
Andy Wilkinson b0e4cabdd8 Merge branch '2.5.x' into 2.6.x
Closes gh-30123
2022-03-09 12:37:45 +00:00