Skip to content

Update dependency gradle to v5 #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 9, 2019
Merged

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented May 30, 2019

This PR contains the following updates:

Package Type Update Change
gradle (source) gradle-wrapper major 2.14.1 -> 5.4.1

Release Notes

gradle/gradle

v5.4.1

Compare Source

This bug-fix release contains two changes to Gradle 5.4:

  • Fix inconsistent classpath ordering when dependencies have lots of excludes - #​9197
  • Kotlin DSL IDEA script editor can't find JDK classes with Gradle 5.4 if Gradle JVM != Project SDK - #​9195

We recommend that you use Gradle 5.4.1 over 5.4.

Upgrade Instructions

Switch your build to use Gradle 5.4.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.4.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v5.4.0

Compare Source

The Gradle team is excited to announce Gradle 5.4.

Read the release notes

We would like to thank the following community contributors to this release of Gradle:
Ian Kerins,
Roberto Perez Alcolea,
Rodolfo Forte,
gla3dr,
and Stefan M..

Upgrade Instructions

Switch your build to use Gradle 5.4 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.4

Standalone downloads are available at gradle.org/releases.

Reporting Problems

If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v5.3.1

Compare Source

This bug-fix release contains several changes to Gradle 5.3, notably:

  • Unable to use java-platform and maven-publish in multi-project: #​8845
  • Unexpected exception when adding a plugin on buildSrc compile classpath: gradle/kotlin-dsl#​1363

We recommend that you use Gradle 5.3.1 over 5.3.

Upgrade Instructions

Switch your build to use Gradle 5.3.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.3.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v5.3.0

Compare Source

The Gradle team is excited to announce Gradle 5.3.

This release features support for publishing and consuming Gradle Module Metadata, feature variants or "optional dependencies", type-safe accessors in Kotlin precompiled script plugins, and more.

Read the Gradle 5.x upgrade guide to learn about breaking changes and considerations for upgrading from Gradle 5.0. If upgrading from Gradle 4.x, please read upgrading from Gradle 4.x to 5.0 first.

We would like to thank the following community contributors to this release of Gradle: Stefan M., Evgeny Mandrikov, Simon Legner, Raman Gupta, Florian Dreier, Kenzie Togami, Ricardo Pereira, Thad House, Joe Kutner, and Josh Soref.

Upgrade Instructions

Switch your build to use Gradle 5.3 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.3

Standalone downloads are available at gradle.org/releases.

Reporting Problems

If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v5.2.1

Compare Source

This bug-fix release contains several changes to Gradle 5.2, notably:

  • Checkstyle issues with a single source file: #​8394
  • BOM support conflicts: #​8420

We recommend that you use Gradle 5.2.1 over 5.2.

Upgrade Instructions

Switch your build to use Gradle 5.2.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.2.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v5.2.0

Compare Source

The Gradle team is excited to announce Gradle 5.2.

This release features a new Java Platform plugin, improved C++ plugins, new C++ project types for gradle init, service injection into plugins and project extensions, Kotlin DSL 1.1.3 and more.

Read the Gradle 5.x upgrade guide to learn about breaking changes and considerations for upgrading from Gradle 5.0. If upgrading from Gradle 4.x, please read upgrading from Gradle 4.x to 5.0 first. Users upgrading from 5.1 should not have to worry about breaking changes.

Upgrade Instructions

Switch your build to use Gradle 5.2 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.2

Standalone downloads are available at gradle.org/releases.

Reporting Problems

If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v5.1.1

Compare Source

This bug-fix release contains several changes to Gradle 5.1, notably:

  • A daemon memory leak affecting all projects #​8142
  • Incremental Java compilation #​8194
  • A fix to Gradle's generated Javadoc in 5.1 #​8183

We recommend that you use Gradle 5.1.1 over 5.1.

Upgrade Instructions

Switch your build to use Gradle 5.1.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.1.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v5.1.0

Compare Source

The Gradle team is excited to announce Gradle 5.1.

This release features repository to dependency matching, production-ready configuration avoidance APIs, Gradle Kotlin DSL 1.1, and more.

Read the Gradle 5.x upgrade guide to learn about breaking changes and considerations for upgrading from Gradle 5.0.
If upgrading from Gradle 4.x, please read upgrading from Gradle 4.x to 5.0 first.

