Make Crashlytics plugin compatible with Gradle configuration cache

What feature would you like to see?

The configuration cache is a feature that significantly improves build performance by caching the result of the configuration phase and reusing this for subsequent builds.

Implementing support for the configuration cache in this plugin would improve users experience.

See https://docs.gradle.org/nightly/userguide/configuration_cache.html

The configuration cache will be introduced in Gradle 6.6.
But this can already be tested using 6.6-milestone-2.

I tried running assemble with a Gradle 6.6-milestone-2, com.google.firebase:firebase-crashlytics-gradle:2.2.0 and the configuration cache enabled.
The first time it works because the configuration is not from the cache but when “Reusing configuration cache” it breaks the build with:

  • What went wrong:
    Execution failed for task ‘:app:injectCrashlyticsMappingFileIdDebug’.

No such property: resourceFile for class: java.lang.Object

How would you use it?

It would just make every build faster.

5 thoughts on “Make Crashlytics plugin compatible with Gradle configuration cache

  1. Hi folks, thanks for your patience on this. I have good news! The next release of the Crashlytics Gradle Plugin adds support for the Gradle configuration cache, for all non-NDK Crashlytics tasks. Look for v2.5.0 of our plugin to be released within the next week or so.

    We’re currently working on configuration cache support for the Crashlytics NDK tasks (specifically generateCrashlyticsSymbolFile and uploadCrashlyticsSymbolFile). That will ship in an upcoming release, so our NDK customers will need to wait a bit longer to enable the config cache. I don’t have an ETA, but it will be soon!

  2. @ericntd It seems there’s a gap in our supported versions of Gradle that we missed during testing: You may see that error when using a Gradle version between 6.1 and 6.4.1 (inclusive). I can fix backwards compatibility in a forthcoming release.

    Upgrading to Gradle 6.5+ should fix the issue and will result in better performance of --configuration-cache. Newer versions of the Android Gradle plugin (such as 4.1.2 or the latest 4.2 beta) also have improved configuration cache support.

  3. That bug affecting Gradle 6.1-6.4.1 will be fixed in our upcoming Crashlytics Gradle plugin v2.5.1, which should be released in a week or two.