Commit Graph

2247 Commits

Author SHA1 Message Date
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
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
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
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
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
dd5696b59b Update copyright year of changed files 2022-04-20 15:26:30 -07:00
izeye
ed412af138 Polish
See gh-30695
2022-04-19 09:34:28 +02: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
f032690d0a Add support for CNB platform API 0.9
Fixes gh-30566
2022-04-13 16:09:32 -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
2c5398898b Polish "Deprecate running an application in the Maven JVM"
See gh-30479
2022-04-01 11:57:59 +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
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
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
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
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
de321b00b7 Support podman for building images
Closes gh-30196
2022-03-11 16:39:07 -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
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
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
Andy Wilkinson
20d21d4e58 Set up CI with JDK 18
Closes gh-30104
2022-03-09 12:28:34 +00:00
Madhura Bhave
9628507756 Merge branch '2.6.x' into 2.7.x
Closes gh-30094
2022-03-07 21:53:59 -08:00
Madhura Bhave
d131003456 Merge branch '2.5.x' into 2.6.x
Closes gh-30093
2022-03-07 21:53:44 -08:00
Madhura Bhave
480ccc6175 Clarify devtools documentation when using with build plugins
Closes gh-17851
2022-03-07 21:52:43 -08:00
Moritz Halbritter
d95dc75de9 Merge branch '2.6.x' into 2.7.x 2022-03-07 14:11:22 +01:00
Moritz Halbritter
e980a53399 Merge branch '2.5.x' into 2.6.x 2022-03-07 14:11:11 +01:00
Moritz Halbritter
f3eb90046f Remove @Repeatable support for @DisabledOnOs
We'll add it back again when we need it, and delay the naming issue.

See gh-30082
2022-03-07 14:10:13 +01:00
Moritz Halbritter
50d766020c Merge branch '2.6.x' into 2.7.x
Closes gh-30084
2022-03-07 13:22:53 +01:00
Moritz Halbritter
564555347f Merge branch '2.5.x' into 2.6.x
Closes gh-30083
2022-03-07 13:22:34 +01:00
Moritz Halbritter
be38311c5d Disable incompatible tests on Linux AArch64
- Adds a new @DisableOnOs annotation, which is inspired from JUnit5s
  @DisableOnOs annotation. This new annotation supports the architecture
  and is repeatable

Closes gh-30082
2022-03-07 13:22:17 +01:00
Andy Wilkinson
4459fb46be Merge branch '2.6.x' into 2.7.x
Closes gh-30058
2022-03-03 20:34:46 +00:00
Andy Wilkinson
2ba8b490a0 Merge branch '2.5.x' into 2.6.x
Closes gh-30057
2022-03-03 20:34:34 +00:00
Andy Wilkinson
e7566e968e Use configuration avoidance APIs in Gradle plugin's docs
Closes gh-30056
2022-03-03 20:27:46 +00:00
Andy Wilkinson
b89c29f29c Merge branch '2.6.x' into 2.7.x
Closes gh-30037
2022-03-02 15:24:10 +00:00
Andy Wilkinson
ea729fc1c6 Merge branch '2.5.x' into 2.6.x
Closes gh-30036
2022-03-02 15:21:43 +00:00
Andy Wilkinson
4073cf8334 Only apply special handling of META-INF to jar files
The changes for gh-28562 attempted to align the Gradle plugin's
handling of META-INF with the Maven plugin's behavior. Unfortunately,
they want too far, applying the handling to both jar and war files
when the Maven plugin only applies it to jar files.

This commit reworks the changes so that they only apply to jar files.

Closes gh-30026
2022-03-02 15:19:09 +00:00
Andy Wilkinson
07b87668a4 Merge branch '2.6.x' into 2.7.x
Closes gh-30023
2022-03-01 17:49:31 +00:00
Andy Wilkinson
3630952f7b Merge branch '2.5.x' into 2.6.x
Closes gh-30022
2022-03-01 17:49:14 +00:00
Andy Wilkinson
a265f150ac Improve parsing of numeric default values
Previously, all integral numbers were parsed as integers. This
caused two problems:

1. Compilation would fail if the default value for a long wasn't a
   valid integer.
2. The default value for a byte or short could be out of range,
   resulting in the generation of invalid metadata and an error
   that could have been caught at compile time not being caught
   until runtime.

This commit updates the parsing of all numeric values to use the
parse method of the target primitive type. For example,
Short.parseShort(String) is now used to parse a short.

