noveogroup / android-check

Static code analysis plugin for Android project. (Checkstyle, PMD)
Other
268 stars 67 forks source link

Replace Findbugs with Spotbugs? #42

Open lksnmnn opened 5 years ago

lksnmnn commented 5 years ago

Hi there,

one of the projects I inherited is using android-check. I recently updated all outdated dependencies and found that Findbugs will not be supported in future Gradle versions

Since FindBugs is unmaintained and does not support bytecode compiled for Java 9 and above, the FindBugs plugin has been deprecated and is scheduled to be removed in Gradle 6.0. Please consider using the SpotBugs plugin instead.

Source: https://docs.gradle.org/current/userguide/findbugs_plugin.html

Are there any plans moving from Findbugs to Spotbugs in the future? Maybe we can throw together a PR for this?

Cheers, Lukas

FriedrichFroebel commented 5 years ago

This change should be relatively easy and straightforward. When testing this some time ago using SpotBugs 3.1.0, I got some classpath length errors with a project which worked fine using FindBugs before - I do not know whether this has been an actual bug with SpotBugs and may be fixed with the current version. If changed, the names of the configuration closures should be evaluated as well - whether to use spotbugs instead of findbugs or whether not to break compatibility with existing setups by using the findbugs name.

The android-check plugin repository does not seem to receive any maintenance since the end of 2017. My PR to update the other library versions to the latest versions (from when I created the PR) is still awaiting response from the maintainers after about a year for example.

lksnmnn commented 5 years ago

The android-check plugin repository does not seem to receive any maintenance since the end of 2017.

That is too bad, but was my first impression too. I removed android-check all together and added the 3 plugins manually. I took me some initial work as I am not familiar with the Java / Android / Gradle toolchain. But if @stefan-nsk or @smalichenko decide to keep mainting this plugin I am open to contribute back :)

Also, if you guys drop this project you should mark it as discontinued / unmaintained so ppl dont use this in their projects any longer.

Cheers, Lukas