Commit Graph

1811 Commits (17363d1b3a2f0ef7151e3e6a6cc831ab03c140fd)

Author SHA1 Message Date
Stephane Nicoll 496cd3d2ba Polish
See gh-28999
3 years ago
Scott Frederick b0b2cd79b4 Use latest buildpack image tag when no tag is provided
Fixes gh-28921
3 years ago
Scott Frederick 467c092fdc Remove classpath index manifest attribute from repackaged war files
Fixes gh-28895
3 years ago
Andy Wilkinson af60a8a7cf Test our Gradle plugin against Gradle 7.3.1
Closes gh-28890
3 years ago
Andy Wilkinson 015cf920da Name custom task inputs
Closes gh-28753
3 years ago
Andy Wilkinson 96d98a0f6f Declare dir task inputs with relative path sensitivity
Closes gh-28751
3 years ago
Andy Wilkinson c083e0b049 Avoid using temp before @TempDir has initialized it
Closes gh-28748
3 years ago
Andy Wilkinson 0aae9c26da Test our Gradle plugin against Gradle 7.3
Closes gh-28679
3 years ago
Andy Wilkinson 4cfbc0db36 Merge branch '2.4.x' into 2.5.x
Closes gh-28680
3 years ago
Leo Li 9de9983e25 Fix @deprecated and @see in Archive's javadoc
See gh-28677
3 years ago
Andy Wilkinson 5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
3 years ago
Andy Wilkinson 2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
3 years ago
Stephane Nicoll 91f7ff3ba3 Merge branch '2.4.x' into 2.5.x
Closes gh-28549
3 years ago
Stephane Nicoll 188278ae4a Polish "Fix typo"
See gh-28548
3 years ago
slowjoe007 5a121197fc Fix typo
See gh-28548
3 years ago
Stephane Nicoll 66553ac8c7 Add .gitattributes
Closes gh-28473
3 years ago
Stephane Nicoll 1b3f52d609 Harmonize line endings
See gh-27615
3 years ago
Andy Wilkinson 7fbbb4e08a Merge branch '2.4.x' into 2.5.x
Closes gh-28470
3 years ago
Andy Wilkinson 72f80f3ae6 Upgrade to Testcontainers 1.16.1
Closes gh-28468
3 years ago
Phillip Webb daf36dff55 Merge branch '2.4.x' into 2.5.x
Closes gh-28424
3 years ago
Phillip Webb 2f6651c3cb Don't use markdown syntax in javadoc or error messages
Closes gh-28408
3 years ago
Phillip Webb a93304c973 Merge branch '2.4.x' into 2.5.x
Closes gh-28356
3 years ago
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
3 years ago
Andy Wilkinson d47260637b Merge branch '2.4.x' into 2.5.x
Closes gh-28262
3 years ago
Andy Wilkinson c5d45585d9 Remove unnecessary overrides of finalize
Closes gh-28209
3 years ago
Andy Wilkinson 1931104d13 Merge branch '2.4.x' into 2.5.x
Closes gh-28206
3 years ago
Andy Wilkinson 9c9fbf400e Upgrade to Spring Java Format 0.0.29
Closes gh-28205
3 years ago
Andy Wilkinson ff3eed73ee Merge branch '2.4.x' into 2.5.x
Closes gh-28190
3 years ago
Andy Wilkinson b7a2a2d5e0 Set last access and last modified times in layertools extract
Closes gh-28167
3 years ago
Andy Wilkinson ef18a2166d Merge branch '2.4.x' into 2.5.x
Closes gh-28119
3 years ago
Andy Wilkinson 5957dfeea4 Don't include binary jars in loader-tools source jar
Closes gh-28113
3 years ago
Phillip Webb 40d65a74dc Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb ec12d51f30 Polish 3 years ago
Phillip Webb 5ba69634c9 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb dfd36673f7 Update copyright year of changed files 3 years ago
Phillip Webb cfeafee826 Polish 3 years ago
Scott Frederick a540da11ad Merge branch '2.4.x' into 2.5.x
Closes gh-27993
3 years ago
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
3 years ago
Andy Wilkinson f530819d68 Merge branch '2.4.x' into 2.5.x
Closes gh-27966
3 years ago
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
3 years ago
Andy Wilkinson 37240bda3f Merge branch '2.4.x' into 2.5.x
Closes gh-27900
3 years ago
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
3 years ago
Andy Wilkinson ba19577646 Merge branch '2.4.x' into 2.5.x
Closes gh-27885
3 years ago
Andy Wilkinson 93ac6455d3 Document that starter parent enables compilation with -parameters
Closes gh-27762
3 years ago
Andy Wilkinson 6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
3 years ago
Andy Wilkinson ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
3 years ago
izeye 8a425dedfd Polish access modifiers for test classes
See gh-27736
3 years ago
Andy Wilkinson b4f0f29bff Test our Gradle plugin against Gradle 7.2
Closes gh-27732
3 years ago
Andy Wilkinson ea641d3aab Merge branch '2.4.x' into 2.5.x
Closes gh-27730
3 years ago
Andy Wilkinson 29f5570208 Stop s-b-configuration-metadata leaking enforced constraints
Fixes gh-27726
3 years ago