Fixes gh-30020
2022-03-01 17:38:19 +00:00
Phillip Webb
9f00c3acf5 Polish 2022-02-23 21:44:43 -08:00
Phillip Webb
adfaa8f778 Merge branch '2.6.x' into 2.7.x 2022-02-23 21:44:37 -08:00
Phillip Webb
1a3841f74e Polish 2022-02-23 21:44:14 -08:00
Scott Frederick
ee4e7bb923 Merge branch '2.6.x' into 2.7.x
Closes gh-29982
2022-02-23 17:56:34 -06:00
Scott Frederick
59ffe28639 Ignore buildpack deprecation warnings in Paketo system tests
Fixes gh-29885
2022-02-23 17:56:21 -06:00
Moritz Halbritter
fd36215d72 Omit empty values for AutoConfigureAfter and AutoConfigureBefore
As @AutoConfiguration is now meta-annotated with @AutoConfigureAfter
and @AutoConfigureBefore, the generated property files have a lot of
superfluous lines in the format <class>.AutoConfigureAfter= and
<class>.AutoConfigureBefore=.

One can now configure in the annotation processor for each property key
if empty values should be omitted. This is currently only activated for
AutoConfigureAfter and AutoConfigureBefore

See gh-29907
2022-02-23 15:39:46 +01:00
Moritz Halbritter
7872f61bfc Add @AutoConfiguration annotation support to the autoconfigure-processor
See gh-29907
2022-02-23 15:39:46 +01:00
Andy Wilkinson
1ae46dee6d Merge branch '2.6.x' into 2.7.x
Closes gh-29967
2022-02-23 08:59:33 +00:00
Andy Wilkinson
4f8a18fa0a Merge branch '2.5.x' into 2.6.x
Closes gh-29966
2022-02-23 08:59:16 +00:00
Andy Wilkinson
9c9e04b8e4 Use mainClass rather than deprecated main in BootRun examples
Closes gh-29965
2022-02-23 08:59:04 +00:00
Phillip Webb
26512f8ac6 Merge branch '2.6.x' into 2.7.x 2022-02-16 20:24:59 -08:00
Phillip Webb
5b4ec32645 Merge branch '2.5.x' into 2.6.x 2022-02-16 18:56:12 -08:00
Phillip Webb
c86b1330cf Update copyright year of changed files 2022-02-16 17:56:19 -08:00
Phillip Webb
9ab1b669d0 Polish 2022-02-16 17:56:07 -08:00
Andy Wilkinson
ba73436ea8 Merge branch '2.6.x' into 2.7.x
Closes gh-29881
2022-02-16 14:59:39 +00:00
Andy Wilkinson
86c75b7a5c Merge branch '2.5.x' into 2.6.x
Closes gh-29880
2022-02-16 14:58:58 +00:00
Andy Wilkinson
03352b0a8c Prohibit use of APIs that prevent task configuration avoidance
Closes gh-29809
2022-02-16 14:57:47 +00:00
Andy Wilkinson
8e4484acea Merge branch '2.6.x' into 2.7.x
Closes gh-29878
2022-02-16 12:01:31 +00:00
Andy Wilkinson
ce4beae12f Merge branch '2.5.x' into 2.6.x
Closes gh-29877
2022-02-16 12:01:15 +00:00
izeye
6bd6f590d3 Fix Javadoc since for ResolveMainClassName#setClasspath(Object)
See gh-29826
2022-02-16 12:00:31 +00:00
Andy Wilkinson
a513dbb797 Merge branch '2.6.x' into 2.7.x
Closes gh-29818
2022-02-15 12:24:38 +00:00
Andy Wilkinson
f134358c78 Merge branch '2.5.x' into 2.6.x
Closes gh-29817
2022-02-15 12:24:05 +00:00
Andy Wilkinson
c84b35c460 Polish "Avoid using Gradle APIs that trigger eager task creation"
See gh-29762
2022-02-15 08:36:29 +00:00
Lars Grefer
7cd87acd73 Avoid using Gradle APIs that trigger eager task creation
See gh-29762
2022-02-15 08:24:14 +00:00
Andy Wilkinson
25e75c60ee Merge branch '2.6.x' into 2.7.x
Closes gh-29806
2022-02-14 12:32:47 +00:00
Andy Wilkinson
85d14cdb2c Merge branch '2.5.x' into 2.6.x
Closes gh-29805
2022-02-14 12:32:32 +00:00
Andy Wilkinson
1fd4a4d86b Remove code related to unsupported versions of Gradle
Closes gh-29681
2022-02-14 12:31:21 +00:00
Scott Frederick
db6ef0e802 Exclude duplicate properties file when building a jar from jars
See gh-29670 and gh-23955
2022-02-11 15:31:20 -06:00
Andy Wilkinson
da61545925 Merge branch '2.6.x' into 2.7.x
Closes gh-29749
2022-02-11 13:34:51 +00:00
Andy Wilkinson
646bb05c8d Merge branch '2.5.x' into 2.6.x
Closes gh-29748
2022-02-11 13:34:40 +00:00
Andy Wilkinson
c3eee4ad68 Align Gradle's plugin's META-INF repackaging with Maven plugin's
Closes gh-28562
2022-02-11 13:32:52 +00:00
Andy Wilkinson
fc23310144 Merge branch '2.6.x' into 2.7.x
Closes gh-29734
2022-02-10 17:13:56 +00:00
Andy Wilkinson
d6ebce4ccf Merge branch '2.5.x' into 2.6.x
Closes gh-29733
2022-02-10 17:02:39 +00:00
Andy Wilkinson
6901f6dab2 Test our Gradle plugin against Gradle 7.4
Closes gh-29673
2022-02-10 16:57:13 +00:00
Andy Wilkinson
4f724f14d3 Polish "Override available() in RandomAccessDataFile's InputStream"
See gh-29295
2022-02-10 15:25:01 +00:00
Gnaily
49bf620f4b Override available() in RandomAccessDataFile's InputStream
See gh-29295
2022-02-10 15:23:19 +00:00
Moritz Halbritter
94d095ce1a Merge branch '2.6.x' into 2.7.x
Closes gh-29692
2022-02-09 14:10:41 +01:00
Moritz Halbritter
079ea41d6d Merge branch '2.5.x' into 2.6.x
Closes gh-29691
2022-02-09 14:09:33 +01:00
Moritz Halbritter
262db65a38 Ignore invalid stream types when reading log update events
See gh-29675
2022-02-09 14:03:02 +01:00
Andy Wilkinson
665e1f665e Merge branch '2.6.x' into 2.7.x
Closes gh-29688
2022-02-09 11:35:03 +00:00
Andy Wilkinson
b46eba16e6 Merge branch '2.5.x' into 2.6.x
Closes gh-29687
2022-02-09 11:34:51 +00:00
Andy Wilkinson
48fe1513fe Test documented build script snippets when they change
Closes gh-29684
2022-02-09 11:33:40 +00:00
Andy Wilkinson
1e16c2f229 Merge branch '2.6.x' into 2.7.x
Closes gh-29686
2022-02-09 11:32:43 +00:00
Andy Wilkinson
c0664efa86 Merge branch '2.5.x' into 2.6.x
Closes gh-29685
2022-02-09 11:32:32 +00:00
Mike Partridge
2e9dcdd96d Replace use of classifier with archiveClassifier
classifier has been deprecated so the docs should be using its
replacement, archiveClassifier, instead.