We would like to thank the following community contributors to this release of Gradle:
Mike Kobit,
Kent Fletcher,
Niklas Grebe,
Jonathan Leitschuh,
Sebastian Schuberth,
Dan Sănduleac,
Olivier Voortman,
Alex Saveau,
and Till Krullmann.

See the full set of release notes.

Upgrade Instructions

Switch your build to use Gradle 5.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.1

Standalone downloads are available at gradle.org/releases.

Reporting Problems

If you find a problem with Gradle 5.1, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

We hope you will build happiness with Gradle 5.1, and we look forward to your feedback via Twitter or on GitHub.

v5.0.0

Compare Source

The Gradle team is excited to announce Gradle 5.0.

This release features a production-ready Kotlin DSL, dependency version alignment (similar to and usable with Maven BOMs), task timeouts, Java 11 support, and more.

These release notes list what's new since Gradle 4.10. You can review the highlights since Gradle 4.0 here.

Read the Gradle 5.0 upgrade guide to learn about breaking changes and considerations for upgrading from Gradle 4.x.

We would like to thank the following community contributors to this release of Gradle: Jean-Baptiste Nizet, Jonathan Leitschuh, Ben McCann, Björn Kautler, Georg Friedrich, Stefan M., Xiang Li, Theodore Ni, James Justinic, Mike Kobit, Alex Saveau, Kevin Macksamie, Cliffred van Velzen, Artem Zinnatullin, Jakub Strzyżewski, Martin Dünkelmann, Thad House, Dan Sanduleac, Felipe Lima, and thc202.

Kotlin DSL 1.0

First and foremost, Gradle Kotlin DSL is now production-ready with it's 1.0 release! Authoring your build logic using Kotlin provides significant additional editing assistance in IDEs, including: improved completion, error highlighting, and refactoring tools. Please read our Gradle Kotlin DSL Primer and follow our migrating build logic from Groovy to Kotlin guide if you're interested. If you prefer the flexibility and dynamic features of Groovy, that's totally okay — the Groovy DSL will not be deprecated.

Kotlin DSL

Dependency version alignment

This version of Gradle introduces dependency version alignment. This allows different modules belonging to the same logical group (platform) to have identical versions in a dependency graph. Maven BOMs can be imported to define platforms as well.

dependencies {
    // import a BOM. The versions used in this file will override any other version found in the graph
    implementation(enforcedPlatform("org.springframework.boot:spring-boot-dependencies:1.5.8.RELEASE"))
    
     // define dependencies without versions
    implementation("com.google.code.gson:gson")
    implementation("dom4j:dom4j")
    
     // this version will be overriden by the one found in the BOM
    implementation("org.codehaus.groovy:groovy:1.8.6")
}

More details about BOM import can be found in this section of the userguide.

Gradle build initialization features

gradle init functionality has been upgraded in this release: is now optionally interactive, includes new kotlin-library and kotlin-application project types, provides options for configuring project and package names, and more.

interactive gradle init

Searchable documentation

Search for Gradle Docs is back. The kind folks at Algolia kindly host an index used to allow you to search the user manual and DSL reference.

Docsearch demo

Gradle API Javadocs now take advantage of Javadoc built-in autocomplete, making it easier to find classes and methods you're interested in.

Task timeouts

You can now specify a timeout duration for a task, after which it will be interrupted. Read more about task timeouts in the docs.

HTTP retries during dependency resolution

When Gradle attempts to connect to a remote repository via HTTP, if it fails, Gradle will retry before blacklisting the repository.

No extra configuration is needed. See the section on HTTP retries for more information.

Performance features

Gradle can now be started as a low-prority process. This ensures that other applications like your IDE or browser stay responsive, even while a very demanding build is running.

When using @OutputFiles or @OutputDirectories with an Iterable type, Gradle used to disable caching for the task. This is no longer the case, and using such properties doesn't prevent the task from being cached. The only remaining reason to disable caching for the task is if the output contains file trees.

The JaCoCo plugin plugin now works seamlessly with the build cache. When applying the plugin with no extra configuration, the test task stays cacheable and parallel test execution can be used.

Java 11 runtime support

Java enthusiasts will be happy to read that this release supports running Gradle builds with JDK 11.

Plugin authoring features

