autonomousapps / gradle-best-practices-plugin

Gradle Plugin that detects violations of Gradle best practices in Gradle Plugins
Apache License 2.0
181 stars 3 forks source link

[Feature Request] Add different Severity levels to issues #8

Open oheyadam opened 1 year ago

oheyadam commented 1 year ago

Right now, the plugin treats all issues equally, which means we can't add issues that should be surfaced as warnings instead of errors.

My current thinking is to create a Severity enum that gets added as a required field to the Issue sealed type. Seeing as some best practices can have use-cases where they don't necessarily apply, and in the spirit of treating them as guidelines as opposed to strict rules, maybe that severity should have a default value of Warning, and issue authors can override that when contributing new ones.

The ConfigurableLogger class would also need to be made aware of this change, and maybe the surfaced warning messages would need to be slightly reworded to reflect this severity level and make users aware of the fact that they can add specific issues to their baseline given that they have appropriate reasons for breaking tradition at call sites where a guideline doesn't apply. Maybe this is a slippery slope though? I don't know.