See gh-29611
2022-02-09 11:31:22 +00:00
Andy Wilkinson
41863d4b80 Merge branch '2.6.x' into 2.7.x
Closes gh-29680
2022-02-08 19:21:59 +00:00
Andy Wilkinson
358cdb33f7 Merge branch '2.5.x' into 2.6.x
Closes gh-29679
2022-02-08 19:21:48 +00:00
Andy Wilkinson
43ca2d2cb0 Access classpath lazily to allow later changes to be picked up
Previously, the classpath of bootJar, bootWar, and bootRun was
configured directly as a FileCollection derived from the main source
set's runtime classpath. This direct configuration meant that
subsequent changes to the main source set's runtime classpath may not
have been picked up.

This commit changes the configuration of the classpath to use a
Callable. This indirection allows subsequent changes to the main
source set's runtime classpath to be picked up as long as they
occur before Gradle calls the callable.

Closes gh-29672
2022-02-08 19:21:37 +00:00
Phillip Webb
ce08b519b1 Merge branch '2.6.x' into 2.7.x 2022-02-02 10:37:55 -08:00
Phillip Webb
50e0e28155 Merge branch '2.5.x' into 2.6.x 2022-02-02 10:37:32 -08:00
Phillip Webb
2b40ce09d8 Update copyright year of changed files 2022-02-02 10:35:40 -08:00
Stephane Nicoll
f812b33cbd Merge branch '2.6.x' into 2.7.x
Closes gh-29613
2022-02-01 11:07:31 +01:00
Stephane Nicoll
136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
2022-02-01 10:59:08 +01:00
Stephane Nicoll
7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
2022-02-01 10:03:18 +01:00
Yanming Zhou
b49418aaaf Enforce use of BDDMockito
1. Replace Mockito.verify*() with BDDMockito.then()
2. Replace Mockito.doReturn() with BDDMockito.willReturn()
3. Adjust checkstyle rule