This release introduces useful changes for plugin and custom task authors, including an API for creating SourceDirectorySets, improvements to the Provider API, and improved build cache compatibility.

Gradle Native features

The Gradle Native project continues to improve and evolve the native ecosystem support for Gradle.

Upgrade Instructions

Switch your build to use Gradle 5.0 by updating your wrapper properties:

./gradlew wrapper --gradle-version=5.0

Standalone downloads are available at gradle.org/release-candidate.

Reporting Problems

If you find a problem with Gradle 5.0, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

We hope you will build happiness with Gradle 5.0, and we look forward to your feedback via Twitter or on GitHub.

v4.10.3

Compare Source

This bug-fix release contains 3 changes to Gradle 4.10.2:

It also incorporates all fixes to 4.10.1 and 4.10.2.

We recommend that you use Gradle 4.10.3 over 4.10, 4.10.1 and 4.10.2.

Upgrade Instructions

Switch your build to use Gradle 4.10.3 by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.10.3

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.10.3, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.10.2

Compare Source

This bug-fix release contains 3 changes to Gradle 4.10.1:

  • Dependent module Scala compilation in test context fails for 4.10.1 #​6735
  • Gradle fails to resolve project dependencies against Scala projects #​6750
  • Candidate set provided to AttributeDisambiguationRule contains null entry #​6747

We recommend that you use Gradle 4.10.2 over 4.10.1 or 4.10.

Upgrade Instructions

Switch your build to use Gradle 4.10.2 by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.10.2

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.10.2, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.10.1

Compare Source

This bug-fix release addresses 6 regressions in Gradle 4.10:

  • #​6656: FileTreeElement.getPath() returns absolute system dependent filepath.
  • #​6592: Up-to-date checks for missing files can be incorrect
  • #​6612: Gradle fails when no incremental compile snapshot data available.
  • #​6582: Gradle 4.10 incorrect ordering between dependencies of dependent tasks.
  • #​6558: tasks.withType(ScalaCompile::class.java).configureEach fails on multi-project builds.
  • #​6653: Double deprecation message when using publishing plugin.

In addition, the Gradle Kotlin DSL has been updated to 1.0 RC6, see the release notes for the list of included fixes.

Upgrade Instructions

Switch your build to use Gradle 4.10.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.10.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.10.1, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.10.0

Compare Source

The Gradle team is pleased to announce Gradle 4.10. This is a big release.

First and foremost, this release of Gradle features an improved incremental Java compiler, now enabled by default.
This will result in significantly reduced Java compilation time in subsequent builds when outputs are not up-to-date or resolved from the build cache.

Chances are caches in those .gradle/ directories have accumulated a few (or a few dozen) gigabytes over time.
If so, you'll be relieved to know that Gradle will now periodically clean up unused /caches under GRADLE_USER_HOME and project root directories.

A moment you have anticipated is nearly here, as the Kotlin DSL reaches version 1.0 RC3.
Configuration avoidance, buildSrc refactoring propagation to the IDE, and lots of DSL polish make this the release to try.
Gradle Kotlin DSL 1.0 will ship with the next version of Gradle, 5.0.
Read this blog post for guidance on trying the Kotlin DSL and submitting feedback.

You can now use SNAPSHOT plugin versions with the plugins {} and pluginManagement {} blocks.
This is especially good news for Kotlin DSL users, who will get code assistance and auto-completion for these SNAPSHOT plugins.
Special thanks to Sébastien Deleuze for contributing.

Last but not least, included builds can now be nested.
This makes some common workflows more convenient, such as working on multiple source repositories at the same time to implement a cross-cutting feature.

We hope you will build happiness with Gradle 4.10, and we look forward to your feedback via Twitter or on GitHub.

Upgrade Instructions

Switch your build to use Gradle 4.10 quickly by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.10

Standalone downloads are available at gradle.org/install.

v4.9.0

Compare Source

The Gradle team is pleased to announce Gradle 4.9.

First, publishing tools get some more love: projects that publish auxiliary publications (e.g. test fixtures) through maven-publish and ivy-publish can now be depended upon by other projects in the same build. There is also a new Publishing Overview chapter in the user manual and updates throughout the documentation regarding publishing artifacts using Maven and Ivy.

