Gradle 5.1 已发布,更新内容如下
Fixed issues
30 issues have been fixed in Gradle 5.1.
[#7961] - Gradle 5 fails for manually added ListProperty
[#7950] - Scheduled artifact transform fails with "Transformation hasn't been executed yet"
[#7878] - TestNG parallel test execution via Gradle fails with "Received a completed event for test with unknown id".
[#7873] - Implement fallback mechanism for updating file modification timestamp
[#7858] - Document repository content filtering
[#7766] - Improve prodived context for artifact transforms
[#7729] - Fix deprecation warning when exposing dependencies to artifact transforms
[#7648] - Investigate providing context to transforms
[#7617] - Incorrect stderr redirection in Tooling API
[#7570] - Up-to-date checks for ArtifactTransforms
[#7564] - CONSTANT_TIME_FOR_TAR_ENTRIES = 0 causes issues with Java applications
[#7511] - Failure in included build's `BuildListener.buildFinished()` listener prevents build scan publication
[#7502] - Play 2.4 route compilation errors were silently ignored
[#7485] - No value `ListProperty` and `SetProperty` shouldn't allow adding elements
[#7381] - Improved declared inputs and outputs for `Sign` task
[#7061] - Gradle should always respect the extra attributes when selecting artifacts transforms chains
[#6876] - Option can not be applied to Property<String>
[#6863] - Add MapProperty type to support lazy configuration of key/value types
[#6766] - Inherited configuration exclusions are not published to the POM
[#6718] - Artifact transform - prefer suffix chains if they exist
[#6632] - Only produce new gradle-wrapper.jar when classes changed
[#6453] - Junit 5 parallel test execution via Gradle fails with "Received a completed event for test with unknown id".
[#6334] - 4.10 rc1 still outputs quite a bit of transform logs
[#5704] - Provide a way to define default values for task properties
[#5664] - Public comments for new Task API for configuration time avoidance
[#2528] - Support composite builds for `plugins` block
[#1369] - Allow matching repositories to dependencies
[#8078] - wrapper task fails when the version 5.1 is specified.
[#8077] - Gradle 5.1 incompatible change in behaviour of task inputs.files.asFileTree.matching -it doesn't filter
[#8074] - Spotbugs plugin compatibility with Gradle 5.1 is fixed
Inherited configuration-wide dependency excludes are now published
Previously, only exclude rules directly declared on published configurations (e.g. apiElements
and runtimeElements
for the java
component defined by the Java Library Plugin) were published in the Ivy descriptor and POM when using the Ivy Publish Plugin or Maven Publish Plugins, respectively. Now, inherited exclude rules defined on extended configurations (e.g. api
for Java libraries) are also taken into account.
Deprecations
Features that have become superseded or irrelevant due to the natural evolution of Gradle become deprecated, and scheduled to be removed in the next major Gradle version. See the User guide section on the “Feature Lifecycle” for more information.
The following are the newly deprecated items in this Gradle release. If you have concerns about a deprecation, please raise it via the Gradle Forums.
Setters for classes
and classpath
on ValidateTaskProperties
There should not be setters for lazy properties like ConfigurableFileCollection
s. Use setFrom
instead.
validateTaskProperties.getClasses().setFrom(fileCollection) validateTaskProperties.getClasspath().setFrom(fileCollection)
Potential breaking changes
See the Gradle 5.x upgrade guide to learn about breaking changes and considerations when upgrading to Gradle 5.1.
External contributions
We would like to thank the following community members for making contributions to this release of Gradle.
Mike Kobit - Add missing
@Deprecated
annotations toProjectLayout
methods (gradle/gradle#7344)Kent Fletcher - Convert
WindowsResourceCompile
to use Provider API (gradle/gradle#7432)Niklas Grebe - Add more examples of dynamic versions to documentation (gradle/gradle#7417)
Jonathan Leitschuh - Add Provider API types to
AbstractArchiveTask
task types (gradle/gradle#7435)Sebastian Schuberth - Improve init-command comments for Kotlin projects (gradle/gradle#7592)
Sebastian Schuberth - BuildScriptBuilder: Do not print a trailing space for empty header lines (gradle/gradle#7887)
Dan Sănduleac - Don't share dependency resolution listeners list when copying configuration (gradle/gradle#6996)
Olivier Voortman - Do not use a timestamp of 0 for tar file entries (gradle/gradle#7577).
John Bennewitz - Allow C++ binary to relocate on Linux (gradle/gradle#6176)
Alex Saveau - Add option to display tasks from a specific group only (gradle/gradle#7788)
Till Krullmann - Add
MapProperty
(gradle/gradle#6863)TO XZ - Gradle should always respect the extra attributes when selecting artifacts transforms chains (gradle/gradle#7061)