See gh-29178
2022-02-01 09:37:15 +01:00
Andy Wilkinson
8480abca20 Merge branch '2.6.x' into 2.7.x
Closes gh-29561
2022-01-25 12:19:37 +00:00
Andy Wilkinson
fe43d527b5 Merge branch '2.5.x' into 2.6.x
Closes gh-29560
2022-01-25 12:19:16 +00:00
Andy Wilkinson
3ed65f2383 Avoid running Maven plugin ITs for each s-b-dependencies change
Closes gh-28781
2022-01-25 12:11:19 +00:00
Scott Frederick
698eb94913 Merge branch '2.6.x' into 2.7.x
Closes gh-29554
2022-01-24 16:20:33 -06:00
Scott Frederick
909ef6d635 Merge branch '2.5.x' into 2.6.x
Closes gh-29553
2022-01-24 16:19:43 -06:00
Scott Frederick
000cbfa2d9 Set file permissions on all created test files
Closes gh-29551
2022-01-24 16:19:20 -06:00
Phillip Webb
e1c84e2972 Merge branch '2.6.x' into 2.7.x
Closes gh-29372
2022-01-12 14:07:48 -08:00
Phillip Webb
72696cdb0f Merge branch '2.5.x' into 2.6.x
Closes gh-29371
2022-01-12 14:07:31 -08:00
Phillip Webb
9cf55808fb Ensure run user actually exists
Update `launch.script` so that the `run_user` variable is only set when
the user actually exists. Prior to this commit, if the jar file was
owned by a non-existing user the startup script could fail.

Fixes gh-29370
2022-01-12 14:05:30 -08:00
Stephane Nicoll
980aa616c8 Fix build failure
See gh-29290
2022-01-07 17:58:15 +01:00
Stephane Nicoll
9821cdfd8b Remove deprecated code
Closes gh-29290
2022-01-07 14:42:14 +01:00
Andy Wilkinson
508d0af453 Merge branch '2.6.x' into 2.7.x
Closes gh-29269
2022-01-05 11:58:33 +00:00
Andy Wilkinson
a6d8ff4677 Merge branch '2.5.x' into 2.6.x
Closes gh-29268
2022-01-05 11:58:03 +00:00
Andy Wilkinson
41b01cc289 Only write parent entries when entry is new
Previously, when writing a repackaged jar, an attempt to write all of
an entry's parent directories would always be made, irrespective of
whether or not the entry itself had already been written. This was
inefficient as, due to the way that the jar is written, once an entry
itself has been written, we know that all of its parent directories
will also have been written.

This commit updates the jar writer so that no attempt is made to
write parent directory entries if the entry itself has already been
written.

Fixes gh-29175
2022-01-05 11:49:48 +00:00
Stephane Nicoll
eb81cbf053 Merge branch '2.6.x' into 2.7.x
Closes gh-29173
2021-12-25 09:55:38 +01:00
Stephane Nicoll
8ee0640cc0 Merge branch '2.5.x' into 2.6.x
Closes gh-29172
2021-12-25 09:55:24 +01:00
izeye
9a6c1c531d Test our Gradle plugin against Gradle 7.3.3
See gh-29161
2021-12-25 09:52:14 +01:00
Stephane Nicoll
a05714ad9f Merge branch '2.6.x' into 2.7.x
Closes gh-29097
2021-12-17 10:30:42 +01:00
Stephane Nicoll
10362a9315 Merge branch '2.5.x' into 2.6.x
Closes gh-29096
2021-12-17 10:30:26 +01:00
Stephane Nicoll
8c9d398422 Test our Gradle plugin against Gradle 7.3.2
Closes gh-29093
2021-12-17 09:11:44 +01:00
Phillip Webb
f3bcbca841 Update copyright year of changed files 2021-12-16 13:05:17 -08:00
Stephane Nicoll
5383de4fe1 Merge branch '2.6.x' into 2.7.x 2021-12-13 09:23:44 +01:00
Stephane Nicoll
32ecbb89d6 Merge branch '2.5.x' into 2.6.x 2021-12-13 09:23:33 +01:00
Stephane Nicoll
496cd3d2ba Polish
See gh-28999
2021-12-13 09:23:08 +01:00
Scott Frederick
8f57f0babb Add classpath index support for exploded war archives
Update the Maven and Gradle packaging for war files so that a
`classpath.idx` file is written into the archive that provides the
original order of the classpath, as was previously done for jar files.
The `WarLauncher` class will use this file when running as an exploded
archive to ensure that the classpath order is the same as when running
from the far war.

