1861 Commits

Author SHA1 Message Date
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