In addition to lazy tasks use, Kotlin DSL build scripts are evaluated faster with version 0.18.4, included in this version of Gradle. IntelliJ IDEA and Android Studio user experience is also improved.
See details in the Kotlin DSL v0.18.x release notes.

You can now pass arguments to JavaExec tasks directly from the command-line using --args:

❯ gradle run --args 'foo --bar'

No more need to hard-code arguments in your build scripts. Consult the documentation for the Application Plugin for more information.

Last but not least, this version of Gradle has an improved dependency insight report. Read the details further on.

We hope you will build happiness with Gradle 4.9, and we look forward to your feedback via Twitter or on GitHub.

Upgrade Instructions

Switch your build to use Gradle 4.9 quickly by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.9

Standalone downloads are available at gradle.org/install.

v4.8.1

Compare Source

This bug-fix release addresses 6 regressions in Gradle 4.8:

  • #​5740: Maven Central dropped support for older TLS implementations. This makes the dependency resolution fail if the Gradle build runs on JDK 7.
  • #​5701: Gradle 4.8 broke compatibility with the artifactory and bintray publishing plugins.
  • #​5708: Gradle 4.8 sometimes fails with ConcurrentModificationException when project.tasks.withType() is used.
  • #​5729: The dependency resolution engine sometimes fails with "Unexpected parent dependency" message, which became more apparent in Gradle 4.8.
  • #​5722: Gradle 4.8 broke the ability of the SourceSet to override the compile tasks' destination directory.
  • #​5692: Gradle 4.8 doesn't consider versions equal when using dependencySubstitution and failOnVersionConflict.

Upgrade Instructions

Switch your build to use Gradle 4.8.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.8.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.8.1, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.8.0

Compare Source

The Gradle team is pleased to announce Gradle 4.8.

First and foremost, this release of Gradle features dependency locking: a mechanism for locking dependency versions which allows builds to become reproducible in the face of dynamic versions or version ranges.
Read the user manual chapter on dependency locking to learn how to take advantage of this exciting new feature.

The publishing plugins get some highly-anticipated improvements in this release:

The maven-publish and ivy-publish plugins are now considered stable and use of the maven plugin is discouraged as it will eventually be deprecated — please migrate.

User experience for incremental annotation processing is improved.
Compilation will no longer fail when a processor does something that Gradle detects will not work incrementally.
Unused non-incremental processors no longer prevent incremental compilation.
Finally, annotation processors are now able to decide dynamically if they are incremental or not.
This allows processors with extension mechanisms to check extensions for incrementality before enabling incremental annotation processing.

New native plugins continue to improve with better control over system include path for native compilation and other improvements.

Gradle 4.8 includes Kotlin DSL 0.17.5, bringing the latest Kotlin 1.2.41 release and many improvements to the user experience including location aware runtime error reporting, convenient configuration of nested extensions, faster and leaner configuration time, and TestKit support.
At the same time the IntelliJ IDEA Kotlin Plugin fixed many long standing build script editing related issues.
See details and examples in the Kotlin DSL v0.17 release notes.

We hope you build happiness with Gradle 4.8, and we look forward to your feedback via Twitter or on GitHub.

Upgrade instructions

Switch your build to use Gradle 4.8 quickly by updating your wrapper properties:

gradle wrapper --gradle-version=4.8

Standalone downloads are available at gradle.org/releases.

Reporting Problems

If you find a problem with Gradle 4.8, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.7.0

Compare Source

The Gradle team is pleased to announce Gradle 4.7.

First and foremost, Gradle's incremental Java compiler can now run annotation processing incrementally. No user-facing configuration is necessary, but processor authors need to opt-in. We request annotation processor authors read the documentation for this feature and contact the Gradle team via the forum for assistance.

Java enthusiasts will be happy to read that this release supports running Gradle builds with JDK 10.

Gradle log output is now grouped by task for non-interactive executions, making interleaved logs a thing of the past on CI. It also enables build scan plugin v1.13 to show logs per task:

buildscan

Moving on to other areas of user experience: running tests is further improved as failed tests now run first. Together with the --fail-fast option it provides the quickest possible feedback loop.

This release introduces an incubating new capability for Kotlin DSL users: precompiled script plugins. This means that you can create a Kotlin DSL script within a regular Kotlin source set and get the benefits of binary plugins. For example, src/main/kotlin/nyan.gradle.kts could be used as plugins { id("nyan") }.