Fixes gh-19875
2021-12-09 16:41:49 -06:00
Scott Frederick
3cb30cb283 Merge branch '2.6.x' into 2.7.x
Closes gh-28923
2021-12-07 14:10:46 -06:00
Scott Frederick
3555837845 Merge branch '2.5.x' into 2.6.x
Closes gh-28922
2021-12-07 14:10:28 -06:00
Scott Frederick
b0b2cd79b4 Use latest buildpack image tag when no tag is provided
Fixes gh-28921
2021-12-07 14:10:10 -06:00
Scott Frederick
61fb9f83df Merge branch '2.6.x' into 2.7.x
Closes gh-28905
2021-12-03 11:42:28 -06:00
Scott Frederick
ab0cc55e20 Merge branch '2.5.x' into 2.6.x
Closes gh-28904
2021-12-03 11:42:03 -06:00
Scott Frederick
467c092fdc Remove classpath index manifest attribute from repackaged war files
Fixes gh-28895
2021-12-03 11:41:28 -06:00
Andy Wilkinson
a3ecdcf058 Merge branch '2.6.x' into 2.7.x
Closes gh-28892
2021-12-02 10:31:11 +00:00
Andy Wilkinson
4606e17696 Merge branch '2.5.x' into 2.6.x
Closes gh-28891
2021-12-02 10:30:51 +00:00
Andy Wilkinson
af60a8a7cf Test our Gradle plugin against Gradle 7.3.1
Closes gh-28890
2021-12-02 10:29:22 +00:00
Scott Frederick
5f14cffea3 Add support for CNB platform API 0.5 through 0.8
Fixes gh-28850
2021-12-01 14:05:20 -06:00
Andy Wilkinson
86a773a8e9 Update main branch to start work on 2.7.x 2021-11-30 11:16:53 +00:00
Andy Wilkinson
4bd86a6e20 Allow spring-boot-image-tests to run without an existing snapshot
Closes gh-28817
2021-11-26 13:01:34 +00:00
Phillip Webb
beb68671bb Update copyright year of changed files 2021-11-24 10:23:32 -08:00
Andy Wilkinson
0074d621d0 Merge branch '2.5.x'
Closes gh-28754
2021-11-19 15:37:32 +00:00
Andy Wilkinson
015cf920da Name custom task inputs
Closes gh-28753
2021-11-19 15:35:39 +00:00
Andy Wilkinson
258222781a Merge branch '2.5.x'
Closes gh-28752
2021-11-19 14:52:03 +00:00
Andy Wilkinson
96d98a0f6f Declare dir task inputs with relative path sensitivity
Closes gh-28751
2021-11-19 14:29:29 +00:00
Andy Wilkinson
c0d90dfa8f Merge branch '2.5.x'
Closes gh-28749
2021-11-19 13:36:01 +00:00
Andy Wilkinson
c083e0b049 Avoid using temp before @TempDir has initialized it
Closes gh-28748
2021-11-19 13:35:30 +00:00
Andy Wilkinson
a1e7375fc0 Polish 2021-11-15 13:03:10 +00:00
Andy Wilkinson
2d7e0314f3 Merge branch '2.5.x'
# Conflicts:
#	spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleCompatibilityExtension.java
#	spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleMultiDslExtension.java
2021-11-15 12:51:43 +00:00
Andy Wilkinson
0aae9c26da Test our Gradle plugin against Gradle 7.3
Closes gh-28679
2021-11-15 12:47:51 +00:00
Andy Wilkinson
b1ff60c728 Merge branch '2.5.x'
Closes gh-28681
2021-11-15 12:09:06 +00:00
Andy Wilkinson
4cfbc0db36 Merge branch '2.4.x' into 2.5.x
Closes gh-28680
2021-11-15 12:08:49 +00:00
Leo Li
9de9983e25 Fix @deprecated and @see in Archive's javadoc
See gh-28677
2021-11-15 12:07:22 +00:00
Andy Wilkinson
2a342ef416 Merge branch '2.5.x'
Closes gh-28662
2021-11-12 23:40:35 +00:00
Andy Wilkinson
5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
2021-11-12 20:31:25 +00:00
Andy Wilkinson
2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
2021-11-12 20:04:35 +00:00
Stephane Nicoll
98d3e99ac9 Merge branch '2.5.x'
Closes gh-28550
2021-11-08 08:29:56 +01:00
Stephane Nicoll
91f7ff3ba3 Merge branch '2.4.x' into 2.5.x
Closes gh-28549
2021-11-08 08:29:43 +01:00
Stephane Nicoll
188278ae4a Polish "Fix typo"
See gh-28548
2021-11-08 08:29:11 +01:00
slowjoe007
5a121197fc Fix typo
See gh-28548
2021-11-08 08:28:28 +01:00
Stephane Nicoll
9241f228d5 Add .gitattributes
Closes gh-28474
2021-10-28 15:31:40 +02:00
Stephane Nicoll
66553ac8c7 Add .gitattributes
Closes gh-28473
2021-10-28 15:27:49 +02:00
Stephane Nicoll
1b3f52d609 Harmonize line endings
See gh-27615
2021-10-28 15:22:57 +02:00
Andy Wilkinson
24ef4e6fb9 Merge branch '2.5.x'
Closes gh-28471
2021-10-28 13:07:22 +01:00
Andy Wilkinson
7fbbb4e08a Merge branch '2.4.x' into 2.5.x
Closes gh-28470
2021-10-28 13:07:07 +01:00
Andy Wilkinson
72f80f3ae6 Upgrade to Testcontainers 1.16.1
Closes gh-28468
2021-10-28 13:06:41 +01:00
Scott Frederick
e84c1abb0f Prevent Docker volume name clashes in tests during parallel builds
See gh-28292
2021-10-21 15:07:15 -05:00
Phillip Webb
e25f216eab Merge branch '2.5.x'
Closes gh-28425
2021-10-21 11:28:33 -07:00
Phillip Webb
daf36dff55 Merge branch '2.4.x' into 2.5.x
Closes gh-28424
2021-10-21 11:27:29 -07:00
Phillip Webb
2f6651c3cb Don't use markdown syntax in javadoc or error messages
Closes gh-28408
2021-10-21 11:24:54 -07:00
Scott Frederick
871468931f Polish "Add option to customize cache volume names when building an image"
See gh-28292
2021-10-19 15:38:12 -05:00
Julian Liebig
dc36346285 Add option to customize cache volume names when building an image
This commit adds configuration to the Maven and Gradle plugins to
allow specifying the names of build and launch cache volumes provided
to the CNB builder.

