Commit Graph

1771 Commits (5d1ae23733076259a76a9a1eb241394278d60c97)

Author SHA1 Message Date
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
Andy Wilkinson 119fb6948d Test our Gradle plugin against Gradle 7.2-rc-3
Closes gh-27640
3 years ago
Andy Wilkinson f19fff4c64 Merge branch '2.4.x' into 2.5.x
Closes gh-27620
3 years ago
Andy Wilkinson d4d1ca007e Mention productionRuntimeClasspath in the docs
Closes gh-27558
3 years ago
Andy Wilkinson 7610fe02c5 Test our Gradle plugin against 7.2-rc-2
Closes gh-27593
3 years ago
Stephane Nicoll 9826304e29 Merge branch '2.4.x' into 2.5.x
Closes gh-27557
3 years ago
izeye 9f44cefc56 Use deprecated mainClassName in Gradle test
See gh-27537
3 years ago
Scott Frederick f60d998ea1 Merge branch '2.4.x' into 2.5.x
Closes gh-27535
3 years ago
Scott Frederick 5d793afcb5 Prevent hanging when deleting Docker builder container after exception
An exception being thrown while the Maven plugin is uploading the app
archive bits to an ephemeral builder container would leave the
interaction with the Docker daemon in a state that caused further
interaction with the daemon (such as deleting the ephemeral builder)
to hang indefinitely. This commit cleans up the connection on an
exception to prevent this condition.

Fixes gh-27515
3 years ago
Andy Wilkinson 533bb24b55 Merge branch '2.4.x' into 2.5.x
Closes gh-27525
3 years ago
Andy Wilkinson ad2d9c0ab1 Customize Cassandra's configuration to reduce container startup time
Closes gh-27524
3 years ago
Andy Wilkinson 85054723f0 Reinstate GradleProjectBuilder for compatibility with JDK17-ea32
See gh-27521
3 years ago
Andy Wilkinson ca5af2d456 Test our Gradle plugin against Gradle 7.2-rc-1
Closes gh-27521
3 years ago
Andy Wilkinson 04dc62904f Merge branch '2.4.x' into 2.5.x
Closes gh-27495
3 years ago
Andy Wilkinson 5d9da7206e Limit use of deprecated mainClassName in Gradle plugin tests
Closes gh-27320
3 years ago
dreis2211 be38ce3645 Disable Gradle plugin tests that fail on JDK 17
See gh-27328
3 years ago
Stephane Nicoll d8f9a20221 Add missing XSD version for layers configuration
Closes gh-27321
3 years ago
dreis2211 dacfe27350 Fix tests for multi-release JARs on JDK 17
See gh-27229
3 years ago
dreis2211 00d3330c9a Avoid illegal reflective access on ZipEntry.xdostime
See gh-27100
3 years ago
Andy Wilkinson ff79787def Avoid using deprecated API to get Kotlin Plugin's version
Closes gh-27090
3 years ago
Andy Wilkinson c21791e671 Test our Gradle plugin against Gradle 7.1.1
Closes gh-27142
3 years ago
Phillip Webb dfbd82b838 Fix Kotlin 1.5.20 classpath issues
See gh-27086
3 years ago
Phillip Webb d44207161f Suppress Kotlin 1.5.20 deprecation warning
See gh-27086
3 years ago
Phillip Webb 2c518f1dff Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb a76e5c043e Update copyright year of changed files 3 years ago
Phillip Webb fd83158fa5 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb 63ed921554 Restore simple Library constructor
See gh-15808
3 years ago
Phillip Webb af37f59136 Merge branch '2.4.x' into 2.5.x
Closes gh-27056
3 years ago
Madhura Bhave b790c82732 Apply exclusions to existing war entries
Update `RepackageMojo` and supporting classes so that `exclusions`
on the repackage goal apply to both the contributed libraries and any
existing jar entries already contained in the original war.

Prior to this commit, exclusions would apply to contributed jars (for
example, those in `WEB-INF/lib-provided`) but not jars that were
packaged directly into `WEB-INF/lib` by the war plugin

Fixes gh-15808

Co-authored-by: Phillip Webb <pwebb@vmware.com>
3 years ago
Andy Wilkinson 07e7398d10 Include 6.9.x in version requirements message
Fixes gh-26952
3 years ago
Andy Wilkinson 8405df10b8 Merge branch '2.4.x' into 2.5.x
Closes gh-26997
3 years ago
Andy Wilkinson e18eb08222 Fix additional metadata locations with config cache
Previously, a project with a dependency on Spring Boot's configuration
processor would fail to build when the configuration cache is enabled
due to it accessing the Project during task execution.

Instead of accessing the project during task execution, this commit
updates the code to retrieve the resource locations from the matching
source set in advance. The locations are then stored in the action
that configures the compile task when needed.

Closes gh-26880
3 years ago
Andy Wilkinson a2772e288a Merge branch '2.4.x' into 2.5.x
Closes gh-26947
3 years ago
Andy Wilkinson cd808d2f18 Only get Kotlin plugin's version once we know we need it
Fixes gh-26946
3 years ago
Andy Wilkinson 6a51c272b9 Test our Gradle plugin against Gradle 7.1
Closes gh-26904
3 years ago
Andy Wilkinson 9e2339b5d0 Merge branch '2.4.x' into 2.5.x 3 years ago
Andy Wilkinson 16bfa669e1 Polish authors separators 3 years ago
Andy Wilkinson 5f26fd9ccb Merge branch '2.4.x' into 2.5.x
Closes gh-26891
3 years ago
Andy Wilkinson f6b7730dac Use Asciidoctor's revision line to provide document's version
Using the revision line means that the revision number is automatically
set. The revision number is then included by the HTML and PDF backends
in the standard location. In the HTML backend that's alongside the
list of authors. In the PDF backend that's on the title page.

Closes gh-26851
3 years ago
Andy Wilkinson de410b7621 Merge branch '2.4.x'
Closes gh-26828
3 years ago
Andy Wilkinson a1c5fcca58 Move common Asciidoctor configuration into our conventions
Closes gh-26620
3 years ago