Kotlin DSL v0.16 also includes Kotlin 1.2.31, a more consistent API, better IDE support, and more. See details and examples in the Kotlin DSL v0.16 release notes.

We hope you will build happiness with Gradle 4.7, and we look forward to your feedback via Twitter or on GitHub.

Upgrade Instructions

Switch your build to use Gradle 4.7 quickly by updating your wrapper properties:

gradle wrapper --gradle-version=4.7

Standalone downloads are available at gradle.org/releases.

Reporting Problems

If you find a problem with Gradle 4.7, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.6.0

Compare Source

The Gradle team is pleased to announce Gradle 4.6.

First and foremost, this release of Gradle includes built-in support for JUnit Platform and the JUnit Jupiter/Vintage Engine, also known as JUnit 5 support.
You can use the new filtering and engines functionality in JUnit 5 using the examples provided below and in the documentation.

Thank you to the JUnit team for helping to achieve JUnit Platform support, and a special thank you to Andrew Oberstar for extraordinary contributions toward this effort.

Also regarding testing, you can now improve your testing feedback loop when running JVM-based tests using the new fail-fast option for Test tasks, which stops the build immediately after the first test failure.

// Example JUnit 5 and fail-fast test configuration
test {
    useJUnitPlatform {
        excludeTags 'slow'
        includeEngines 'junit-jupiter', 'junit-vintage'
    }

    failFast = true
}

Moving on to dependency management improvements: you can now declare dependency constraints for transitive dependencies and avoid problems caused by oft-hidden upstream dependency changes.

This release also features enhanced Maven dependency compatibility: support for importing BOMs, optional dependencies, and compile/runtime separation when consuming POMs.
For now you must enable these features by adding enableFeaturePreview('IMPROVED_POM_SUPPORT') to your settings.gradle file, as they break backward compatibility in some cases.

This version of Gradle also comes with a couple especially useful new APIs for task development. You can now declare custom command-line flags for your custom tasks, for example: gradle myCustomTask --myfoo=bar. In addition, tasks that extend Test, JavaExec or Exec can declare rich arguments for invoking the underlying executable. This allows for better modeling of tools like annotation processors.

Speaking of annotation processors, it is now more convenient to declare dependencies that are annotation processors through the new annotationProcessor dependency configuration. Using a separate dependency configuration for annotation processors is a best practice for improving performance.

Kotlin DSL v0.15.6 is included in this release of Gradle, and features initialization scripts support, nicer script compilation error reporting, performance improvements, and better IntelliJ IDEA integration. Details are available in the linked release notes.

We hope you will build happiness with Gradle 4.6, and we look forward to your feedback via Twitter or on GitHub.

Upgrade Instructions

Switch your build to use Gradle 4.6 quickly by updating your wrapper properties:

gradle wrapper --gradle-version=4.6

Standalone downloads are available at gradle.org/releases.

Reporting Problems

If you find a problem with Gradle 4.6, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.5.1

Compare Source

This bug-fix release addresses 3 regressions in Gradle 4.5.

Changes in dependency management caused a regression in 4.5 where in some rare cases a dependency could be imported into a different scope than the one declared.

Starting in 4.5, the build cache configuration is shared between builds part of a composite build. NullPointerException could be observed if the parent build finished before the different composites. This lifecycle issue has now been resolved.

A regression in Eclipse project generation caused a sub-project to be added as a dependency to itself, resulting in an error when opening the project in Eclipse.

For the full list of fixed issues, see the 4.5.1 GitHub milestone.

Upgrade Instructions

Switch your build to use Gradle 4.5.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.5.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.5.1, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.5.0

Compare Source

The Gradle team is pleased to announce Gradle 4.5.

First and foremost, this release of Gradle features improvements to the build cache:

In addition to cacheability improvements for native development, incremental compilation for C/C++ does finer-grained analysis of dependencies between source files and header files, which will result in fewer files compiled and a higher cache hit-rate. Read details about C and C++ compilation improvements here.

Now on to performance improvements everyone can enjoy: less memory consumption and faster up-to-date behavior. Gradle 4.5 features much more memory-efficient incremental compilation. Combined with less file canonicalization, faster task selection, and faster variant-aware dependency resolution, this results in up to 30% faster up-to-date checking. The improvement will be especially pronounced for projects with a large number of constants, as is typical in Android projects. For example, here are 2 snapshots comparing cross-build caches.

