Skip to content

6.0.0

Choose a tag to compare

@xvik xvik released this 26 Aug 17:05
· 45 commits to master since this release
  • (BREAKING) Drop gradle 7.0 support (7.1 min requirement due to spotbugs plugin)
  • Update checkstyle 10.12.7 -> 11.0.0 (java 21 records support)
    • Add PatternVariableAssignment
    • Add UnnecessaryNullCheckWithInstanceOf
    • Add ConstructorsDeclarationGrouping
    • (BREAKING) Remove checkstyle support for java 8 due to remove of the backport project (including maven central)
      • quality.checkstyleBackport property removed
      • On java 8 checkstyle plugin simply isn't applied
    • (BREAKING) Checkstyle 11.0 requires java 17 and so for java < 17 it would be disabled
      • On java 11 you can manually configure 10.26.1 to enable checkstyle
        (or use new option fallbackToCompatibleToolVersion to downgrade automatically)
  • Update spotbugs 4.8.3 -> 4.9.4 (requires java 11)
    • On java 8 you can manually configure 4.8.6 to enable spotbugs
      (or new option fallbackToCompatibleToolVersion to downgrade automatically)
    • Add quality.spotbugsQuiet = true option which could be used to remove spotbugs warnings
      like "The following classes needed for analysis were missing:"
  • Update pmd 6.55 -> 7.16.0 (java 25 support)
  • Update codenarc 3.4.0 -> 3.6.0
  • Fix CPD plugin compatibility for version 3.5
    • Update default xsl file (for html report)
  • (BREAKING) Spotbugs plugin:
    • Spotbugs plugin 6.x support
    • Spotbugs plugin is not installed automatically anymore: it should be applied manually
      (and quality plugin will configure it as before) because
      • The latest spotbugs plugin (6.x) requires java 11 (direct dependency would drop java 8 support for the entire plugin)
      • For java 8 spotbugs plugin 5.x could be used
    • For multimodule projects it is enough to specify spotbugs plugin in the root project (with "apply false")
    • Custom spotbugs plugin is not used anymore: now extra dependencies cleared from the check task
    • Fix spotbugs exclusions for multiple affected source sets
  • Fix default configs caching on plugin version change
  • Add qualityToolVersions task to show applied tools versions. Could be useful for debug
    because now spotbugs and checkstyle versions depend on a used java version
  • (BREAKING) Quality extension properties are now wrapped with Property:
    • groovy builds must use '=': quality.prop = value
    • kotlin builds might require explicit .set(value)
  • Add quality.fallbackToCompatibleToolVersion option to automatically lower checkstyle
    version for java 11 and spotbugs for java 8. False by default (used for tests)
  • Add quality.animalsniffer option to be able to disable animalsniffer plugin configuration
  • quality.checkstyle and quality.spotbugs by default analyze configured tool versions
    and, if version is compatible with current jvm, enable tool (no need to manually enable tool, just set version)
  • (BREAKING) quality.sourceSets option now accept strings to simplify configuration
    Legacy way with source set objects is available with method: quality.sourceSet(project.sourceSets.main)
  • Fix quality tasks up-to-date check
  • Fix build cache for checkstyle tasks
  • Configuration cache support
    • There is now a separate task copyQualityConfigs actually performing default configs copying
      allowing gradle to properly cache default config files

Migration guide