Skip to content

Releases: xvik/gradle-quality-plugin

4.2.0

14 Apr 22:26
Compare
Choose a tag to compare
  • Fix gradle configuration fail: "Cannot access last() element from an empty List"
    (project with explicit quality configuration fails to open in the new IDEA)
  • Fix concurrent default configs initialization clash (#22)
  • Update spotbugs 3.1.12 -> 4.0.1
  • Spotbugs classpath changes ("spotbugs" configuration):
    • Removed sl4j-simple dependency: you will see default slf4j warnings
      but everything will work in all cases and will no more fail due to sl4j version class with gradle's own sl4j (#20)
    • asm 7.3.1 is directly specified to force 7.3.1 because otherwise gradle (5.6) downgrades it to 7.2 (which leads to execution fails "no class def found").
  • Update codenarc 1.4 -> 1.5
  • Update codenarc config:
  • Fix codenarc link in console report (docs moved from sourceforge to github)
  • Update checkstyle 8.29 -> 8.31
  • Update checkstyle rules:
  • Fix checkstyle link in console report (sourceforge.net changed to sourceforge.io to avoid redirect)
  • Update pmd 6.21 -> 6.22

WARNING (spotbugs related):

  1. If you want to downgrade spotbugs version (with quality.spotbugsVersion = ..) then you'll have
    to also force correct asm version on spotbugs configuration.
  2. If you need to see spotbugs logs, then manually add slf4j-simple dependency to spotbugs configuration.
    (normally, spotbugs logs are not important and removing dependency fixes some environments)
  3. If you don't want to see sl4j default warnings then simply put slf4j-nop dependency into spotbugs
    configuration. I can't do it automatically because I may introduce new sl4j compatibility problems due to incorrect version.
  4. I know, there is a new spotbugs plugin 4.0.5,
    but it is conceptually different, so old version would be used for some time. (I tried to upgrade, but it requires time to resolve all issues)
  5. BUT with all this, spotbugs 4 should work without problems for everyone!

4.1.0

15 Feb 16:45
Compare
Choose a tag to compare

4.0.0

16 Nov 10:56
Compare
Choose a tag to compare
  • Gradle 6.0 compatibility
    • (breaking) Removed findbugs plugin support because it was removed in gradle 6
  • (breaking) Minimal required gradle is now 5.1
  • Update spotbugs 3.1.11 -> 3.1.12
  • Update com.github.spotbugs plugin: 1.6.5 -> 2.0.1
    • Note that plugin group changed: gradle.plugin.com.github.spotbugs -> com.github.spotbugs
  • Add spotbugs-related options:
    • spotbugsMaxHeapSize setting may be used to increase default spotbugs memory (reduced to 512mb in gradle 5).
      Option does not override maxHeapSize manually set on spotbugs task (to not break working builds) (#12)
    • spotbugsMaxRank setting allows to filter low-ranked rules (ranks are different from priorities!) (#15)
      Option modifies excludes.xml file (the only way to apply rank threshold)
    • spotbugsPlugin shortcut method to simplify plugins declaration (without afterEvaluate block or manual spotbugs plugin declaration)
  • Spotbugs console report changes:
    • Show both rule rank and priority : [priority 2 / rank 14]
    • Identify rules from plugins: [fb-contrib project | Correctness | FCBL_FIELD_COULD_BE_LOCAL]
  • Update codenarc 1.3 -> 1.4
  • Update checkstyle 8.17 -> 8.26
  • Update checkstyle config:
  • Update pmd 6.11.0 -> 6.17.0
    NOTE: 6.18 or 6.19 can't be used due to regression (should be fixed in 6.20)
  • Update pmd config:
  • Add pmdIncremental option - shortcut for gradle's pmd.incrementalAnalysis option. Disabled by default.
  • Add PMD's CPD tool support through de.aaschmid.cpd plugin. (#4)
    • CPD gradle plugin must be applied manually: no automatic plugin enabling
    • Sets pmd version and silent mode.
    • Sources configured according to quality configuration. Exclusions (source and pattern) are supported too
    • Html report generated (using style recommended by pmd; style file added as overridable config)
    • Full console report (like for other quality plugins)
    • Support for multi-module projects (where cpd plugin applied in root project and quality in subprojects)
  • Use gradle configuration avoidance to prevent not used quality tasks creation
  • Use compilerArgumentProviders instead of direct options modification (JavaCompile.options.compilerArgs) to workaround
    possible immutable list usage in options (#19)

3.4.0

16 Feb 18:09
Compare
Choose a tag to compare
  • Fix source files root detection (#13)
  • Set spotbugs tasks default heap size to 1g to mimic old behaviour in gradle 5 (#12)
  • Update pmd 6.9.0 -> 6.11.0
  • Update checkstyle 8.14 -> 8.17
  • Update spotbugs 3.1.9 -> 3.1.11
  • Update codenarc 1.2.1 -> 1.3
  • Update codenarc config:

NOTE com.github.spotbugs plugin not updated to more recent version (1.6.9) because
it breaks gradle 4.0-4.6 compatibility (versions from 1.6.6) and build cache support

3.3.0

23 Nov 19:40
Compare
Choose a tag to compare
  • Update pmd config:
  • Update spotbugs 3.1.6 -> 3.1.9
  • Update com.github.spotbugs plugin 1.6.3 -> 1.6.5
  • Update checkstyle 8.12 -> 8.14
  • Update pmd 6.7.0 -> 6.9.0

3.2.0

11 Sep 17:29
Compare
Choose a tag to compare
  • Gradle 4.10 compatibility:
    • updated com.github.spotbugs plugin 1.6.2 -> 1.6.3
  • Update checkstyle 8.11 -> 8.12
  • Update pmd 6.5.0 -> 6.7.0
  • Update codenarc 1.2 -> 1.2.1

3.1.1

22 Jul 14:48
Compare
Choose a tag to compare
  • Fix maven central and jcenter artifacts (missed dependency) (#9)
  • Update spotbugs 3.1.5 -> 3.1.6

3.1.0

12 Jul 20:12
Compare
Choose a tag to compare
  • Gradle 4.8 compatibility:
    • updated com.github.spotbugs plugin 1.6.1 -> 1.6.2
    • fix exclusions support
  • Update checkstyle 8.8 -> 8.11
  • Update checkstyle config:
  • Update pmd 6.1.0 -> 6.5.0
  • Update pmd config:
  • Update spotbugs 3.1.2 -> 3.1.5
  • Update codenarc 1.1 -> 1.2
  • Update codenarc config:
  • Option to disable html reports: quality.htmlReports=false (#5)

3.0.0

25 Mar 13:26
Compare
Choose a tag to compare
  • Update codenarc 1.0 -> 1.1
  • Update checkstyle 8.2 -> 8.8
  • Update pmd 5.8.1 -> 6.1.0
  • Update pmd config:
  • (breaking) use Spotbugs (3.1.2) instead of Findbugs by default (as successor)
    • com.github.spotbugs external plugin applied (quality plugin brings it as a dependency)
    • Spotbugs plugin will use configs from different folder (spotbugs/), so if custom findbugs configs were used move them to spotbugs/ folder
    • Findbugs support is deprecated and will be removed someday (but not soon).
    • To use findbugs (as before): disable spotbugs support (quality.spotbugs = false)
      or enable findbugs plugin manually (in this case spotbugs plugin will not be registered)
  • Update spotbugs exclusions:

2.4.0

21 Sep 16:45
Compare
Choose a tag to compare
  • Support gradle 4.2 (#3)
  • Update checkstyle 8.0 -> 8.2
  • Update codenarc 0.27.0 -> 1.0
  • Update checkstyle config:
    • Move SuppressionCommentFilter inside TreeWalker (8.1 breaking change)
    • Remove FileContentsHolder (8.2 breaking change)
    • New check AnnotationOnSameLine (added in 8.2) added to config, but disabled