The 1st one from Gradle 4.4 using 440MB:
gradle-4 4-heap-dump

This 2nd snapshot from Gradle 4.5 using 280MB:
gradle-4 5-heap-dump


Next up, you can finally sign artifacts using gnupg-agent. Special thanks to Christoph Böhme for contributing this highly-anticipated feature.

Documentation has been upgraded in this release, with use-case oriented examples for several highly trafficked pages, improved navigation, and a more pleasant experience in many ways. Read details about the improvements, or just start with the new docs home page.

Individual deprecation warnings are no longer displayed in console output by default, as many users often cannot take action on deprecation warnings from third party plugins. You can now control the verbosity of logging deprecation warnings.

Last but not least, 2 Kotlin DSL updates:

  • You can now generate Gradle Kotlin DSL scripts using gradle init --dsl kotlin.
  • Kotlin DSL v0.14 is included in this release of Gradle. It features code navigation to Gradle sources in IDEs with the Gradle binary distribution (not just -all anymore), embedded Kotlin upgraded to 1.2.0 and more.

We hope you will build happiness with Gradle 4.5, and we look forward to your feedback via Twitter or on GitHub.

Upgrade Instructions

Switch your build to use Gradle 4.5 quickly by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.5

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.5, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.4.1

Compare Source

This bug-fix release addresses 3 regressions in Gradle 4.4.

We started shipping JGit 4.5.3.2017081-r in Gradle 4.4. Some of the non-shaded JGit resources leaked into the gradleApi() dependency and caused problems in some builds. We now shade all of JGit's resources.

Some builds using Kotlin DSL had problems applying the build-scan plugin in Gradle 4.4. We've updated to kotlin-dsl 0.13.2.

Gradle 4.4 contained changes to internal APIs that broke the popular Nebula dependency lock plugin. This release restores binary compatibility for that plugin. Internal APIs are subject to change, although we try to be mindful of the impact of every change in each Gradle release. If particular internal APIs are useful, please open an issue describing your use case, so we can judge where our public APIs are lacking.

For the full list of fixed issues, see the 4.4.1 GitHub milestone.

Upgrade Instructions

Switch your build to use Gradle 4.4.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.4.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.4.1, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.4.0

Compare Source

The Gradle team is pleased to announce Gradle 4.4.

First and foremost, this release of Gradle features some exciting improvements for IDE users:

  • Visual Studio 2017 is now supported. Please read details about vswhere and VS toolchain discovery changes if you plan to use Gradle with VS 2017.
  • The eclipse plugin now provides separate output folders. This allows Eclipse plugins to provide more sophisticated classpath management. Buildship 2.2 will take advantage of this feature to avoid one large global classpath when running Java applications or executing tests in Eclipse IDE.

gradle-4 4-visual-studio-2017

No discussion about IDE support for Gradle would be complete without mentioning improvements to the Kotlin DSL. Version 0.13 is included in Gradle 4.4 and provides support for writing settings.gradle.kts files, Kotlin standard library extensions to the Java 7 and Java 8 APIs for use in build scripts, improvements to the plugins {} DSL, and more! See the Kotlin DSL 0.13 release notes for more details.

This version of Gradle supports version ranges in parent elements of a POM. You can see an example below.

C and C++ developers will enjoy better incremental builds and build cache support for C/C++ because this version of Gradle takes compiler version and system headers into account for up-to-date checks.

This version of Gradle fully supports the combination of Play 2.6 and Scala 2.12, with improvements and fixes to runPlayBinary, the distributed Play start script, and other improvements.

Previous versions of Gradle required that all transitive dependencies of a given plugin were present in the same repository as the plugin. Gradle 4.4 takes all plugin repositories into account and can resolve transitive plugin dependencies across them. Learn about this and other plugin repository handling improvements in the details.

Last but not least, several 3rd party dependencies including Ant were updated to their latest versions containing security and other bug fixes.

We hope you will build happiness with Gradle 4.4, and we look forward to your feedback via Twitter or on GitHub.

Upgrade Instructions

Switch your build to use Gradle 4.4 quickly by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.4

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.4, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.3.1

Compare Source