See gh-28292
2021-10-19 15:38:12 -05:00
Phillip Webb
bcef8ee4c9 Merge branch '2.5.x'
Closes gh-28357
2021-10-14 21:49:06 -07:00
Phillip Webb
a93304c973 Merge branch '2.4.x' into 2.5.x
Closes gh-28356
2021-10-14 21:48:53 -07:00
Phillip Webb
7388f2b60b Attempt to reduce JarFileWrapper heap consumption
Update `JarURLConnection` to use a single shared wrapper per
jar file rather than creating a new one each time. This update
should help to reduce GC pressure.

Fixes gh-28042
2021-10-14 21:48:01 -07:00
Phillip Webb
f4bd8956af Polish "Allow build info properties to be excluded"
Update the Maven plugin to use an alternative syntax to exclude
the info properties and apply some minor polishing.

See gh-27412
2021-10-13 21:12:45 -07:00
Vedran Pavic
ea9faf8690 Allow build info properties to be excluded
Update Maven and Gradle plugins to allow build info properties to be
excluded.

Prior to this commit, the `BuildPropertiesWriter` would fail with an
NPE if the group, artifact, name or version properties were `null`.

This was specifically problematic with the Gradle plugin, since its
DSL allows `null` properties which would either be passed to the writer
or, in the case of `artifact`, converted into a string value of
"unspecified".

See gh-27412
2021-10-13 21:07:09 -07:00
Andy Wilkinson
9514a72d5a Test using an up-to-date version of Postgres
See gh-28296
2021-10-13 11:56:44 +01:00
Stephane Nicoll
cc8d7fc605 Polish contribution
See gh-28239
2021-10-13 09:10:11 +02:00
Leo Li
1770f065a5 Polish
See gh-28239
2021-10-13 09:07:33 +02:00
Andy Wilkinson
48b1175559 Merge branch '2.5.x'
Closes gh-28263
2021-10-08 12:39:45 +01:00
Andy Wilkinson
d47260637b Merge branch '2.4.x' into 2.5.x
Closes gh-28262
2021-10-08 12:39:17 +01:00
Andy Wilkinson
c5d45585d9 Remove unnecessary overrides of finalize
Closes gh-28209
2021-10-08 12:39:00 +01:00
Andy Wilkinson
1a505964ee Merge branch '2.5.x'
Closes gh-28207
2021-10-06 10:03:24 +01:00
Andy Wilkinson
1931104d13 Merge branch '2.4.x' into 2.5.x
Closes gh-28206
2021-10-06 09:57:19 +01:00
Andy Wilkinson
9c9fbf400e Upgrade to Spring Java Format 0.0.29
Closes gh-28205
2021-10-06 09:52:45 +01:00
Andy Wilkinson
2b7645b806 Merge branch '2.5.x'
Closes gh-28191
2021-10-04 10:23:02 +01:00
Andy Wilkinson
ff3eed73ee Merge branch '2.4.x' into 2.5.x
Closes gh-28190
2021-10-04 10:21:49 +01:00
Andy Wilkinson
b7a2a2d5e0 Set last access and last modified times in layertools extract
Closes gh-28167
2021-10-04 10:17:11 +01:00
Vincent Ricard
873bca36c4 Replace latin locutions in the documentation
See gh-28141
2021-10-01 07:33:01 +02:00
Scott Frederick
64c49003aa Polish "Add option to create tags for a built image"
See gh-27613
2021-09-28 15:32:27 -05:00
Rafael Ceccone
66f44b0c7f Add option to create tags for a built image
This commit adds configuration to the Maven and Gradle plugins to
allow specifying multiple tag to be created that refer to the built
image.

