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
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
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
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
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