Releases: xvik/gradle-quality-plugin
Releases · xvik/gradle-quality-plugin
5.0.0
- (BREAKING) Drop gradle 5 and 6 support
- Update spotbugs plugin to 5.2.5 (#94)
- Remove spotbugsShowStackTraces option because it's not used by spotbugs anymore
- Custom xsl file is not used for html report - native html report generation used instead
- Add spotbugs-annotations dependency automatically with compileOnly (to simplify @SuppressFBWarnings usage)
Could be disabled with quality.spotbugsAnnotations = false configuration
- Update checkstyle 10.6.0 -> 10.12.7 (gradle metadata fix applied)
- Fix links to checkstyle site (site structure changed)
- Update spotbugs 4.7.3 -> 4.8.3
- Update pmd 6.54 -> 6.55 (java 20 support)
- Update codenarc 3.2.0 -> 3.4.0
- Remove deprecated gradle apis usage
- The plugin is still NOT compatible with configuration cache
NOTE: in strict mode (when a quality task fails when violations are found)
a console report may appear NOT STRICTLY BELOW the referenced quality task
(because old gradle api was deprecated and new api does not guarantee
immediate execution after the quality task)
4.9.0
- Gradle 8 support (#77)
- Update checkstyle 10.3.1 -> 10.6.0
- Update pmd 6.47 -> 6.54 (java 19 support)
- Update pmd config:
- Disable TestClassWithoutTestCases
- Rename excluded rule BeanMembersShouldSerialize to NonSerializableClass
- Update spotbugs 4.7.1 -> 4.7.3
- Update codenarc 3.1.0 -> 3.2.0
- Fix codenarc for groovy4 support: change to x.x-groovy-4.0 version instead of codenarc-groovy4 artifact
4.8.0
- Update checkstyle 9.1 -> 10.3.1
IMPORTANT: Checkstyle 10 requires java 11, but plugin will automatically switch to
backports for lower jre.
Additional maven repository would be registered if required (LIMITED to checkstyle only)
Warning in log would clearly indicate when backport is used - New option: quality.checkstyleBackport (by default true for jre < 11)
Option might be used to force backport for java >=11 or to disable backport at all - Update checkstyle config:
- Add UnusedLocalVariable
- Change MultipleStringLiterals
to react on strings more than 2 chars only and allow 2 duplicates (to avoid warning in trivial cases)
- Update pmd 6.34 -> 6.47 (java 17-18 support)
- Update pmd config:
- Disable AvoidAccessibilityAlteration
- Change CognitiveComplexity reportLevel to 21 (default 15)
- Disable ReturnEmptyArrayRatherThanNull as deprecated
- Update codenarc 2.2.0 -> 3.1.0 (groovy 4 support)
- New option: quality.codenarcGroovy4 (by default, true)
Since codenarc 3.1 separate groovy4-based codenarc jar produced (codenarc-groovy4)
It would be used by default because groovy 4 has better adoption for newer JDKs
(codenarc task started with its own groovy so it does not restrict gradle version)
If you need to use older codenarc version then switch this option off manually - Update spotbugs 4.4.2 -> 4.7.1
- Update spotbugs plugin 4.7.9 -> 4.8.0
4.7.0
- Fix gradle 7 deprecation warnings (#30)
- Update spotbugs plugin 4.7.1 -> 4.7.9
(maven group changed: gradle.plugin.com.github.spotbugs.snom -> com.github.spotbugs.snom) - Add spotbugsShowStackTraces option with default to false.
Option introduced to change the default for spotbug's showStackTraces option
to avoid additional stacktrace in logs in non-strict mode (when plugin not fails on errors) - Update spotbugs 4.2.3 -> 4.4.2
- Update spotbugs exclusions:
- Exclude EI_EXPOSE_REP
due to confusing false positives - Exclude EI_EXPOSE_REP2
due to confusing false positives
- Exclude EI_EXPOSE_REP
- Update codenarc 2.1.0 -> 2.2.0
- Deprecate quality.pmdIncremental property because incremental analysis is enabled by default
since gradle 6.4 (property only useful for enabling it in gradle 5.6 - 6.3) - Update checkstyle 8.42 -> 9.1
- Update checkstyle config:
4.6.0
- Fix gradle 7 compatibility (for checkstyle plugin)
- Fix console output on windows (remove special unicode separator characters, appearing incorrectly)
- Update checkstyle 8.39 -> 8.42
- Update checkstyle config:
- Add RecordComponentName
- Disable Indentation as causing problems too often
(currently in regression since 8.40) - Disable UnnecessaryParentheses due
to often false complains in if statements (especially many misses in 8.42)
- Update pmd 6.31 -> 6.34 (java 16 support)
- Update pmd config:
- Disable deprecated UnusedImports,
DuplicateImports,
ImportFromSamePackage,
DontImportJavaLang
(replaced by new UnnecessaryImport rule)
- Disable deprecated UnusedImports,
- Update spotbugs 4.2.1 -> 4.2.3
- Update spotbugs plugin 4.6.0 -> 4.7.1
- Update codenarc 2.0.0 -> 2.1.0
4.5.0
- Fix report separating lines disappear in intellij IDEA output (appears when gradle output recognized as junit test output).
Extra zero-width space symbol used to prevent trims. - Update checkstyle 8.36.2 -> 8.39 (not 8.40 due to Indentation check regression)
- Update checkstyle config:
- Add JavadocMissingLeadingAsterisk
- Disable LambdaBodyLength
as method length check is enough - Add optional external suppressions file support:
just create gradle/config/checkstyle/suppressions.xml and it will be used automatically with the default config
- Update pmd 6.28 -> 6.31
- Update pmd config:
- Remove AvoidInstantiatingObjectsInLoops
because its useless most of the time - Remove AssignmentInOperand
because its quite common technique - Remove AvoidUsingVolatile
because it's not an issue but attention pointer - Update NcssCount
methodReportLevel from 30 to 40, classReportLevel from 300 to 500
- Remove AvoidInstantiatingObjectsInLoops
- Update spotbugs 4.1.3 -> 4.2.1
- Update spotbugs plugin 4.5.1 -> 4.6.0
- Set checkstyle.configDirectory property: required for ${config_loc} variable (#29)
4.4.0
- Update codenarc 1.5 -> 2.0.0 (groovy 3 and java 14 support, requires java 7)
- Update codenarc config:
- Disable new rule ImplicitReturnStatement
because it will cause too many warnings on typical projects and sometimes don't see existing return
- Disable new rule ImplicitReturnStatement
- Update pmd 6.23 -> 6.28 (java 15 support, text block syntax)
- Update checkstyle 8.32 -> 8.36.2 (java 14 records support, text block syntax)
- Update checkstyle config
- Add NoCodeInFile
- Add IllegalIdentifierName
- Add RecordComponentNumber
- Add RecordTypeParameterName
- Add PatternVariableName
- Update spotbugs 4.0.3 -> 4.1.3
- Update spotbugs plugin 4.1.0 -> 4.5.1
- Fix exclusions apply for spotbugs (#27)
- Automatically exclude apt-generated sources for spotbugs
(apt processor(s) assumed to be specified with annotationProcessor configuration)
4.3.0
- Update spotbugs plugin to 4.1.0 (#26)
- Fixes gradle 6.4 compatibility.
- The new plugin is a re-write of the original spotbugs plugin. But quality plugin
makes it work as before, so you shouldn't see any difference. - Minimal supported gradle is now 5.6 (due to spotbugs plugin)
- New spotbugs plugin can generate html report itself, but this option is not used
- Update spotbugs 4.0.2 -> 4.0.3
- Update checkstyle 8.31 -> 8.32
- Update checkstyle config:
- Update pmd 6.22 -> 6.23
NOTE:
* New spotbugs plugin does not support build cache (spotbugs/spotbugs-gradle-plugin#244)
* Spotbugs task always show an exception when violations found (not a problem, just confusing)
4.2.2
4.2.1
- Update spotbugs 4.0.1 -> 4.0.2
- Revert (and change) spotbugs configuration customizations:
- Remove explicit asm dependency for "spotbugs" configuration
It was added by mistake: dependency-management plugin applied for all configurations
was actually guilty of incorrect asm version (case description added to documentation) - Force correct version of sl4j-simple instead of removing dependency
(nasty warnings introduced in previous release will disappear now)
- Remove explicit asm dependency for "spotbugs" configuration
Warnings from the previous version are no more actual (except new plugin version (4)).