Skip to content

4.0.0

Compare
Choose a tag to compare
@xvik xvik released this 16 Nov 10:56
· 309 commits to master since this release
  • 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)