This bug-fix release addresses 3 regressions in Gradle 4.3.

Gradle 4.3 introduced an change where an error in resolving a module from one repository would prevent Gradle from searching for that same module in subsequent repositories.

However, the change to abort searching repositories on all unrecognized errors proved to be too aggressive. With 4.3.1, only repository timeout errors will prevent Gradle from searching for a module in a subsequent repository.

Moreover, the connection and socket timeouts for HTTP/HTTPS requests have been increased to 30 seconds.

This version of Gradle also removes an overload of TaskInputs.property which caused statically compiled plugin code to use the wrong method when calling TaskInputs.property(..., null).

Finally, when using --scan the build scan plugin is applied before other plugins to avoid rendering a warning message.

For the full list of fixed issues, see the GitHub milestone.

Upgrade Instructions

Switch your build to use Gradle 4.3.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.3.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.3.1, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.3.0

Compare Source

The Gradle team is pleased to announce Gradle 4.3.

First and foremost, this release of Gradle features experimental build cache support for C and C++ compilation. This further improves performance of native application builds as it does for the JVM ecosystem. Your feedback will be very helpful to make this feature stable.

gradle-4 3-cached-cpp

JVM developers who use annotation processors and the build cache should consider using a new compileJava.options.annotationProcessorGeneratedSourcesDirectory property to make caching more effective.

The Gradle Kotlin DSL moves forward with a v0.12 release (included in Gradle 4.3). It brings Java 9 support, Kotlin 1.1.51, better support for Kotlin dependencies, improved documentation and samples, and more. Heads up Kotlin users: will want to ensure they declare the version of the Kotlin plugin; it no longer defaults to the embedded version.

kotlin-dsl-0 12

You can now use the build scan plugin without configuring it in your build. Using the --scan command line flag will automatically apply the latest compatible version of the plugin if it's not already applied.

Several improvements have been made to improve user experience, increase robustness in the face of network problems, and solidify existing APIs.

  • Gradle now defines connection and socket timeouts for all HTTP(S) requests. This prevents certain types of network problems from hanging builds, and is especially helpful for build cache users. Furthermore, Gradle will blacklist remote repositories for the duration of a build where requests time out.
  • The plugins {} DSL can now be used in more cases. Subprojects can now apply plugins declared in buildSrc and non-core plugins already declared in parent projects.
  • The runtime task inputs API (what you'd typically see in a Gradle script instead of a binary plugin) is now more consistent with the statically-compiled API. Specifically, Gradle now creates directories for output properties, validates inputs and outputs, and allows classpath property declaration similar to when using annotations.
  • A new console verbose mode will print outcomes of all tasks (like UP-TO-DATE) like Gradle 3.5 and earlier did. You can set this via --console=verbose or by a new Gradle property org.gradle.console=(plain rich verbose). Furthermore, all boolean flags like --parallel now have inverses like --no-parallel to make for a more consistent CLI.
  • Last but not least, new task output DirectoryProperty and RegularFileProperty types carry generating task information that allow Gradle to infer task dependencies. Use these types in your custom tasks instead of Files.

We hope you will build happiness with Gradle 4.3, and we look forward to your feedback via Twitter or on GitHub.

Upgrade Instructions

Switch your build to use Gradle 4.3 quickly by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.3

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.3, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.2.1

Compare Source

This bug-fix release addresses a regression in 4.2, which caused Android instrumented tests to fail. It also improves Java 9 compatibility and clarifies a few deprecation warnings. We recommend that all Gradle 4.2 users upgrade to 4.2.1

For the full list of fixed issues, see the GitHub milestone.

Upgrade Instructions

Switch your build to use Gradle 4.2.1 by updating your wrapper properties:

./gradlew wrapper --gradle-version=4.2.1

Standalone downloads are available at https://gradle.org/install.

Reporting Problems

If you find a problem with Gradle 4.2.1, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

v4.2.0

Compare Source

The Gradle team is pleased to announce Gradle 4.2.

First and foremost, progress has been made to improve Gradle's support for building native


Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Enabled.

♻️ Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot. View repository job log here.

@TrustDec TrustDec merged commit 29ddf74 into dialog-v1 Jun 9, 2019
@TrustDec TrustDec deleted the renovate/gradle-5.x branch June 9, 2019 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants