npm-groovy-lint 9.4.1 → 9.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@
4
4
 
5
5
  - Add your updates here :)
6
6
 
7
+ ## [9.5.0] 2022-04-12
8
+
9
+ - Disable Amplitude anonymous stats by default (use `--insight` to enable them)
10
+
7
11
  ## [9.4.1] 2022-01-22
8
12
 
9
13
  - Upgrade node-sarif-builder to 2.0.1 and send npm-groovy-lint version in SARIF logs
package/README.md CHANGED
@@ -43,32 +43,32 @@ Any **question**, **problem** or **enhancement request** ? Ask [**here**](https:
43
43
  npm-groovy-lint OPTIONS
44
44
  ```
45
45
 
46
- | Parameter | Type | Description |
47
- |-------------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
48
- | -p<br/> --path | String | Directory containing the files to lint<br/> Example: `./path/to/my/groovy/files` |
49
- | -f<br/> --files | String | Comma-separated list of Ant-style file patterns specifying files that must be included.<br/> Default: `"**/*.groovy,**/Jenkinsfile,**/*.gradle"`<br/>Examples:<br/> - `"**/Jenkinsfile"`<br/> - `"**/*.groovy"`<br/> - `"**/*.gradle"`<br/> - `"**/mySingleFile.groovy"` |
50
- | -o<br/> --output | String | Output format (txt,json,sarif,html,xml), or path to a file with one of these extensions<br/> Default: `txt`<br/> Examples:<br/> - `"txt"`<br/> - `"json"`<br/> - `"./logs/myLintResults.txt"`<br/> - `"./logs/myLintResults.sarif"`<br/> - `"./logs/myLintResults.html"`<br/> - `"./logs/myLintResults.xml"` |
51
- | -l<br/> --loglevel | String | Log level (error,warning or info)<br/>Default: info |
52
- | --failon | String | Defines the error level where CLI will fail (return code = 1). error,warning,info or none. Each failure level includes the more critical ones. |
53
- | -c<br/> --config | String | Custom path to [GroovyLint config file](#Configuration), or preset config `recommended|recommended-jenkinsfile|all`<br/> Default: Browse current directory to find `.groovylintrc.json|js|yml|package.json` config file, or default npm-groovy-lint config if not defined.<br/>Note: command-line arguments have priority on config file properties |
54
- | --parse | Boolean | Try to compile the source code and return parse errors (since v5.7.0, default to true, use --no-parse to deactivate) |
55
- | --format | Boolean | Format source code |
56
- | --fix | Boolean | Automatically fix problems when possible<br/> See [Autofixable rules](#Autofixable-rules) |
57
- | -x<br/> --fixrules | String | Option for --fix argument: List of rule identifiers to fix (if not specified, all available fixes will be applied). See [Autofixable rules](#Autofixable-rules) <br/> Examples:<br/> - `"SpaceBeforeClosingBrace,SpaceAfterClosingBrace,UnusedImport"`<br/> - `"Indentation"`<br/> |
58
- | --nolintafter | Boolean | When format or fix is called, a new lint is performed after the fixes to update the returned error list. If you just want the updated source code and do not care about the error logs, use this parameter to improve performances |
59
- | -r<br/> --rulesets | String | [RuleSet file(s)](http://codenarc.github.io/CodeNarc/codenarc-creating-ruleset.html) to use for linting, if you do not want to use recommended rules or .groovylintrc.js defined rules.<br/>If list of comma separated strings corresponding to CodeNarc rules, a RuleSet file will be dynamically generated </br> Examples:<br/> - `"./config/codenarc/RuleSet-Custom.groovy"`<br/> - `"./path/to/my/ruleset/files"`<br/>- `Indentation{"spacesPerIndentLevel":2,"severity":"warning"},UnnecessarySemicolon,UnnecessaryGString` |
60
- | --rulesetsoverridetype | String | If list of rules sent in rulesets option, defines if they replace rules defined in .groovylintrc.json, or if they are appended<br/> Values: `replaceConfig` (default), `appendConfig` |
61
- | -s<br/> --source | String | If path and files are not set, you can directly send the source code string to analyze |
62
- | --verbose | Boolean | More outputs in console, including performed fixes |
63
- | -i<br/> --ignorepattern | String | Comma-separated list of Ant-style file patterns specifying files that must be ignored<br/> Default: none<br/> Example: `"**/test/*""` |
64
- | --noserver | Boolean | npm-groovy-lint launches a microservice to avoid performance issues caused by loading java/groovy each time,that auto kills itself after 1h idle. Use this argument if you do not want to use this feature |
65
- | --returnrules | Boolean | Return rules descriptions and URL if set |
66
- | --javaexecutable | String | Override java executable to use <br/>Default: java<br/>Example: C:\\Program Files\\Java\\jdk1.8.0_144\\bin\\java.exe |
67
- | --javaoptions | String | Override java options to use <br/>Default: "-Xms256m,-Xmx2048m" |
68
- | --no-insight | Boolean | npm-groovy-lint collects anonymous usage statistics using [amplitude](https://www.npmjs.com/package/amplitude), in order to make new improvements based on how users use this package. <br/> Summary charts are available at [https://tinyurl.com/groovy-stats](https://tinyurl.com/groovy-stats).<br/> Analytics obviously does not receive sensitive information like your code, as you can see in [analytics.js](https://github.com/nvuillam/npm-groovy-lint/blob/master/lib/analytics.js).<br/> If you want to disable anonymous usage statistics, use `--no-insight` option. |
69
- | --codenarcargs | String | Use core CodeNarc arguments (all npm-groovy-lint arguments will be ignored)<br/> Doc: <http://codenarc.github.io/CodeNarc/codenarc-command-line.html><br/> Example: `npm-groovy-lint --codenarcargs -basedir="lib/example" -rulesetfiles="file:lib/example/RuleSet-Groovy.groovy" -maxPriority1Violations=0 -report="xml:ReportTestCodenarc.xml` |
70
- | -h<br/> --help | Boolean | Show help (npm-groovy-lint -h OPTIONNAME to see option detail with examples) |
71
- | -v<br/> --version | Boolean | Show npm-groovy-lint version (with CodeNarc version) |
46
+ | Parameter | Type | Description |
47
+ |-------------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
48
+ | -p<br/> --path | String | Directory containing the files to lint<br/> Example: `./path/to/my/groovy/files` |
49
+ | -f<br/> --files | String | Comma-separated list of Ant-style file patterns specifying files that must be included.<br/> Default: `"**/*.groovy,**/Jenkinsfile,**/*.gradle"`<br/>Examples:<br/> - `"**/Jenkinsfile"`<br/> - `"**/*.groovy"`<br/> - `"**/*.gradle"`<br/> - `"**/mySingleFile.groovy"` |
50
+ | -o<br/> --output | String | Output format (txt,json,sarif,html,xml), or path to a file with one of these extensions<br/> Default: `txt`<br/> Examples:<br/> - `"txt"`<br/> - `"json"`<br/> - `"./logs/myLintResults.txt"`<br/> - `"./logs/myLintResults.sarif"`<br/> - `"./logs/myLintResults.html"`<br/> - `"./logs/myLintResults.xml"` |
51
+ | -l<br/> --loglevel | String | Log level (error,warning or info)<br/>Default: info |
52
+ | --failon | String | Defines the error level where CLI will fail (return code = 1). error,warning,info or none. Each failure level includes the more critical ones. |
53
+ | -c<br/> --config | String | Custom path to [GroovyLint config file](#Configuration), or preset config `recommended|recommended-jenkinsfile|all`<br/> Default: Browse current directory to find `.groovylintrc.json|js|yml|package.json` config file, or default npm-groovy-lint config if not defined.<br/>Note: command-line arguments have priority on config file properties |
54
+ | --parse | Boolean | Try to compile the source code and return parse errors (since v5.7.0, default to true, use --no-parse to deactivate) |
55
+ | --format | Boolean | Format source code |
56
+ | --fix | Boolean | Automatically fix problems when possible<br/> See [Autofixable rules](#Autofixable-rules) |
57
+ | -x<br/> --fixrules | String | Option for --fix argument: List of rule identifiers to fix (if not specified, all available fixes will be applied). See [Autofixable rules](#Autofixable-rules) <br/> Examples:<br/> - `"SpaceBeforeClosingBrace,SpaceAfterClosingBrace,UnusedImport"`<br/> - `"Indentation"`<br/> |
58
+ | --nolintafter | Boolean | When format or fix is called, a new lint is performed after the fixes to update the returned error list. If you just want the updated source code and do not care about the error logs, use this parameter to improve performances |
59
+ | -r<br/> --rulesets | String | [RuleSet file(s)](http://codenarc.github.io/CodeNarc/codenarc-creating-ruleset.html) to use for linting, if you do not want to use recommended rules or .groovylintrc.js defined rules.<br/>If list of comma separated strings corresponding to CodeNarc rules, a RuleSet file will be dynamically generated </br> Examples:<br/> - `"./config/codenarc/RuleSet-Custom.groovy"`<br/> - `"./path/to/my/ruleset/files"`<br/>- `Indentation{"spacesPerIndentLevel":2,"severity":"warning"},UnnecessarySemicolon,UnnecessaryGString` |
60
+ | --rulesetsoverridetype | String | If list of rules sent in rulesets option, defines if they replace rules defined in .groovylintrc.json, or if they are appended<br/> Values: `replaceConfig` (default), `appendConfig` |
61
+ | -s<br/> --source | String | If path and files are not set, you can directly send the source code string to analyze |
62
+ | --verbose | Boolean | More outputs in console, including performed fixes |
63
+ | -i<br/> --ignorepattern | String | Comma-separated list of Ant-style file patterns specifying files that must be ignored<br/> Default: none<br/> Example: `"**/test/*""` |
64
+ | --noserver | Boolean | npm-groovy-lint launches a microservice to avoid performance issues caused by loading java/groovy each time,that auto kills itself after 1h idle. Use this argument if you do not want to use this feature |
65
+ | --returnrules | Boolean | Return rules descriptions and URL if set |
66
+ | --javaexecutable | String | Override java executable to use <br/>Default: java<br/>Example: C:\\Program Files\\Java\\jdk1.8.0_144\\bin\\java.exe |
67
+ | --javaoptions | String | Override java options to use <br/>Default: "-Xms256m,-Xmx2048m" |
68
+ | --insight | Boolean | npm-groovy-lint collects anonymous usage statistics using [amplitude](https://www.npmjs.com/package/amplitude), in order to make new improvements based on how users use this package. <br/> Summary charts are available at [https://tinyurl.com/groovy-stats](https://tinyurl.com/groovy-stats).<br/> Analytics obviously does not receive sensitive information like your code, as you can see in [analytics.js](https://github.com/nvuillam/npm-groovy-lint/blob/master/lib/analytics.js).<br/> If you want to enable anonymous usage statistics, use `--insight` option. |
69
+ | --codenarcargs | String | Use core CodeNarc arguments (all npm-groovy-lint arguments will be ignored)<br/> Doc: <http://codenarc.github.io/CodeNarc/codenarc-command-line.html><br/> Example: `npm-groovy-lint --codenarcargs -basedir="lib/example" -rulesetfiles="file:lib/example/RuleSet-Groovy.groovy" -maxPriority1Violations=0 -report="xml:ReportTestCodenarc.xml` |
70
+ | -h<br/> --help | Boolean | Show help (npm-groovy-lint -h OPTIONNAME to see option detail with examples) |
71
+ | -v<br/> --version | Boolean | Show npm-groovy-lint version (with CodeNarc version) |
72
72
 
73
73
  ## Installation
74
74
 
@@ -92,7 +92,7 @@ Create a file named **.groovylintrc.json** in the current or any parent director
92
92
  - Jenkinsfile
93
93
  - **.groovylintrc.json** _(do not forget the dot at the beginning of the file name)_
94
94
 
95
- *If you are using [VsCode Groovy Lint extension](https://marketplace.visualstudio.com/items?itemName=NicolasVuillamy.vscode-groovy-lint), just use QuickFix* ***Ignore in all files*** *and it will generate groovylintrc.json file*
95
+ *If you are using [VsCode Groovy Lint extension](https://marketplace.visualstudio.com/items?itemName=NicolasVuillamy.vscode-groovy-lint), just use QuickFix* ***Ignore in all files*** _and it will generate groovylintrc.json file_
96
96
 
97
97
  ### Format
98
98
 
@@ -1,395 +1,395 @@
1
1
  {
2
- "rules": {
3
- "basic.AssertWithinFinallyBlock": {},
4
- "basic.AssignmentInConditional": {},
5
- "basic.BigDecimalInstantiation": {},
6
- "basic.BitwiseOperatorInConditional": {},
7
- "basic.BooleanGetBoolean": {},
8
- "basic.BrokenNullCheck": {},
9
- "basic.BrokenOddnessCheck": {},
10
- "basic.ClassForName": {},
11
- "basic.ComparisonOfTwoConstants": {},
12
- "basic.ComparisonWithSelf": {},
13
- "basic.ConstantAssertExpression": {},
14
- "basic.ConstantIfExpression": {},
15
- "basic.ConstantTernaryExpression": {},
16
- "basic.DeadCode": {},
17
- "basic.DoubleNegative": {},
18
- "basic.DuplicateCaseStatement": {},
19
- "basic.DuplicateMapKey": {},
20
- "basic.DuplicateSetValue": {},
21
- "basic.EmptyCatchBlock": {},
22
- "basic.EmptyClass": {},
23
- "basic.EmptyElseBlock": {},
24
- "basic.EmptyFinallyBlock": {},
25
- "basic.EmptyForStatement": {},
26
- "basic.EmptyIfStatement": {},
27
- "basic.EmptyInstanceInitializer": {},
28
- "basic.EmptyMethod": {},
29
- "basic.EmptyStaticInitializer": {},
30
- "basic.EmptySwitchStatement": {},
31
- "basic.EmptySynchronizedStatement": {},
32
- "basic.EmptyTryBlock": {},
33
- "basic.EmptyWhileStatement": {},
34
- "basic.EqualsAndHashCode": {},
35
- "basic.EqualsOverloaded": {},
36
- "basic.ExplicitGarbageCollection": {},
37
- "basic.ForLoopShouldBeWhileLoop": {},
38
- "basic.HardCodedWindowsFileSeparator": {},
39
- "basic.HardCodedWindowsRootDirectory": {},
40
- "basic.IntegerGetInteger": {},
41
- "basic.MultipleUnaryOperators": {},
42
- "basic.ParameterAssignmentInFilterClosure": {},
43
- "basic.RandomDoubleCoercedToZero": {},
44
- "basic.RemoveAllOnSelf": {},
45
- "basic.ReturnFromFinallyBlock": {},
46
- "basic.ThrowExceptionFromFinallyBlock": {},
47
- "braces.ElseBlockBraces": {},
48
- "braces.ForStatementBraces": {},
49
- "braces.IfStatementBraces": {},
50
- "braces.WhileStatementBraces": {},
51
- "comments.ClassJavadoc": {},
52
- "comments.JavadocConsecutiveEmptyLines": {},
53
- "comments.JavadocEmptyAuthorTag": {},
54
- "comments.JavadocEmptyExceptionTag": {},
55
- "comments.JavadocEmptyFirstLine": {},
56
- "comments.JavadocEmptyLastLine": {},
57
- "comments.JavadocEmptyParamTag": {},
58
- "comments.JavadocEmptyReturnTag": {},
59
- "comments.JavadocEmptySeeTag": {},
60
- "comments.JavadocEmptySinceTag": {},
61
- "comments.JavadocEmptyThrowsTag": {},
62
- "comments.JavadocEmptyVersionTag": {},
63
- "comments.JavadocMissingExceptionDescription": {},
64
- "comments.JavadocMissingParamDescription": {},
65
- "comments.JavadocMissingThrowsDescription": {},
66
- "concurrency.BusyWait": {},
67
- "concurrency.DoubleCheckedLocking": {},
68
- "concurrency.InconsistentPropertyLocking": {},
69
- "concurrency.InconsistentPropertySynchronization": {},
70
- "concurrency.NestedSynchronization": {},
71
- "concurrency.StaticCalendarField": {},
72
- "concurrency.StaticConnection": {},
73
- "concurrency.StaticDateFormatField": {},
74
- "concurrency.StaticMatcherField": {},
75
- "concurrency.StaticSimpleDateFormatField": {},
76
- "concurrency.SynchronizedMethod": {},
77
- "concurrency.SynchronizedOnBoxedPrimitive": {},
78
- "concurrency.SynchronizedOnGetClass": {},
79
- "concurrency.SynchronizedOnReentrantLock": {},
80
- "concurrency.SynchronizedOnString": {},
81
- "concurrency.SynchronizedOnThis": {},
82
- "concurrency.SynchronizedReadObjectMethod": {},
83
- "concurrency.SystemRunFinalizersOnExit": {},
84
- "concurrency.ThisReferenceEscapesConstructor": {},
85
- "concurrency.ThreadGroup": {},
86
- "concurrency.ThreadLocalNotStaticFinal": {},
87
- "concurrency.ThreadYield": {},
88
- "concurrency.UseOfNotifyMethod": {},
89
- "concurrency.VolatileArrayField": {},
90
- "concurrency.VolatileLongOrDoubleField": {},
91
- "concurrency.WaitOutsideOfWhileLoop": {},
92
- "convention.CompileStatic": {},
93
- "convention.ConfusingTernary": {},
94
- "convention.CouldBeElvis": {},
95
- "convention.CouldBeSwitchStatement": {},
96
- "convention.FieldTypeRequired": {},
97
- "convention.HashtableIsObsolete": {},
98
- "convention.IfStatementCouldBeTernary": {},
99
- "convention.ImplicitClosureParameter": {},
100
- "convention.ImplicitReturnStatement": {},
101
- "convention.InvertedCondition": {},
102
- "convention.InvertedIfElse": {},
103
- "convention.LongLiteralWithLowerCaseL": {},
104
- "convention.MethodParameterTypeRequired": {},
105
- "convention.MethodReturnTypeRequired": {},
106
- "convention.NoDef": {},
107
- "convention.NoDouble": {},
108
- "convention.NoFloat": {},
109
- "convention.NoJavaUtilDate": {},
110
- "convention.NoTabCharacter": {},
111
- "convention.ParameterReassignment": {},
112
- "convention.PublicMethodsBeforeNonPublicMethods": {},
113
- "convention.StaticFieldsBeforeInstanceFields": {},
114
- "convention.StaticMethodsBeforeInstanceMethods": {},
115
- "convention.TernaryCouldBeElvis": {},
116
- "convention.TrailingComma": {},
117
- "convention.VariableTypeRequired": {},
118
- "convention.VectorIsObsolete": {},
119
- "design.AbstractClassWithPublicConstructor": {},
120
- "design.AbstractClassWithoutAbstractMethod": {},
121
- "design.AssignmentToStaticFieldFromInstanceMethod": {},
122
- "design.BooleanMethodReturnsNull": {},
123
- "design.BuilderMethodWithSideEffects": {},
124
- "design.CloneableWithoutClone": {},
125
- "design.CloseWithoutCloseable": {},
126
- "design.CompareToWithoutComparable": {},
127
- "design.ConstantsOnlyInterface": {},
128
- "design.EmptyMethodInAbstractClass": {},
129
- "design.FinalClassWithProtectedMember": {},
130
- "design.ImplementationAsType": {},
131
- "design.Instanceof": {},
132
- "design.LocaleSetDefault": {},
133
- "design.NestedForLoop": {},
134
- "design.OptionalCollectionReturnType": {},
135
- "design.OptionalField": {},
136
- "design.OptionalMethodParameter": {},
137
- "design.PrivateFieldCouldBeFinal": {},
138
- "design.PublicInstanceField": {},
139
- "design.ReturnsNullInsteadOfEmptyArray": {},
140
- "design.ReturnsNullInsteadOfEmptyCollection": {},
141
- "design.SimpleDateFormatMissingLocale": {},
142
- "design.StatelessSingleton": {},
143
- "design.ToStringReturnsNull": {},
144
- "dry.DuplicateListLiteral": {},
145
- "dry.DuplicateMapLiteral": {},
146
- "dry.DuplicateNumberLiteral": {},
147
- "dry.DuplicateStringLiteral": {},
148
- "enhanced.CloneWithoutCloneable": {},
149
- "enhanced.JUnitAssertEqualsConstantActualValue": {},
150
- "enhanced.MissingOverrideAnnotation": {},
151
- "enhanced.UnsafeImplementationAsMap": {},
152
- "exceptions.CatchArrayIndexOutOfBoundsException": {},
153
- "exceptions.CatchError": {},
154
- "exceptions.CatchException": {},
155
- "exceptions.CatchIllegalMonitorStateException": {},
156
- "exceptions.CatchIndexOutOfBoundsException": {},
157
- "exceptions.CatchNullPointerException": {},
158
- "exceptions.CatchRuntimeException": {},
159
- "exceptions.CatchThrowable": {},
160
- "exceptions.ConfusingClassNamedException": {},
161
- "exceptions.ExceptionExtendsError": {},
162
- "exceptions.ExceptionExtendsThrowable": {},
163
- "exceptions.ExceptionNotThrown": {},
164
- "exceptions.MissingNewInThrowStatement": {},
165
- "exceptions.ReturnNullFromCatchBlock": {},
166
- "exceptions.SwallowThreadDeath": {},
167
- "exceptions.ThrowError": {},
168
- "exceptions.ThrowException": {},
169
- "exceptions.ThrowNullPointerException": {},
170
- "exceptions.ThrowRuntimeException": {},
171
- "exceptions.ThrowThrowable": {},
172
- "formatting.BlankLineBeforePackage": {},
173
- "formatting.BlockEndsWithBlankLine": {},
174
- "formatting.BlockStartsWithBlankLine": {},
175
- "formatting.BracesForClass": {},
176
- "formatting.BracesForForLoop": {},
177
- "formatting.BracesForIfElse": {},
178
- "formatting.BracesForMethod": {},
179
- "formatting.BracesForTryCatchFinally": {},
180
- "formatting.ClassEndsWithBlankLine": {},
181
- "formatting.ClassStartsWithBlankLine": {},
182
- "formatting.ClosureStatementOnOpeningLineOfMultipleLineClosure": {},
183
- "formatting.ConsecutiveBlankLines": {},
184
- "formatting.FileEndsWithoutNewline": {},
185
- "formatting.Indentation": {},
186
- "formatting.LineLength": {},
187
- "formatting.MissingBlankLineAfterImports": {},
188
- "formatting.MissingBlankLineAfterPackage": {},
189
- "formatting.MissingBlankLineBeforeAnnotatedField": {},
190
- "formatting.SpaceAfterCatch": {},
191
- "formatting.SpaceAfterClosingBrace": {},
192
- "formatting.SpaceAfterComma": {},
193
- "formatting.SpaceAfterFor": {},
194
- "formatting.SpaceAfterIf": {},
195
- "formatting.SpaceAfterMethodCallName": {},
196
- "formatting.SpaceAfterMethodDeclarationName": {},
197
- "formatting.SpaceAfterNotOperator": {},
198
- "formatting.SpaceAfterOpeningBrace": {},
199
- "formatting.SpaceAfterSemicolon": {},
200
- "formatting.SpaceAfterSwitch": {},
201
- "formatting.SpaceAfterWhile": {},
202
- "formatting.SpaceAroundClosureArrow": {},
203
- "formatting.SpaceAroundMapEntryColon": {},
204
- "formatting.SpaceAroundOperator": {},
205
- "formatting.SpaceBeforeClosingBrace": {},
206
- "formatting.SpaceBeforeOpeningBrace": {},
207
- "formatting.SpaceInsideParentheses": {},
208
- "formatting.TrailingWhitespace": {},
209
- "generic.IllegalClassMember": {},
210
- "generic.IllegalClassReference": {},
211
- "generic.IllegalPackageReference": {},
212
- "generic.IllegalRegex": {},
213
- "generic.IllegalString": {},
214
- "generic.IllegalSubclass": {},
215
- "generic.RequiredRegex": {},
216
- "generic.RequiredString": {},
217
- "generic.StatelessClass": {},
218
- "grails.GrailsDomainGormMethods": {},
219
- "grails.GrailsDomainHasEquals": {},
220
- "grails.GrailsDomainHasToString": {},
221
- "grails.GrailsDomainReservedSqlKeywordName": {},
222
- "grails.GrailsDomainStringPropertyMaxSize": {},
223
- "grails.GrailsDomainWithServiceReference": {},
224
- "grails.GrailsDuplicateConstraint": {},
225
- "grails.GrailsDuplicateMapping": {},
226
- "grails.GrailsMassAssignment": {},
227
- "grails.GrailsPublicControllerMethod": {},
228
- "grails.GrailsServletContextReference": {},
229
- "grails.GrailsStatelessService": {},
230
- "groovyism.AssignCollectionSort": {},
231
- "groovyism.AssignCollectionUnique": {},
232
- "groovyism.ClosureAsLastMethodParameter": {},
233
- "groovyism.CollectAllIsDeprecated": {},
234
- "groovyism.ConfusingMultipleReturns": {},
235
- "groovyism.ExplicitArrayListInstantiation": {},
236
- "groovyism.ExplicitCallToAndMethod": {},
237
- "groovyism.ExplicitCallToCompareToMethod": {},
238
- "groovyism.ExplicitCallToDivMethod": {},
239
- "groovyism.ExplicitCallToEqualsMethod": {},
240
- "groovyism.ExplicitCallToGetAtMethod": {},
241
- "groovyism.ExplicitCallToLeftShiftMethod": {},
242
- "groovyism.ExplicitCallToMinusMethod": {},
243
- "groovyism.ExplicitCallToModMethod": {},
244
- "groovyism.ExplicitCallToMultiplyMethod": {},
245
- "groovyism.ExplicitCallToOrMethod": {},
246
- "groovyism.ExplicitCallToPlusMethod": {},
247
- "groovyism.ExplicitCallToPowerMethod": {},
248
- "groovyism.ExplicitCallToPutAtMethod": {},
249
- "groovyism.ExplicitCallToRightShiftMethod": {},
250
- "groovyism.ExplicitCallToXorMethod": {},
251
- "groovyism.ExplicitHashMapInstantiation": {},
252
- "groovyism.ExplicitHashSetInstantiation": {},
253
- "groovyism.ExplicitLinkedHashMapInstantiation": {},
254
- "groovyism.ExplicitLinkedListInstantiation": {},
255
- "groovyism.ExplicitStackInstantiation": {},
256
- "groovyism.ExplicitTreeSetInstantiation": {},
257
- "groovyism.GStringAsMapKey": {},
258
- "groovyism.GStringExpressionWithinString": {},
259
- "groovyism.GetterMethodCouldBeProperty": {},
260
- "groovyism.GroovyLangImmutable": {},
261
- "groovyism.UseCollectMany": {},
262
- "groovyism.UseCollectNested": {},
263
- "imports.DuplicateImport": {},
264
- "imports.ImportFromSamePackage": {},
265
- "imports.ImportFromSunPackages": {},
266
- "imports.MisorderedStaticImports": {},
267
- "imports.NoWildcardImports": {},
268
- "imports.UnnecessaryGroovyImport": {},
269
- "imports.UnusedImport": {},
270
- "jdbc.DirectConnectionManagement": {},
271
- "jdbc.JdbcConnectionReference": {},
272
- "jdbc.JdbcResultSetReference": {},
273
- "jdbc.JdbcStatementReference": {},
274
- "junit.ChainedTest": {},
275
- "junit.CoupledTestCase": {},
276
- "junit.JUnitAssertAlwaysFails": {},
277
- "junit.JUnitAssertAlwaysSucceeds": {},
278
- "junit.JUnitFailWithoutMessage": {},
279
- "junit.JUnitLostTest": {},
280
- "junit.JUnitPublicField": {},
281
- "junit.JUnitPublicNonTestMethod": {},
282
- "junit.JUnitPublicProperty": {},
283
- "junit.JUnitSetUpCallsSuper": {},
284
- "junit.JUnitStyleAssertions": {},
285
- "junit.JUnitTearDownCallsSuper": {},
286
- "junit.JUnitTestMethodWithoutAssert": {},
287
- "junit.JUnitUnnecessarySetUp": {},
288
- "junit.JUnitUnnecessaryTearDown": {},
289
- "junit.JUnitUnnecessaryThrowsException": {},
290
- "junit.SpockIgnoreRestUsed": {},
291
- "junit.UnnecessaryFail": {},
292
- "junit.UseAssertEqualsInsteadOfAssertTrue": {},
293
- "junit.UseAssertFalseInsteadOfNegation": {},
294
- "junit.UseAssertNullInsteadOfAssertEquals": {},
295
- "junit.UseAssertSameInsteadOfAssertTrue": {},
296
- "junit.UseAssertTrueInsteadOfAssertEquals": {},
297
- "junit.UseAssertTrueInsteadOfNegation": {},
298
- "logging.LoggerForDifferentClass": {},
299
- "logging.LoggerWithWrongModifiers": {},
300
- "logging.LoggingSwallowsStacktrace": {},
301
- "logging.MultipleLoggers": {},
302
- "logging.PrintStackTrace": {},
303
- "logging.Println": {},
304
- "logging.SystemErrPrint": {},
305
- "logging.SystemOutPrint": {},
306
- "naming.AbstractClassName": {},
307
- "naming.ClassName": {},
308
- "naming.ClassNameSameAsFilename": {},
309
- "naming.ClassNameSameAsSuperclass": {},
310
- "naming.ConfusingMethodName": {},
311
- "naming.FactoryMethodName": {},
312
- "naming.FieldName": {},
313
- "naming.InterfaceName": {},
314
- "naming.InterfaceNameSameAsSuperInterface": {},
315
- "naming.MethodName": {},
316
- "naming.ObjectOverrideMisspelledMethodName": {},
317
- "naming.PackageName": {},
318
- "naming.PackageNameMatchesFilePath": {},
319
- "naming.ParameterName": {},
320
- "naming.PropertyName": {},
321
- "naming.VariableName": {},
322
- "security.FileCreateTempFile": {},
323
- "security.InsecureRandom": {},
324
- "security.JavaIoPackageAccess": {},
325
- "security.NonFinalPublicField": {},
326
- "security.NonFinalSubclassOfSensitiveInterface": {},
327
- "security.ObjectFinalize": {},
328
- "security.PublicFinalizeMethod": {},
329
- "security.SystemExit": {},
330
- "security.UnsafeArrayDeclaration": {},
331
- "serialization.EnumCustomSerializationIgnored": {},
332
- "serialization.SerialPersistentFields": {},
333
- "serialization.SerialVersionUID": {},
334
- "serialization.SerializableClassMustDefineSerialVersionUID": {},
335
- "size.ClassSize": {},
336
- "size.MethodCount": {},
337
- "size.MethodSize": {},
338
- "size.NestedBlockDepth": {},
339
- "size.ParameterCount": {},
340
- "unnecessary.AddEmptyString": {},
341
- "unnecessary.ConsecutiveLiteralAppends": {},
342
- "unnecessary.ConsecutiveStringConcatenation": {},
343
- "unnecessary.UnnecessaryBigDecimalInstantiation": {},
344
- "unnecessary.UnnecessaryBigIntegerInstantiation": {},
345
- "unnecessary.UnnecessaryBooleanExpression": {},
346
- "unnecessary.UnnecessaryBooleanInstantiation": {},
347
- "unnecessary.UnnecessaryCallForLastElement": {},
348
- "unnecessary.UnnecessaryCallToSubstring": {},
349
- "unnecessary.UnnecessaryCast": {},
350
- "unnecessary.UnnecessaryCatchBlock": {},
351
- "unnecessary.UnnecessaryCollectCall": {},
352
- "unnecessary.UnnecessaryCollectionCall": {},
353
- "unnecessary.UnnecessaryConstructor": {},
354
- "unnecessary.UnnecessaryDefInFieldDeclaration": {},
355
- "unnecessary.UnnecessaryDefInMethodDeclaration": {},
356
- "unnecessary.UnnecessaryDefInVariableDeclaration": {},
357
- "unnecessary.UnnecessaryDotClass": {},
358
- "unnecessary.UnnecessaryDoubleInstantiation": {},
359
- "unnecessary.UnnecessaryElseStatement": {},
360
- "unnecessary.UnnecessaryFinalOnPrivateMethod": {},
361
- "unnecessary.UnnecessaryFloatInstantiation": {},
362
- "unnecessary.UnnecessaryGString": {},
363
- "unnecessary.UnnecessaryGetter": {},
364
- "unnecessary.UnnecessaryIfStatement": {},
365
- "unnecessary.UnnecessaryInstanceOfCheck": {},
366
- "unnecessary.UnnecessaryInstantiationToGetClass": {},
367
- "unnecessary.UnnecessaryIntegerInstantiation": {},
368
- "unnecessary.UnnecessaryLongInstantiation": {},
369
- "unnecessary.UnnecessaryModOne": {},
370
- "unnecessary.UnnecessaryNullCheck": {},
371
- "unnecessary.UnnecessaryNullCheckBeforeInstanceOf": {},
372
- "unnecessary.UnnecessaryObjectReferences": {},
373
- "unnecessary.UnnecessaryOverridingMethod": {},
374
- "unnecessary.UnnecessaryPackageReference": {},
375
- "unnecessary.UnnecessaryParenthesesForMethodCallWithClosure": {},
376
- "unnecessary.UnnecessaryPublicModifier": {},
377
- "unnecessary.UnnecessaryReturnKeyword": {},
378
- "unnecessary.UnnecessarySafeNavigationOperator": {},
379
- "unnecessary.UnnecessarySelfAssignment": {},
380
- "unnecessary.UnnecessarySemicolon": {},
381
- "unnecessary.UnnecessarySetter": {},
382
- "unnecessary.UnnecessaryStringInstantiation": {},
383
- "unnecessary.UnnecessarySubstring": {},
384
- "unnecessary.UnnecessaryTernaryExpression": {},
385
- "unnecessary.UnnecessaryToString": {},
386
- "unnecessary.UnnecessaryTransientModifier": {},
387
- "unused.UnusedArray": {},
388
- "unused.UnusedMethodParameter": {},
389
- "unused.UnusedObject": {},
390
- "unused.UnusedPrivateField": {},
391
- "unused.UnusedPrivateMethod": {},
392
- "unused.UnusedPrivateMethodParameter": {},
393
- "unused.UnusedVariable": {}
394
- }
395
- }
2
+ "rules": {
3
+ "basic.AssertWithinFinallyBlock": {},
4
+ "basic.AssignmentInConditional": {},
5
+ "basic.BigDecimalInstantiation": {},
6
+ "basic.BitwiseOperatorInConditional": {},
7
+ "basic.BooleanGetBoolean": {},
8
+ "basic.BrokenNullCheck": {},
9
+ "basic.BrokenOddnessCheck": {},
10
+ "basic.ClassForName": {},
11
+ "basic.ComparisonOfTwoConstants": {},
12
+ "basic.ComparisonWithSelf": {},
13
+ "basic.ConstantAssertExpression": {},
14
+ "basic.ConstantIfExpression": {},
15
+ "basic.ConstantTernaryExpression": {},
16
+ "basic.DeadCode": {},
17
+ "basic.DoubleNegative": {},
18
+ "basic.DuplicateCaseStatement": {},
19
+ "basic.DuplicateMapKey": {},
20
+ "basic.DuplicateSetValue": {},
21
+ "basic.EmptyCatchBlock": {},
22
+ "basic.EmptyClass": {},
23
+ "basic.EmptyElseBlock": {},
24
+ "basic.EmptyFinallyBlock": {},
25
+ "basic.EmptyForStatement": {},
26
+ "basic.EmptyIfStatement": {},
27
+ "basic.EmptyInstanceInitializer": {},
28
+ "basic.EmptyMethod": {},
29
+ "basic.EmptyStaticInitializer": {},
30
+ "basic.EmptySwitchStatement": {},
31
+ "basic.EmptySynchronizedStatement": {},
32
+ "basic.EmptyTryBlock": {},
33
+ "basic.EmptyWhileStatement": {},
34
+ "basic.EqualsAndHashCode": {},
35
+ "basic.EqualsOverloaded": {},
36
+ "basic.ExplicitGarbageCollection": {},
37
+ "basic.ForLoopShouldBeWhileLoop": {},
38
+ "basic.HardCodedWindowsFileSeparator": {},
39
+ "basic.HardCodedWindowsRootDirectory": {},
40
+ "basic.IntegerGetInteger": {},
41
+ "basic.MultipleUnaryOperators": {},
42
+ "basic.ParameterAssignmentInFilterClosure": {},
43
+ "basic.RandomDoubleCoercedToZero": {},
44
+ "basic.RemoveAllOnSelf": {},
45
+ "basic.ReturnFromFinallyBlock": {},
46
+ "basic.ThrowExceptionFromFinallyBlock": {},
47
+ "braces.ElseBlockBraces": {},
48
+ "braces.ForStatementBraces": {},
49
+ "braces.IfStatementBraces": {},
50
+ "braces.WhileStatementBraces": {},
51
+ "comments.ClassJavadoc": {},
52
+ "comments.JavadocConsecutiveEmptyLines": {},
53
+ "comments.JavadocEmptyAuthorTag": {},
54
+ "comments.JavadocEmptyExceptionTag": {},
55
+ "comments.JavadocEmptyFirstLine": {},
56
+ "comments.JavadocEmptyLastLine": {},
57
+ "comments.JavadocEmptyParamTag": {},
58
+ "comments.JavadocEmptyReturnTag": {},
59
+ "comments.JavadocEmptySeeTag": {},
60
+ "comments.JavadocEmptySinceTag": {},
61
+ "comments.JavadocEmptyThrowsTag": {},
62
+ "comments.JavadocEmptyVersionTag": {},
63
+ "comments.JavadocMissingExceptionDescription": {},
64
+ "comments.JavadocMissingParamDescription": {},
65
+ "comments.JavadocMissingThrowsDescription": {},
66
+ "concurrency.BusyWait": {},
67
+ "concurrency.DoubleCheckedLocking": {},
68
+ "concurrency.InconsistentPropertyLocking": {},
69
+ "concurrency.InconsistentPropertySynchronization": {},
70
+ "concurrency.NestedSynchronization": {},
71
+ "concurrency.StaticCalendarField": {},
72
+ "concurrency.StaticConnection": {},
73
+ "concurrency.StaticDateFormatField": {},
74
+ "concurrency.StaticMatcherField": {},
75
+ "concurrency.StaticSimpleDateFormatField": {},
76
+ "concurrency.SynchronizedMethod": {},
77
+ "concurrency.SynchronizedOnBoxedPrimitive": {},
78
+ "concurrency.SynchronizedOnGetClass": {},
79
+ "concurrency.SynchronizedOnReentrantLock": {},
80
+ "concurrency.SynchronizedOnString": {},
81
+ "concurrency.SynchronizedOnThis": {},
82
+ "concurrency.SynchronizedReadObjectMethod": {},
83
+ "concurrency.SystemRunFinalizersOnExit": {},
84
+ "concurrency.ThisReferenceEscapesConstructor": {},
85
+ "concurrency.ThreadGroup": {},
86
+ "concurrency.ThreadLocalNotStaticFinal": {},
87
+ "concurrency.ThreadYield": {},
88
+ "concurrency.UseOfNotifyMethod": {},
89
+ "concurrency.VolatileArrayField": {},
90
+ "concurrency.VolatileLongOrDoubleField": {},
91
+ "concurrency.WaitOutsideOfWhileLoop": {},
92
+ "convention.CompileStatic": {},
93
+ "convention.ConfusingTernary": {},
94
+ "convention.CouldBeElvis": {},
95
+ "convention.CouldBeSwitchStatement": {},
96
+ "convention.FieldTypeRequired": {},
97
+ "convention.HashtableIsObsolete": {},
98
+ "convention.IfStatementCouldBeTernary": {},
99
+ "convention.ImplicitClosureParameter": {},
100
+ "convention.ImplicitReturnStatement": {},
101
+ "convention.InvertedCondition": {},
102
+ "convention.InvertedIfElse": {},
103
+ "convention.LongLiteralWithLowerCaseL": {},
104
+ "convention.MethodParameterTypeRequired": {},
105
+ "convention.MethodReturnTypeRequired": {},
106
+ "convention.NoDef": {},
107
+ "convention.NoDouble": {},
108
+ "convention.NoFloat": {},
109
+ "convention.NoJavaUtilDate": {},
110
+ "convention.NoTabCharacter": {},
111
+ "convention.ParameterReassignment": {},
112
+ "convention.PublicMethodsBeforeNonPublicMethods": {},
113
+ "convention.StaticFieldsBeforeInstanceFields": {},
114
+ "convention.StaticMethodsBeforeInstanceMethods": {},
115
+ "convention.TernaryCouldBeElvis": {},
116
+ "convention.TrailingComma": {},
117
+ "convention.VariableTypeRequired": {},
118
+ "convention.VectorIsObsolete": {},
119
+ "design.AbstractClassWithPublicConstructor": {},
120
+ "design.AbstractClassWithoutAbstractMethod": {},
121
+ "design.AssignmentToStaticFieldFromInstanceMethod": {},
122
+ "design.BooleanMethodReturnsNull": {},
123
+ "design.BuilderMethodWithSideEffects": {},
124
+ "design.CloneableWithoutClone": {},
125
+ "design.CloseWithoutCloseable": {},
126
+ "design.CompareToWithoutComparable": {},
127
+ "design.ConstantsOnlyInterface": {},
128
+ "design.EmptyMethodInAbstractClass": {},
129
+ "design.FinalClassWithProtectedMember": {},
130
+ "design.ImplementationAsType": {},
131
+ "design.Instanceof": {},
132
+ "design.LocaleSetDefault": {},
133
+ "design.NestedForLoop": {},
134
+ "design.OptionalCollectionReturnType": {},
135
+ "design.OptionalField": {},
136
+ "design.OptionalMethodParameter": {},
137
+ "design.PrivateFieldCouldBeFinal": {},
138
+ "design.PublicInstanceField": {},
139
+ "design.ReturnsNullInsteadOfEmptyArray": {},
140
+ "design.ReturnsNullInsteadOfEmptyCollection": {},
141
+ "design.SimpleDateFormatMissingLocale": {},
142
+ "design.StatelessSingleton": {},
143
+ "design.ToStringReturnsNull": {},
144
+ "dry.DuplicateListLiteral": {},
145
+ "dry.DuplicateMapLiteral": {},
146
+ "dry.DuplicateNumberLiteral": {},
147
+ "dry.DuplicateStringLiteral": {},
148
+ "enhanced.CloneWithoutCloneable": {},
149
+ "enhanced.JUnitAssertEqualsConstantActualValue": {},
150
+ "enhanced.MissingOverrideAnnotation": {},
151
+ "enhanced.UnsafeImplementationAsMap": {},
152
+ "exceptions.CatchArrayIndexOutOfBoundsException": {},
153
+ "exceptions.CatchError": {},
154
+ "exceptions.CatchException": {},
155
+ "exceptions.CatchIllegalMonitorStateException": {},
156
+ "exceptions.CatchIndexOutOfBoundsException": {},
157
+ "exceptions.CatchNullPointerException": {},
158
+ "exceptions.CatchRuntimeException": {},
159
+ "exceptions.CatchThrowable": {},
160
+ "exceptions.ConfusingClassNamedException": {},
161
+ "exceptions.ExceptionExtendsError": {},
162
+ "exceptions.ExceptionExtendsThrowable": {},
163
+ "exceptions.ExceptionNotThrown": {},
164
+ "exceptions.MissingNewInThrowStatement": {},
165
+ "exceptions.ReturnNullFromCatchBlock": {},
166
+ "exceptions.SwallowThreadDeath": {},
167
+ "exceptions.ThrowError": {},
168
+ "exceptions.ThrowException": {},
169
+ "exceptions.ThrowNullPointerException": {},
170
+ "exceptions.ThrowRuntimeException": {},
171
+ "exceptions.ThrowThrowable": {},
172
+ "formatting.BlankLineBeforePackage": {},
173
+ "formatting.BlockEndsWithBlankLine": {},
174
+ "formatting.BlockStartsWithBlankLine": {},
175
+ "formatting.BracesForClass": {},
176
+ "formatting.BracesForForLoop": {},
177
+ "formatting.BracesForIfElse": {},
178
+ "formatting.BracesForMethod": {},
179
+ "formatting.BracesForTryCatchFinally": {},
180
+ "formatting.ClassEndsWithBlankLine": {},
181
+ "formatting.ClassStartsWithBlankLine": {},
182
+ "formatting.ClosureStatementOnOpeningLineOfMultipleLineClosure": {},
183
+ "formatting.ConsecutiveBlankLines": {},
184
+ "formatting.FileEndsWithoutNewline": {},
185
+ "formatting.Indentation": {},
186
+ "formatting.LineLength": {},
187
+ "formatting.MissingBlankLineAfterImports": {},
188
+ "formatting.MissingBlankLineAfterPackage": {},
189
+ "formatting.MissingBlankLineBeforeAnnotatedField": {},
190
+ "formatting.SpaceAfterCatch": {},
191
+ "formatting.SpaceAfterClosingBrace": {},
192
+ "formatting.SpaceAfterComma": {},
193
+ "formatting.SpaceAfterFor": {},
194
+ "formatting.SpaceAfterIf": {},
195
+ "formatting.SpaceAfterMethodCallName": {},
196
+ "formatting.SpaceAfterMethodDeclarationName": {},
197
+ "formatting.SpaceAfterNotOperator": {},
198
+ "formatting.SpaceAfterOpeningBrace": {},
199
+ "formatting.SpaceAfterSemicolon": {},
200
+ "formatting.SpaceAfterSwitch": {},
201
+ "formatting.SpaceAfterWhile": {},
202
+ "formatting.SpaceAroundClosureArrow": {},
203
+ "formatting.SpaceAroundMapEntryColon": {},
204
+ "formatting.SpaceAroundOperator": {},
205
+ "formatting.SpaceBeforeClosingBrace": {},
206
+ "formatting.SpaceBeforeOpeningBrace": {},
207
+ "formatting.SpaceInsideParentheses": {},
208
+ "formatting.TrailingWhitespace": {},
209
+ "generic.IllegalClassMember": {},
210
+ "generic.IllegalClassReference": {},
211
+ "generic.IllegalPackageReference": {},
212
+ "generic.IllegalRegex": {},
213
+ "generic.IllegalString": {},
214
+ "generic.IllegalSubclass": {},
215
+ "generic.RequiredRegex": {},
216
+ "generic.RequiredString": {},
217
+ "generic.StatelessClass": {},
218
+ "grails.GrailsDomainGormMethods": {},
219
+ "grails.GrailsDomainHasEquals": {},
220
+ "grails.GrailsDomainHasToString": {},
221
+ "grails.GrailsDomainReservedSqlKeywordName": {},
222
+ "grails.GrailsDomainStringPropertyMaxSize": {},
223
+ "grails.GrailsDomainWithServiceReference": {},
224
+ "grails.GrailsDuplicateConstraint": {},
225
+ "grails.GrailsDuplicateMapping": {},
226
+ "grails.GrailsMassAssignment": {},
227
+ "grails.GrailsPublicControllerMethod": {},
228
+ "grails.GrailsServletContextReference": {},
229
+ "grails.GrailsStatelessService": {},
230
+ "groovyism.AssignCollectionSort": {},
231
+ "groovyism.AssignCollectionUnique": {},
232
+ "groovyism.ClosureAsLastMethodParameter": {},
233
+ "groovyism.CollectAllIsDeprecated": {},
234
+ "groovyism.ConfusingMultipleReturns": {},
235
+ "groovyism.ExplicitArrayListInstantiation": {},
236
+ "groovyism.ExplicitCallToAndMethod": {},
237
+ "groovyism.ExplicitCallToCompareToMethod": {},
238
+ "groovyism.ExplicitCallToDivMethod": {},
239
+ "groovyism.ExplicitCallToEqualsMethod": {},
240
+ "groovyism.ExplicitCallToGetAtMethod": {},
241
+ "groovyism.ExplicitCallToLeftShiftMethod": {},
242
+ "groovyism.ExplicitCallToMinusMethod": {},
243
+ "groovyism.ExplicitCallToModMethod": {},
244
+ "groovyism.ExplicitCallToMultiplyMethod": {},
245
+ "groovyism.ExplicitCallToOrMethod": {},
246
+ "groovyism.ExplicitCallToPlusMethod": {},
247
+ "groovyism.ExplicitCallToPowerMethod": {},
248
+ "groovyism.ExplicitCallToPutAtMethod": {},
249
+ "groovyism.ExplicitCallToRightShiftMethod": {},
250
+ "groovyism.ExplicitCallToXorMethod": {},
251
+ "groovyism.ExplicitHashMapInstantiation": {},
252
+ "groovyism.ExplicitHashSetInstantiation": {},
253
+ "groovyism.ExplicitLinkedHashMapInstantiation": {},
254
+ "groovyism.ExplicitLinkedListInstantiation": {},
255
+ "groovyism.ExplicitStackInstantiation": {},
256
+ "groovyism.ExplicitTreeSetInstantiation": {},
257
+ "groovyism.GStringAsMapKey": {},
258
+ "groovyism.GStringExpressionWithinString": {},
259
+ "groovyism.GetterMethodCouldBeProperty": {},
260
+ "groovyism.GroovyLangImmutable": {},
261
+ "groovyism.UseCollectMany": {},
262
+ "groovyism.UseCollectNested": {},
263
+ "imports.DuplicateImport": {},
264
+ "imports.ImportFromSamePackage": {},
265
+ "imports.ImportFromSunPackages": {},
266
+ "imports.MisorderedStaticImports": {},
267
+ "imports.NoWildcardImports": {},
268
+ "imports.UnnecessaryGroovyImport": {},
269
+ "imports.UnusedImport": {},
270
+ "jdbc.DirectConnectionManagement": {},
271
+ "jdbc.JdbcConnectionReference": {},
272
+ "jdbc.JdbcResultSetReference": {},
273
+ "jdbc.JdbcStatementReference": {},
274
+ "junit.ChainedTest": {},
275
+ "junit.CoupledTestCase": {},
276
+ "junit.JUnitAssertAlwaysFails": {},
277
+ "junit.JUnitAssertAlwaysSucceeds": {},
278
+ "junit.JUnitFailWithoutMessage": {},
279
+ "junit.JUnitLostTest": {},
280
+ "junit.JUnitPublicField": {},
281
+ "junit.JUnitPublicNonTestMethod": {},
282
+ "junit.JUnitPublicProperty": {},
283
+ "junit.JUnitSetUpCallsSuper": {},
284
+ "junit.JUnitStyleAssertions": {},
285
+ "junit.JUnitTearDownCallsSuper": {},
286
+ "junit.JUnitTestMethodWithoutAssert": {},
287
+ "junit.JUnitUnnecessarySetUp": {},
288
+ "junit.JUnitUnnecessaryTearDown": {},
289
+ "junit.JUnitUnnecessaryThrowsException": {},
290
+ "junit.SpockIgnoreRestUsed": {},
291
+ "junit.UnnecessaryFail": {},
292
+ "junit.UseAssertEqualsInsteadOfAssertTrue": {},
293
+ "junit.UseAssertFalseInsteadOfNegation": {},
294
+ "junit.UseAssertNullInsteadOfAssertEquals": {},
295
+ "junit.UseAssertSameInsteadOfAssertTrue": {},
296
+ "junit.UseAssertTrueInsteadOfAssertEquals": {},
297
+ "junit.UseAssertTrueInsteadOfNegation": {},
298
+ "logging.LoggerForDifferentClass": {},
299
+ "logging.LoggerWithWrongModifiers": {},
300
+ "logging.LoggingSwallowsStacktrace": {},
301
+ "logging.MultipleLoggers": {},
302
+ "logging.PrintStackTrace": {},
303
+ "logging.Println": {},
304
+ "logging.SystemErrPrint": {},
305
+ "logging.SystemOutPrint": {},
306
+ "naming.AbstractClassName": {},
307
+ "naming.ClassName": {},
308
+ "naming.ClassNameSameAsFilename": {},
309
+ "naming.ClassNameSameAsSuperclass": {},
310
+ "naming.ConfusingMethodName": {},
311
+ "naming.FactoryMethodName": {},
312
+ "naming.FieldName": {},
313
+ "naming.InterfaceName": {},
314
+ "naming.InterfaceNameSameAsSuperInterface": {},
315
+ "naming.MethodName": {},
316
+ "naming.ObjectOverrideMisspelledMethodName": {},
317
+ "naming.PackageName": {},
318
+ "naming.PackageNameMatchesFilePath": {},
319
+ "naming.ParameterName": {},
320
+ "naming.PropertyName": {},
321
+ "naming.VariableName": {},
322
+ "security.FileCreateTempFile": {},
323
+ "security.InsecureRandom": {},
324
+ "security.JavaIoPackageAccess": {},
325
+ "security.NonFinalPublicField": {},
326
+ "security.NonFinalSubclassOfSensitiveInterface": {},
327
+ "security.ObjectFinalize": {},
328
+ "security.PublicFinalizeMethod": {},
329
+ "security.SystemExit": {},
330
+ "security.UnsafeArrayDeclaration": {},
331
+ "serialization.EnumCustomSerializationIgnored": {},
332
+ "serialization.SerialPersistentFields": {},
333
+ "serialization.SerialVersionUID": {},
334
+ "serialization.SerializableClassMustDefineSerialVersionUID": {},
335
+ "size.ClassSize": {},
336
+ "size.MethodCount": {},
337
+ "size.MethodSize": {},
338
+ "size.NestedBlockDepth": {},
339
+ "size.ParameterCount": {},
340
+ "unnecessary.AddEmptyString": {},
341
+ "unnecessary.ConsecutiveLiteralAppends": {},
342
+ "unnecessary.ConsecutiveStringConcatenation": {},
343
+ "unnecessary.UnnecessaryBigDecimalInstantiation": {},
344
+ "unnecessary.UnnecessaryBigIntegerInstantiation": {},
345
+ "unnecessary.UnnecessaryBooleanExpression": {},
346
+ "unnecessary.UnnecessaryBooleanInstantiation": {},
347
+ "unnecessary.UnnecessaryCallForLastElement": {},
348
+ "unnecessary.UnnecessaryCallToSubstring": {},
349
+ "unnecessary.UnnecessaryCast": {},
350
+ "unnecessary.UnnecessaryCatchBlock": {},
351
+ "unnecessary.UnnecessaryCollectCall": {},
352
+ "unnecessary.UnnecessaryCollectionCall": {},
353
+ "unnecessary.UnnecessaryConstructor": {},
354
+ "unnecessary.UnnecessaryDefInFieldDeclaration": {},
355
+ "unnecessary.UnnecessaryDefInMethodDeclaration": {},
356
+ "unnecessary.UnnecessaryDefInVariableDeclaration": {},
357
+ "unnecessary.UnnecessaryDotClass": {},
358
+ "unnecessary.UnnecessaryDoubleInstantiation": {},
359
+ "unnecessary.UnnecessaryElseStatement": {},
360
+ "unnecessary.UnnecessaryFinalOnPrivateMethod": {},
361
+ "unnecessary.UnnecessaryFloatInstantiation": {},
362
+ "unnecessary.UnnecessaryGString": {},
363
+ "unnecessary.UnnecessaryGetter": {},
364
+ "unnecessary.UnnecessaryIfStatement": {},
365
+ "unnecessary.UnnecessaryInstanceOfCheck": {},
366
+ "unnecessary.UnnecessaryInstantiationToGetClass": {},
367
+ "unnecessary.UnnecessaryIntegerInstantiation": {},
368
+ "unnecessary.UnnecessaryLongInstantiation": {},
369
+ "unnecessary.UnnecessaryModOne": {},
370
+ "unnecessary.UnnecessaryNullCheck": {},
371
+ "unnecessary.UnnecessaryNullCheckBeforeInstanceOf": {},
372
+ "unnecessary.UnnecessaryObjectReferences": {},
373
+ "unnecessary.UnnecessaryOverridingMethod": {},
374
+ "unnecessary.UnnecessaryPackageReference": {},
375
+ "unnecessary.UnnecessaryParenthesesForMethodCallWithClosure": {},
376
+ "unnecessary.UnnecessaryPublicModifier": {},
377
+ "unnecessary.UnnecessaryReturnKeyword": {},
378
+ "unnecessary.UnnecessarySafeNavigationOperator": {},
379
+ "unnecessary.UnnecessarySelfAssignment": {},
380
+ "unnecessary.UnnecessarySemicolon": {},
381
+ "unnecessary.UnnecessarySetter": {},
382
+ "unnecessary.UnnecessaryStringInstantiation": {},
383
+ "unnecessary.UnnecessarySubstring": {},
384
+ "unnecessary.UnnecessaryTernaryExpression": {},
385
+ "unnecessary.UnnecessaryToString": {},
386
+ "unnecessary.UnnecessaryTransientModifier": {},
387
+ "unused.UnusedArray": {},
388
+ "unused.UnusedMethodParameter": {},
389
+ "unused.UnusedObject": {},
390
+ "unused.UnusedPrivateField": {},
391
+ "unused.UnusedPrivateMethod": {},
392
+ "unused.UnusedPrivateMethodParameter": {},
393
+ "unused.UnusedVariable": {}
394
+ }
395
+ }
@@ -161,7 +161,7 @@ class NpmGroovyLint {
161
161
  }
162
162
 
163
163
  // Manage anonymous stats
164
- if (["initialCall", "index"].includes(this.origin) && this.options.insight !== false) {
164
+ if (["initialCall", "index"].includes(this.origin) && this.options.insight === true) {
165
165
  this.startElapse = performance.now();
166
166
  }
167
167
 
@@ -295,7 +295,7 @@ class NpmGroovyLint {
295
295
  }
296
296
 
297
297
  // Manage anonymous usage stats (except if current lint has been cancelled by a duplicate call)
298
- if (this.startElapse && this.options.insight !== false && this.status !== 9) {
298
+ if (this.startElapse && this.options.insight === true && this.status !== 9) {
299
299
  const elapsedTimeMs = parseInt(performance.now() - this.startElapse);
300
300
  const callerKey = this.origin === "index" ? "cli" : "module";
301
301
  const actionKey = this.options.format ? "format" : this.options.fix ? "fix" : "lint";
package/lib/options.js CHANGED
@@ -221,8 +221,9 @@ module.exports = optionator({
221
221
  {
222
222
  option: "insight",
223
223
  type: "Boolean",
224
+ default: false,
224
225
  description:
225
- "npm-groovy-lint collects anonymous usage statistics using package https://www.npmjs.com/package/insight. If you do not want to share them, use --no-insight option"
226
+ "npm-groovy-lint collects anonymous usage statistics using package https://www.npmjs.com/package/insight. If you want to enable them, use --insight option"
226
227
  },
227
228
  {
228
229
  option: "help",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-groovy-lint",
3
- "version": "9.4.1",
3
+ "version": "9.5.0",
4
4
  "description": "Lint, format and auto-fix your Groovy / Jenkinsfile / Gradle files",
5
5
  "main": "index.js",
6
6
  "scripts": {