See gh-27613
2021-09-28 15:32:27 -05:00
Andy Wilkinson
0b5d178e5b Merge branch '2.5.x'
Closes gh-28120
2021-09-23 13:23:54 +01:00
Andy Wilkinson
ef18a2166d Merge branch '2.4.x' into 2.5.x
Closes gh-28119
2021-09-23 13:23:40 +01:00
Andy Wilkinson
5957dfeea4 Don't include binary jars in loader-tools source jar
Closes gh-28113
2021-09-23 13:23:29 +01:00
Phillip Webb
c9dc40a465 Merge branch '2.5.x' 2021-09-21 14:44:17 -07:00
Phillip Webb
40d65a74dc Merge branch '2.4.x' into 2.5.x 2021-09-21 14:43:38 -07:00
Phillip Webb
ec12d51f30 Polish 2021-09-21 14:00:28 -07:00
Phillip Webb
55a1ec72cc Update copyright year of changed files 2021-09-21 11:25:50 -07:00
Phillip Webb
4c2c4ec16c Merge branch '2.5.x' 2021-09-21 11:25:36 -07:00
Phillip Webb
5ba69634c9 Merge branch '2.4.x' into 2.5.x 2021-09-21 11:17:55 -07:00
Phillip Webb
dfd36673f7 Update copyright year of changed files 2021-09-21 11:17:19 -07:00
Phillip Webb
cfeafee826 Polish 2021-09-21 11:16:46 -07:00
dreis2211
cf0fcafd13 Polish
See gh-27940
2021-09-21 08:08:29 +02:00
Scott Frederick
96238ba8b7 Expose default value for imageName in bootBuildImage task
Fixes gh-28040
2021-09-16 15:51:12 -05:00
Scott Frederick
a6d03279ca Merge branch '2.5.x'
Closes gh-27994
2021-09-14 16:45:58 -05:00
Scott Frederick
a540da11ad Merge branch '2.4.x' into 2.5.x
Closes gh-27993
2021-09-14 16:45:34 -05:00
Scott Frederick
c8ff874e91 Add builderFor label to ephemeral builder image
Adding a label to the ephemeral builder image cloned from the base
builder image eliminates contention between builds that are run
concurrently. Without this label, concurrent builds could result in
a race condition in the Docker daemon if the ephemeral builder image
shared by builds was deleted by both builds at exactly the same time.

Fixes gh-27888
2021-09-14 15:22:23 -05:00
Andy Wilkinson
7c034c33e2 Merge branch '2.5.x'
Closes gh-27967
2021-09-13 10:48:19 +01:00
Andy Wilkinson
f530819d68 Merge branch '2.4.x' into 2.5.x
Closes gh-27966
2021-09-13 10:47:47 +01:00
Andy Wilkinson
273600bcdd Retain distinction between compile and runtime deps of optional deps
Previously, the optional configuration was added to the compile and
runtime classpaths of each source set and the the javadoc classpath
as well. This had a few disadvantages, the most notable of which is
that it meant that the configuration was ifrst resolved and then
the outcome of the resolution was added to the compile and runtime
classpaths. As a result, none of the attributes on the compile and
runtime classpaths were considered to influence variant selection.

This commit reworks the optional dependencies plugin so that the
compile and runtime classpaths of each source set are now configured
to extend from the optional configuration. This allows each
classpath configuration's attributes to influence the dependencies
that are selected from the optional configuration during resolution.
For example, when resolving the compile classpath, compile
dependencies (Usage.JAVA_API) will be selected and when resolving the
runtime classpath, runtime dependencies (Usage.JAVA_RUNTIME) will be
selected.

The above-described change means that runtime dependencies of an
optional dependencies will no longer leak into the compile classpath.
As a result of this, our Gradle plugin's test infrastructure has
been updated so that it no longer references runtime dependencies of
the Kotlin Gradle plugin at compile time.

