Releases: xvik/gradle-quality-plugin
Releases · xvik/gradle-quality-plugin
3.1.0
- 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:
- New check LambdaParameterName
- Update pmd 6.1.0 -> 6.5.0
- Update pmd config:
- Disable ClassNamingConventions
- Update spotbugs 3.1.2 -> 3.1.5
- Update codenarc 1.1 -> 1.2
- Update codenarc config:
- Disable new check NoJavaUtilDate
- Option to disable html reports: quality.htmlReports=false (#5)
3.0.0
- Update codenarc 1.0 -> 1.1
- Update checkstyle 8.2 -> 8.8
- Update pmd 5.8.1 -> 6.1.0
- Update pmd config:
- (breaking) All rules reordered according to new groups
- Disable CommentDefaultAccessModifier as not useful
- Disable ExcessiveClassLength
and ExcessiveMethodLength
in favor of new rule NcssCount (which counts lengths without empty lines and comments) - Defaults for NcssCount (which counts length without empty lines and comments) changed:
30 lines for method and 300 for class (with previous Excessive* rules it was 50 and 500 accordingly) - Disable new rule DataClass as too strict for general cases
- Switch from ModifiedCyclomaticComplexity (deprecated) to
CyclomaticComplexity with ignoreBooleanPaths option
- (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:
- Exclude NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION
check as it prevents @nullable override, which may be required for guava functions - Exclude NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE
check as misleading and not useful
- Exclude NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION
2.4.0
- 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
2.3.0
- Update checkstyle 7.6 -> 8.0
- Update pmd 5.5.4 -> 5.8.1
- Update pmd config:
- Add description to avoid warning
- Disable AccessorMethodGeneration
check as it makes sense for android projects and not so important for java.
Moreover, possible fixes will contradict with checkstyle's VisibilityModifier
2.2.0
- Update checkstyle 7.4 -> 7.6
- Update pmd 5.5.2 -> 5.5.4
- Update codenarc 0.26.0 -> 0.27.0
- Update pmd config:
- Disable NullAssignment
check due to false positives
- Disable NullAssignment
- Add unified exclusion patterns (glob) configuration: exclude (#2)
- Does not affect animalsniffer because it's a different type of check
- Findbugs did not support direct exclusions, so plugin resolves excluded classes and adds them to exclusion xml (default or user defined)
- Add configuration to directly exclude source files from check (for exceptional cases when pattern exclusion cant help): excludeSources
- Does not affect animalsniffer
- For findbugs excluded classes will be added to exclusions xml filter
2.1.0
- Update checkstyle 7.1 -> 7.4
- Update pmd 5.5.1 -> 5.5.2
- Update codenarc 0.25.2 -> 0.26.0
- Update pmd config:
- Disable junit4 migration rules which cause false positives for non test code:
JUnit4TestShouldUseBeforeAnnotation,
JUnit4TestShouldUseAfterAnnotation,
JUnit4TestShouldUseTestAnnotation
- Disable junit4 migration rules which cause false positives for non test code:
2.0.0
- Update checkstyle 6.17 -> 7.1 (requires min jdk 8)
- Update checkstyle config:
- Add SingleSpaceSeparator check (since 6.19)
- Disable FileLength check in favour of more correct PMD ExcessiveClassLength check (which checks actual class length not file)
- Enable ReturnCount to replace pmd OnlyOneReturn check
- Update pmd 5.4.1 -> 5.5.1 (requires min jdk 7)
- Update pmd config:
- Disable UselessParentheses because of too many false positives
- Disable OnlyOneReturn in favour of checkstyle ReturnCount
- Disable InvalidSlf4jMessageFormat due to known bug
- Disable CyclomaticComplexity and StdCyclomaticComplexity as duplicate rules for ModifiedCyclomaticComplexity
- Update codenarc 0.25.1 -> 0.25.2
- (breaking) quality.lintOptions configuration now applies to all JavaCompile tasks (not only to compileJava as before)
- Fix multi-module projects reporting (remove duplicate reports)
- Fix generated html reports links (redundant slash on linux)
- Fix newline in reporters (use platform specific)
- Change reporting format so intelliJ IDEA can recognize class reference and show link (eclipse will probably too). Reference line ranges are not shown anymore (pmd, findbugs and column in checkstyle) - always exact line.
- (breaking) configure manually registered plugins, even if plugin not supposed to be used due to sources auto detection. Configuration may be disabled using quality configuration flags.
- Add ability to disable automatic plugins registration: quality.autoRegistration = false. Only manually registered plugins will be configured.
- Add ability to disable quality tasks with configuration property: quality.enabled = false. Quality tasks will still work if called directly or through grouping task (e.g. checkQualityMain).
- (breaking) Remove checkstyle html report generation: gradle can generate html report since 2.10 and when gradle generates html report, it puts link to it into main error message
- Findbugs html report is always generated (not only when errors found like before)
- Add ability to disable console reporting with configuration property: quality.consoleReporting = false
- Add grouping tasks for registered quality plugins: checkQualityMain, checkQualityTest (per source set). Allows running quality tasks for exact source set or run quality tasks not enabled for 'check' task.
1.3.0
- Update checkstyle 6.14.1 -> 6.17
- Update codenarc 0.24.1 -> 0.25.1
- Disable default checkstyle html report (enabled in gradle >=2.10) to avoid duplicate report generation
- Add reporting execution time logging (visible with --info option)
- Update default checkstyle config:
- Disable Misc/UncommentedMain
1.2.0
- Update default configs:
- Disable Pmd/Controversial/AvoidFinalLocalVariable
- Pmd/Design/AvoidDeeplyNestedIfStmts default set to 4
- Checkstyle/Coding/NestedIfDepth default set to 3
- Add disabled check in config Checkstyle/Naming/CatchParameterName
- Update checkstyle 6.13 -> 6.14.1