CodeNarc/CodeNarc
### [`v1.6.1`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-161-Aug-2020)
- [#534](https://togithub.com/CodeNarc/CodeNarc/issues/534): **UnnecessarySemicolon** rule: Fix no violation in Groovy 3 if there is a space between code and the semicolon.
### [`v1.6`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-161-Aug-2020)
- [#534](https://togithub.com/CodeNarc/CodeNarc/issues/534): **UnnecessarySemicolon** rule: Fix no violation in Groovy 3 if there is a space between code and the semicolon.
### [`v1.5`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-15-Nov-2019)
New Rules
- [#371](https://togithub.com/CodeNarc/CodeNarc/issues/371): **ImplicitClosureParameter** rule (convention). Checks for usages of the implicit `it` closure parameter.
- [#437](https://togithub.com/CodeNarc/CodeNarc/issues/437): **NoFloat** rule (convention) - Checks for use of the float or Float types, in fields, variables, method parameters and method return types.
- [#437](https://togithub.com/CodeNarc/CodeNarc/issues/437): **NoDouble** rule (convention) - Checks for use of the double or Double types, in fields, variables, method parameters and method return types.
Updated/Enhanced Rules and Bug Fixes
- [#426](https://togithub.com/CodeNarc/CodeNarc/issues/426): **UnusedImport** rule: No such property: staticImportAliases using Groovy 3.0.0-beta-1. Remove unused `GroovyVersion` class.
- [#427](https://togithub.com/CodeNarc/CodeNarc/issues/427): **PublicMethodsBeforeNonPublicMethods**: False alarm for static initializer.
- [#430](https://togithub.com/CodeNarc/CodeNarc/issues/430): **SpaceAroundMapEntryColon**: False positive when spread map operator is used.
- [#440](https://togithub.com/CodeNarc/CodeNarc/issues/440): **SpaceAfterClosingBrace**: Ignore if followed by opening parenthesis or opening square brace
- [#443](https://togithub.com/CodeNarc/CodeNarc/issues/443): **UnnecessaryGetter** false-positive; ignore within Spock method calls (`Mock()`, `Stub()` and `Spy()`), including those where an option Map is passed in.
- [#444](https://togithub.com/CodeNarc/CodeNarc/issues/444): **FieldTypeRequired**: Fix duplicate violations.
- [#256](https://togithub.com/CodeNarc/CodeNarc/issues/256): **JUnitPublicField**: Added support for skipping fields with fully-qualified [@org](https://togithub.com/org).junit.Rule and [@org](https://togithub.com/org).junit.ClassRule annotations.
Groovy 3.x Compatibility
- [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix "IllegalAccessError: null from ClosureAsLastMethodParameterRule". **AbstractMethodCallExpressionVisitor**: Changed `visitEmptyStatement()` to public.
- [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix "The variable \[xx] is declared final but is reassigned" errors w/Groovy 3. Fixed **CompileStaticRuleTest**.
- [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix "attempting to assign weaker access privileges; was public" errors: **AbstractFieldVisitor**, **AbstractMethodCallExpressionVisitor**, **AbstractMethodVisitor**.
- [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix **SpaceAroundMapEntryColonRule** "StringIndexOutOfBoundsException" errors w/Groovy 3.
- [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix **ClosureStatementOnOpeningLineOfMultipleLineClosureRule** "MissingPropertyException: No such property: statements for class: org.codehaus.groovy.ast.stmt.ExpressionStatement"
- [#423](https://togithub.com/CodeNarc/CodeNarc/issues/423): **UnnecessaryPublicModifierAstVisitor** and **AstUtil**. Resolves [#414](https://togithub.com/CodeNarc/CodeNarc/issues/414). (philippkrauss)
Framework and Infrastructure
- [#448](https://togithub.com/CodeNarc/CodeNarc/issues/448): Switch from groovy-all dependency to individual groovy component jars. Make GMetrics dependency transitive:false.
- [#442](https://togithub.com/CodeNarc/CodeNarc/issues/442): Move web site (online docs) from Sourceforge to GitHub.
- [#441](https://togithub.com/CodeNarc/CodeNarc/issues/441): Enable CodeNarc Ant Task to optionally fail for Groovy compile errors on source files. Add *failOnError* property to the Ant Task, defaults to *false*.
- [#445](https://togithub.com/CodeNarc/CodeNarc/issues/445): Support `@SuppressWarnings("all")` and `@SuppressWarnings("CodeNarc")`.
- [#429](https://togithub.com/CodeNarc/CodeNarc/issues/429): Normalize line endings to LF. (Marcin Erdmann)
- [#421](https://togithub.com/CodeNarc/CodeNarc/issues/421): Update to gradle 5.4.1, Only sign on uploadArchives. (Leonard Brünings)
- [#436](https://togithub.com/CodeNarc/CodeNarc/issues/436): Remove unnecessary CodeNarc logging.
### [`v1.4`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-14-May-2019)
New Rules
- [#418](https://togithub.com/CodeNarc/CodeNarc/issues/418): New **CompileStatic** convention rule enforces all classes are annotated with [@CompileStatic](https://togithub.com/CompileStatic), [@GrailsCompileStatic](https://togithub.com/GrailsCompileStatic) or [@CompileDynamic](https://togithub.com/CompileDynamic) annotations. (Sudhir Nimavat)
- [#420](https://togithub.com/CodeNarc/CodeNarc/issues/420): New **JavadocMissingParamDescription** rule (comments). Checks for missing description within [@param](https://togithub.com/param) javadoc tags.
- [#420](https://togithub.com/CodeNarc/CodeNarc/issues/420): New **JavadocMissingThrowsDescription** rule (comments). Checks for missing description within [@throws](https://togithub.com/throws) javadoc tags.
- [#420](https://togithub.com/CodeNarc/CodeNarc/issues/420): New **JavadocMissingExceptionDescription** rule (comments). Checks for missing description within [@exception](https://togithub.com/exception) javadoc tags.
Updated/Enhanced Rules and Bug Fixes
- [#402](https://togithub.com/CodeNarc/CodeNarc/issues/402): **ClosureAsLastMethodParameter** rule: fix typo in violation message. (Marcin Erdmann)
- [#397](https://togithub.com/CodeNarc/CodeNarc/issues/397): **ClassStartsWithBlankLine** and **ClassEndsWithBlankLine** rules - Fix failure when analysing code which consists of only a semicolon. (Marcin Erdmann)
- [#405](https://togithub.com/CodeNarc/CodeNarc/issues/405): **UnnecessaryGetter** rule: Add `ignoreMethodNames` property. (Marcin Erdmann)
- [#408](https://togithub.com/CodeNarc/CodeNarc/issues/408): Fix a typo in **ClosureAsLastMethodParameter** rule's violation message. Fixes [#402](https://togithub.com/CodeNarc/CodeNarc/issues/402). (Marcin Erdmann)
- [#410](https://togithub.com/CodeNarc/CodeNarc/issues/410): **IndentationRule**: Fix NPE on GStrings containing an if-statement. (debanne)
- [#398](https://togithub.com/CodeNarc/CodeNarc/issues/398): **ClassStartsWithBlankLine** and **ClassEndsWithBlankLine** rules: Ignore Script classes.
- [#399](https://togithub.com/CodeNarc/CodeNarc/issues/399): **AssignCollectionUnique** rule: Fix false positive for `unique(false)`, `unique(false, Comparator)` and `unique(false, Closure)`.
- [#400](https://togithub.com/CodeNarc/CodeNarc/issues/400): Update online documentation to reflect that ruleset file URLs can optionally be URL-encoded.
- [#415](https://togithub.com/CodeNarc/CodeNarc/issues/415): **ClassStartsWithBlankLine**: Add *ignoreInnerClasses* boolean flag.
- [#416](https://togithub.com/CodeNarc/CodeNarc/issues/416): **ClassEndsWithBlankLine**: Add *ignoreInnerClasses* boolean flag.
- [#401](https://togithub.com/CodeNarc/CodeNarc/issues/401): Fix false-negative in ClosureAsLastMethodParameter (method call within GString).
- [#419](https://togithub.com/CodeNarc/CodeNarc/issues/419): **IndentationRule**: Ignore List expressions.
- [#417](https://togithub.com/CodeNarc/CodeNarc/issues/417): **UnnecessaryGetter**: Add *checkIsMethods* property and then also check `is*` methods if true. \[NOTE: May introduce new violations; set *checkIsMethods=false* to revert new behavior]
Tests and Documentation
- [#411](https://togithub.com/CodeNarc/CodeNarc/issues/411): Consistent indentation on IndentationRuleTest.groovy. (debanne)
Framework and Infrastructure
- [#404](https://togithub.com/CodeNarc/CodeNarc/issues/404): Update Maven repository URL to use HTTPS. Fixes [#403](https://togithub.com/CodeNarc/CodeNarc/issues/403). (Jenn Strater)
### [`v1.3`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-13-Jan-2019)
New Rules (and new "comments" ruleset)
- [#359](https://togithub.com/CodeNarc/CodeNarc/issues/359): **ClassEndsWithBlankLine** rule (formatting) - Check whether the class ends with a blank line. (David Ausín)
- [#362](https://togithub.com/CodeNarc/CodeNarc/issues/362): **ClassStartsWithBlankLine** rule (formatting) - Check whether the class starts with a blank line. (David Ausín)
- [#377](https://togithub.com/CodeNarc/CodeNarc/issues/377): **ExplicitCallToPutAtMethod** rule - Detects when the `map.putAt(k, v)` method is called directly rather than using `map[k] = v`.
- [#385](https://togithub.com/CodeNarc/CodeNarc/issues/385): **JavadocEmptyFirstLine** rule (comments) - Check for javadoc comments with an empty top line.
- [#386](https://togithub.com/CodeNarc/CodeNarc/issues/386): **JavadocEmptyLastLine** rule (comments) - Check for javadoc comments with an empty line at the bottom.
- [#387](https://togithub.com/CodeNarc/CodeNarc/issues/387): **JavadocConsecutiveEmptyLines** rule (comments) - Checks for javadoc comments with more than one consecutive empty line.
- [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptySeeTag** rule (comments) - Checks for empty [@see](https://togithub.com/see) tags within javadoc.
- [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyParamTag** rule (comments) - Checks for empty [@param](https://togithub.com/param) tags within javadoc.
- [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyReturnTag** rule (comments) - Checks for empty [@return](https://togithub.com/return) tags within javadoc.
- [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyThrowsTag** rule (comments) - Checks for empty [@throws](https://togithub.com/throws) tag within javadoc.
- [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyExceptionTag** rule (comments) - Checks for empty [@exception](https://togithub.com/exception) tag within javadoc.
- [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyAuthorTag** rule (comments) - Checks for empty [@author](https://togithub.com/author) tags within javadoc.
- [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptySinceTag** rule (comments) - Checks for empty [@since](https://togithub.com/since) tags within javadoc.
- [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyVersionTag** rule (comments) - Checks for empty [@version](https://togithub.com/version) tags within javadoc.
Updated/Enhanced Rules and Bug Fixes
- [#388](https://togithub.com/CodeNarc/CodeNarc/issues/388): **ClassJavadoc** rule: Moved from the "formatting" ruleset into the new "comments" ruleset. \[BREAKING CHANGE]
- [#364](https://togithub.com/CodeNarc/CodeNarc/issues/364): **UnnecessarySetter** rule: Fix StringIndexOutOfBoundsException for single-letter property names (e.g. account.setE(3)).
- [#363](https://togithub.com/CodeNarc/CodeNarc/issues/363): **CouldBeSwitchStatement** rule: Fix the false positive that occurs when if statements are in different methods of the same class. (Jenn Strater)
- [#360](https://togithub.com/CodeNarc/CodeNarc/issues/360): **NoWildcardImports** rule: Add a configuration option to ignore non-static imports. (Jenn Strater)
- [#357](https://togithub.com/CodeNarc/CodeNarc/issues/357): **PrivateFieldCouldBeFinal** rule: Fix the fasle positive that occurs when a field is marked with the Lazy annotation. (Jenn Strater)
- [#372](https://togithub.com/CodeNarc/CodeNarc/issues/372): **UnnecessaryGetter** rule: Also handle the "Spy" Spock method. (Boris Petrov)
- [#383](https://togithub.com/CodeNarc/CodeNarc/issues/383): **DuplicateImport** rule: Fix handling of imports with non-English characters.
- [#381](https://togithub.com/CodeNarc/CodeNarc/issues/381): **CloseWithoutCloseable** rule: Skip classes implementing Autocloseable. (Mitch Sans Souci)
- [#384](https://togithub.com/CodeNarc/CodeNarc/issues/384): **JUnitLostTest** rule: ignore abstract test methods.
- [#269](https://togithub.com/CodeNarc/CodeNarc/issues/269): Enhanced the "compilation failed" error message to also include the exception that caused it.
- [#380](https://togithub.com/CodeNarc/CodeNarc/issues/380): **JUnitAssertEqualsConstantActualValue** rule: Fix NoClassDefFoundError when JUnit not on the classpath.
- [#376](https://togithub.com/CodeNarc/CodeNarc/issues/376): **BracesForMethod** rule: Fix false positive when methods have annotations followed by comment lines.
- [#395](https://togithub.com/CodeNarc/CodeNarc/issues/395): **Indentation** rule: Fix false positive when constructor is called in a script method for a class declared in the script ifself. (René Scheibe).
- [#374](https://togithub.com/CodeNarc/CodeNarc/issues/374): **TrailingComma** rule. Ignore lists/maps with single elements. Add *ignoreSingleElementList* and *ignoreSingleElementMap*. default to true.
Framework and Infrastructure
- [#390](https://togithub.com/CodeNarc/CodeNarc/issues/390): CodeNarc command-line: Support `maxPriorityXViolations` command-line arguments.
- [#391](https://togithub.com/CodeNarc/CodeNarc/issues/391): Fix line endings in codenarc.groovy to enable running the script via `./codenarc.groovy` in Linux. (René Scheibe)
- [#392](https://togithub.com/CodeNarc/CodeNarc/issues/392): Fix compilation of Groovy class in incorrect folder. (René Scheibe)
- [#393](https://togithub.com/CodeNarc/CodeNarc/issues/393): Remove obsolete Java placeholder file. (René Scheibe)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.2.1
->1.6.1
Release Notes
CodeNarc/CodeNarc
### [`v1.6.1`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-161-Aug-2020) - [#534](https://togithub.com/CodeNarc/CodeNarc/issues/534): **UnnecessarySemicolon** rule: Fix no violation in Groovy 3 if there is a space between code and the semicolon. ### [`v1.6`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-161-Aug-2020) - [#534](https://togithub.com/CodeNarc/CodeNarc/issues/534): **UnnecessarySemicolon** rule: Fix no violation in Groovy 3 if there is a space between code and the semicolon. ### [`v1.5`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-15-Nov-2019) New Rules - [#371](https://togithub.com/CodeNarc/CodeNarc/issues/371): **ImplicitClosureParameter** rule (convention). Checks for usages of the implicit `it` closure parameter. - [#437](https://togithub.com/CodeNarc/CodeNarc/issues/437): **NoFloat** rule (convention) - Checks for use of the float or Float types, in fields, variables, method parameters and method return types. - [#437](https://togithub.com/CodeNarc/CodeNarc/issues/437): **NoDouble** rule (convention) - Checks for use of the double or Double types, in fields, variables, method parameters and method return types. Updated/Enhanced Rules and Bug Fixes - [#426](https://togithub.com/CodeNarc/CodeNarc/issues/426): **UnusedImport** rule: No such property: staticImportAliases using Groovy 3.0.0-beta-1. Remove unused `GroovyVersion` class. - [#427](https://togithub.com/CodeNarc/CodeNarc/issues/427): **PublicMethodsBeforeNonPublicMethods**: False alarm for static initializer. - [#430](https://togithub.com/CodeNarc/CodeNarc/issues/430): **SpaceAroundMapEntryColon**: False positive when spread map operator is used. - [#440](https://togithub.com/CodeNarc/CodeNarc/issues/440): **SpaceAfterClosingBrace**: Ignore if followed by opening parenthesis or opening square brace - [#443](https://togithub.com/CodeNarc/CodeNarc/issues/443): **UnnecessaryGetter** false-positive; ignore within Spock method calls (`Mock()`, `Stub()` and `Spy()`), including those where an option Map is passed in. - [#444](https://togithub.com/CodeNarc/CodeNarc/issues/444): **FieldTypeRequired**: Fix duplicate violations. - [#256](https://togithub.com/CodeNarc/CodeNarc/issues/256): **JUnitPublicField**: Added support for skipping fields with fully-qualified [@org](https://togithub.com/org).junit.Rule and [@org](https://togithub.com/org).junit.ClassRule annotations. Groovy 3.x Compatibility - [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix "IllegalAccessError: null from ClosureAsLastMethodParameterRule". **AbstractMethodCallExpressionVisitor**: Changed `visitEmptyStatement()` to public. - [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix "The variable \[xx] is declared final but is reassigned" errors w/Groovy 3. Fixed **CompileStaticRuleTest**. - [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix "attempting to assign weaker access privileges; was public" errors: **AbstractFieldVisitor**, **AbstractMethodCallExpressionVisitor**, **AbstractMethodVisitor**. - [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix **SpaceAroundMapEntryColonRule** "StringIndexOutOfBoundsException" errors w/Groovy 3. - [#432](https://togithub.com/CodeNarc/CodeNarc/issues/432): Fix **ClosureStatementOnOpeningLineOfMultipleLineClosureRule** "MissingPropertyException: No such property: statements for class: org.codehaus.groovy.ast.stmt.ExpressionStatement" - [#423](https://togithub.com/CodeNarc/CodeNarc/issues/423): **UnnecessaryPublicModifierAstVisitor** and **AstUtil**. Resolves [#414](https://togithub.com/CodeNarc/CodeNarc/issues/414). (philippkrauss) Framework and Infrastructure - [#448](https://togithub.com/CodeNarc/CodeNarc/issues/448): Switch from groovy-all dependency to individual groovy component jars. Make GMetrics dependency transitive:false. - [#442](https://togithub.com/CodeNarc/CodeNarc/issues/442): Move web site (online docs) from Sourceforge to GitHub. - [#441](https://togithub.com/CodeNarc/CodeNarc/issues/441): Enable CodeNarc Ant Task to optionally fail for Groovy compile errors on source files. Add *failOnError* property to the Ant Task, defaults to *false*. - [#445](https://togithub.com/CodeNarc/CodeNarc/issues/445): Support `@SuppressWarnings("all")` and `@SuppressWarnings("CodeNarc")`. - [#429](https://togithub.com/CodeNarc/CodeNarc/issues/429): Normalize line endings to LF. (Marcin Erdmann) - [#421](https://togithub.com/CodeNarc/CodeNarc/issues/421): Update to gradle 5.4.1, Only sign on uploadArchives. (Leonard Brünings) - [#436](https://togithub.com/CodeNarc/CodeNarc/issues/436): Remove unnecessary CodeNarc logging. ### [`v1.4`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-14-May-2019) New Rules - [#418](https://togithub.com/CodeNarc/CodeNarc/issues/418): New **CompileStatic** convention rule enforces all classes are annotated with [@CompileStatic](https://togithub.com/CompileStatic), [@GrailsCompileStatic](https://togithub.com/GrailsCompileStatic) or [@CompileDynamic](https://togithub.com/CompileDynamic) annotations. (Sudhir Nimavat) - [#420](https://togithub.com/CodeNarc/CodeNarc/issues/420): New **JavadocMissingParamDescription** rule (comments). Checks for missing description within [@param](https://togithub.com/param) javadoc tags. - [#420](https://togithub.com/CodeNarc/CodeNarc/issues/420): New **JavadocMissingThrowsDescription** rule (comments). Checks for missing description within [@throws](https://togithub.com/throws) javadoc tags. - [#420](https://togithub.com/CodeNarc/CodeNarc/issues/420): New **JavadocMissingExceptionDescription** rule (comments). Checks for missing description within [@exception](https://togithub.com/exception) javadoc tags. Updated/Enhanced Rules and Bug Fixes - [#402](https://togithub.com/CodeNarc/CodeNarc/issues/402): **ClosureAsLastMethodParameter** rule: fix typo in violation message. (Marcin Erdmann) - [#397](https://togithub.com/CodeNarc/CodeNarc/issues/397): **ClassStartsWithBlankLine** and **ClassEndsWithBlankLine** rules - Fix failure when analysing code which consists of only a semicolon. (Marcin Erdmann) - [#405](https://togithub.com/CodeNarc/CodeNarc/issues/405): **UnnecessaryGetter** rule: Add `ignoreMethodNames` property. (Marcin Erdmann) - [#408](https://togithub.com/CodeNarc/CodeNarc/issues/408): Fix a typo in **ClosureAsLastMethodParameter** rule's violation message. Fixes [#402](https://togithub.com/CodeNarc/CodeNarc/issues/402). (Marcin Erdmann) - [#410](https://togithub.com/CodeNarc/CodeNarc/issues/410): **IndentationRule**: Fix NPE on GStrings containing an if-statement. (debanne) - [#398](https://togithub.com/CodeNarc/CodeNarc/issues/398): **ClassStartsWithBlankLine** and **ClassEndsWithBlankLine** rules: Ignore Script classes. - [#399](https://togithub.com/CodeNarc/CodeNarc/issues/399): **AssignCollectionUnique** rule: Fix false positive for `unique(false)`, `unique(false, Comparator)` and `unique(false, Closure)`. - [#400](https://togithub.com/CodeNarc/CodeNarc/issues/400): Update online documentation to reflect that ruleset file URLs can optionally be URL-encoded. - [#415](https://togithub.com/CodeNarc/CodeNarc/issues/415): **ClassStartsWithBlankLine**: Add *ignoreInnerClasses* boolean flag. - [#416](https://togithub.com/CodeNarc/CodeNarc/issues/416): **ClassEndsWithBlankLine**: Add *ignoreInnerClasses* boolean flag. - [#401](https://togithub.com/CodeNarc/CodeNarc/issues/401): Fix false-negative in ClosureAsLastMethodParameter (method call within GString). - [#419](https://togithub.com/CodeNarc/CodeNarc/issues/419): **IndentationRule**: Ignore List expressions. - [#417](https://togithub.com/CodeNarc/CodeNarc/issues/417): **UnnecessaryGetter**: Add *checkIsMethods* property and then also check `is*` methods if true. \[NOTE: May introduce new violations; set *checkIsMethods=false* to revert new behavior] Tests and Documentation - [#411](https://togithub.com/CodeNarc/CodeNarc/issues/411): Consistent indentation on IndentationRuleTest.groovy. (debanne) Framework and Infrastructure - [#404](https://togithub.com/CodeNarc/CodeNarc/issues/404): Update Maven repository URL to use HTTPS. Fixes [#403](https://togithub.com/CodeNarc/CodeNarc/issues/403). (Jenn Strater) ### [`v1.3`](https://togithub.com/CodeNarc/CodeNarc/blob/HEAD/CHANGELOG.md#Version-13-Jan-2019) New Rules (and new "comments" ruleset) - [#359](https://togithub.com/CodeNarc/CodeNarc/issues/359): **ClassEndsWithBlankLine** rule (formatting) - Check whether the class ends with a blank line. (David Ausín) - [#362](https://togithub.com/CodeNarc/CodeNarc/issues/362): **ClassStartsWithBlankLine** rule (formatting) - Check whether the class starts with a blank line. (David Ausín) - [#377](https://togithub.com/CodeNarc/CodeNarc/issues/377): **ExplicitCallToPutAtMethod** rule - Detects when the `map.putAt(k, v)` method is called directly rather than using `map[k] = v`. - [#385](https://togithub.com/CodeNarc/CodeNarc/issues/385): **JavadocEmptyFirstLine** rule (comments) - Check for javadoc comments with an empty top line. - [#386](https://togithub.com/CodeNarc/CodeNarc/issues/386): **JavadocEmptyLastLine** rule (comments) - Check for javadoc comments with an empty line at the bottom. - [#387](https://togithub.com/CodeNarc/CodeNarc/issues/387): **JavadocConsecutiveEmptyLines** rule (comments) - Checks for javadoc comments with more than one consecutive empty line. - [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptySeeTag** rule (comments) - Checks for empty [@see](https://togithub.com/see) tags within javadoc. - [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyParamTag** rule (comments) - Checks for empty [@param](https://togithub.com/param) tags within javadoc. - [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyReturnTag** rule (comments) - Checks for empty [@return](https://togithub.com/return) tags within javadoc. - [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyThrowsTag** rule (comments) - Checks for empty [@throws](https://togithub.com/throws) tag within javadoc. - [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyExceptionTag** rule (comments) - Checks for empty [@exception](https://togithub.com/exception) tag within javadoc. - [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyAuthorTag** rule (comments) - Checks for empty [@author](https://togithub.com/author) tags within javadoc. - [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptySinceTag** rule (comments) - Checks for empty [@since](https://togithub.com/since) tags within javadoc. - [#389](https://togithub.com/CodeNarc/CodeNarc/issues/389): **JavadocEmptyVersionTag** rule (comments) - Checks for empty [@version](https://togithub.com/version) tags within javadoc. Updated/Enhanced Rules and Bug Fixes - [#388](https://togithub.com/CodeNarc/CodeNarc/issues/388): **ClassJavadoc** rule: Moved from the "formatting" ruleset into the new "comments" ruleset. \[BREAKING CHANGE] - [#364](https://togithub.com/CodeNarc/CodeNarc/issues/364): **UnnecessarySetter** rule: Fix StringIndexOutOfBoundsException for single-letter property names (e.g. account.setE(3)). - [#363](https://togithub.com/CodeNarc/CodeNarc/issues/363): **CouldBeSwitchStatement** rule: Fix the false positive that occurs when if statements are in different methods of the same class. (Jenn Strater) - [#360](https://togithub.com/CodeNarc/CodeNarc/issues/360): **NoWildcardImports** rule: Add a configuration option to ignore non-static imports. (Jenn Strater) - [#357](https://togithub.com/CodeNarc/CodeNarc/issues/357): **PrivateFieldCouldBeFinal** rule: Fix the fasle positive that occurs when a field is marked with the Lazy annotation. (Jenn Strater) - [#372](https://togithub.com/CodeNarc/CodeNarc/issues/372): **UnnecessaryGetter** rule: Also handle the "Spy" Spock method. (Boris Petrov) - [#383](https://togithub.com/CodeNarc/CodeNarc/issues/383): **DuplicateImport** rule: Fix handling of imports with non-English characters. - [#381](https://togithub.com/CodeNarc/CodeNarc/issues/381): **CloseWithoutCloseable** rule: Skip classes implementing Autocloseable. (Mitch Sans Souci) - [#384](https://togithub.com/CodeNarc/CodeNarc/issues/384): **JUnitLostTest** rule: ignore abstract test methods. - [#269](https://togithub.com/CodeNarc/CodeNarc/issues/269): Enhanced the "compilation failed" error message to also include the exception that caused it. - [#380](https://togithub.com/CodeNarc/CodeNarc/issues/380): **JUnitAssertEqualsConstantActualValue** rule: Fix NoClassDefFoundError when JUnit not on the classpath. - [#376](https://togithub.com/CodeNarc/CodeNarc/issues/376): **BracesForMethod** rule: Fix false positive when methods have annotations followed by comment lines. - [#395](https://togithub.com/CodeNarc/CodeNarc/issues/395): **Indentation** rule: Fix false positive when constructor is called in a script method for a class declared in the script ifself. (René Scheibe). - [#374](https://togithub.com/CodeNarc/CodeNarc/issues/374): **TrailingComma** rule. Ignore lists/maps with single elements. Add *ignoreSingleElementList* and *ignoreSingleElementMap*. default to true. Framework and Infrastructure - [#390](https://togithub.com/CodeNarc/CodeNarc/issues/390): CodeNarc command-line: Support `maxPriorityXViolations` command-line arguments. - [#391](https://togithub.com/CodeNarc/CodeNarc/issues/391): Fix line endings in codenarc.groovy to enable running the script via `./codenarc.groovy` in Linux. (René Scheibe) - [#392](https://togithub.com/CodeNarc/CodeNarc/issues/392): Fix compilation of Groovy class in incorrect folder. (René Scheibe) - [#393](https://togithub.com/CodeNarc/CodeNarc/issues/393): Remove obsolete Java placeholder file. (René Scheibe)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.