The rxlint check for RxJava code has been updated to version 1.7.5. This version is a bug fix that updates the packaging of the lint check itself; there are no updates to the lint checks contained. If you are using Android Gradle Plugin version 3.5 and up, you should upgrade to 1.7.5 to ensure the check keeps working.
What changed?
Since Android Gradle Plugin (AGP) 3.5 new new configurations have been
introduced to depend on lint checks in your project, and to publish lint checks from libraries.
Technically rxlint
contains of two parts: the detector
that implements the actual list checks
and the rxlint
library that doesn’t contain any code, but packages the detector
lint checks
so that they run.
In AGP 3.5 and up, two new configurations have been supplied to further control how you consume
and publish lint checks in your projects.
The lintCheck
configuration can be used to include 3rd party
or your own lint checks as a dependency.
For example, you can add lintCheck 'nl.littlerobots.rxlint:detector:1.7.5'
to your build.gradle
to include the RxLint checks as part of your Android project.
Previously there wasn’t a way to do this, which is why rxlint
provides the main rxlint
artifact
that is basically an empty library including the detector as a jar file.
In a similar fashion, a library can publish lint checks by using lintPublish
. This means
that when a consumer depends on the library, the associated lint checks are also applied.
What does this all mean
If you are using AGP 3.5 or up, you can either use rxlint
like you are used to, adding
implementation nl.littlerobots.rxlint:rxlint:1.7.5
; rxlint
is now using the lintPublish
configuration to ensure this keeps working (as an aside, BuildConfig
is no longer generated either).
The second option is to depend on the detector
artifact directly by using
lintCheck 'nl.littlerobots.rxlint:detector:1.7.5'
Make sure you use detector
in this case, not rxlint
for the module!
Learn more
If you are using RxJava, I still highly recommend you use rxlint to catch common errors.
Additionally, if you like to learn more about writing lint checks, I’d recommend to checkout this talk from Android Dev Summit to learn more.
Happy linting!