Closes gh-27965
2021-09-13 10:47:14 +01:00
Andy Wilkinson
c65013f717 Merge branch '2.5.x'
Closes gh-27901
2021-09-09 10:14:03 +01:00
Andy Wilkinson
37240bda3f Merge branch '2.4.x' into 2.5.x
Closes gh-27900
2021-09-09 10:13:40 +01:00
Andy Wilkinson
47163af9b6 Fix handling of Zip64 jar files larger than 4,294,967,295 bytes
Previously, a Zip64 jar file was identified by the number of entries
in the central directory being 0xFFFF. This value indicates that
there the number of entries is too big for the 2-byte field. However,
a jar may be in Zip64 format due to it exceeding the Zip format's
maximum size rather than its maximum number of entries so this field
cannot be used as a reliable indicator. The Zip specification doesn't
require any of the fields of the end of central directory record to
have a value of 0xFFFF (2-byte fields) or 0xFFFFFFFF (4-byte fields)
when using Zip64 format so we need to take a different approach.

Additionally, a number of places in the code assumed that an entry's
offset would always be available from the central directory file
header directly. This assumption did not hold true when the jar was
a Zip64 archive due to its size as the offset's value would be
0xFFFFFFF indicating that it should be read from the Zip64 extended
information field within the header's extra field instead.

This commit updates the Zip64 detection to look for the Zip64 end of
central directory locator instead. If present, it begins 20 bytes
before the beginning of the end of central directory record. Its
first four bytes are always 0x07064b50. The code that reads the
local header offset has also been updated to refer to the Zip64
extended information field when the offset is too large to fit in
the 4-byte field in the central directory file header. To allow
greater-than-4-byte offsets to be handled, a number of fields,
method parameters, and local variables have had their type changed
from an int to a long.

Fixes gh-27822
2021-09-09 09:17:48 +01:00
Andy Wilkinson
8362ff9b54 Merge branch '2.5.x'
Closes gh-27886
2021-09-07 17:00:19 +01:00
Andy Wilkinson
ba19577646 Merge branch '2.4.x' into 2.5.x
Closes gh-27885
2021-09-07 17:00:09 +01:00
Andy Wilkinson
93ac6455d3 Document that starter parent enables compilation with -parameters
Closes gh-27762
2021-09-07 16:57:56 +01:00
Scott Frederick
f386ebe61d Remove tests that rely on an unpredictable order of repackaged libs
See gh-27436
2021-08-20 14:09:23 -05:00
Scott Frederick
40a9c4d90f Sort repackaged libraries in a reproducible Maven build
When a Maven build is configured to ensure reproducibility, any
libraries added to `BOOT-INF/lib` in a jar archive or to `WEB-INF/lib`
in a war archive by the Spring Boot plugin repackaging should be
sorted by name to ensure a stable and predictable order.

Fixes gh-27436
2021-08-20 13:00:39 -05:00
Andy Wilkinson
fd2fbcb3c6 Merge branch '2.5.x'
Closes gh-27758
2021-08-18 18:28:34 +01:00
Andy Wilkinson
6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
2021-08-18 17:56:32 +01:00
Andy Wilkinson
ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
2021-08-18 17:52:42 +01:00
izeye
8a425dedfd Polish access modifiers for test classes
See gh-27736
2021-08-18 17:38:40 +01:00
Andy Wilkinson
8966b1308b Merge branch '2.5.x'
Closes gh-27733
2021-08-17 16:11:17 +01:00
Andy Wilkinson
b4f0f29bff Test our Gradle plugin against Gradle 7.2
Closes gh-27732
2021-08-17 15:58:40 +01:00
Andy Wilkinson
79be0766bc Merge branch '2.5.x'
Closes gh-27731
2021-08-17 15:42:17 +01:00
Andy Wilkinson
ea641d3aab Merge branch '2.4.x' into 2.5.x
Closes gh-27730
2021-08-17 15:42:05 +01:00
Andy Wilkinson
29f5570208 Stop s-b-configuration-metadata leaking enforced constraints
Fixes gh-27726
2021-08-17 15:34:29 +01:00
Scott Frederick
2178c281e9 Polish "Add network option for image building"
See gh-27486
2021-08-12 17:08:52 -05:00
Jeroen Meijer
8e6d03b221 Add network option for image building
This commit adds configuration to the Maven and Gradle plugins to
allow specifying the network mode to be provided to the image
building goal and task.

See gh-27486
2021-08-12 17:08:52 -05:00
Andy Wilkinson
1966d1650b Merge branch '2.5.x'
Closes gh-27650
2021-08-12 15:46:24 +01:00