aboutsummaryrefslogtreecommitdiffstats
path: root/hv-collector-analysis
diff options
context:
space:
mode:
authorPiotr Jaszczyk <piotr.jaszczyk@nokia.com>2018-11-28 15:46:50 +0100
committerPiotr Jaszczyk <piotr.jaszczyk@nokia.com>2018-11-29 14:41:42 +0100
commitdde383a2aa75f94c26d7949665b79cc95486a223 (patch)
tree75f3e8f564067afd0e67dbe6254183e45ca26944 /hv-collector-analysis
parent77f896523f2065b1da1be21545155a29edea5122 (diff)
Custom detekt rule for logger usage check
Check if logger invocations don't use unoptimal invocations, eg. concatenation `debug("a=" + a)` instead of lambda use `debug {"a=" + a}` Unfortunately to avoid defining dependencies in many places and having circural dependencies it was necessarry to reorganize the maven module structure. The goal was to have `sources` module with production code and `build` module with build-time tooling (detekt rules among them). Issue-ID: DCAEGEN2-1002 Change-Id: I36e677b98972aaae6905d722597cbce5e863d201 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
Diffstat (limited to 'hv-collector-analysis')
-rw-r--r--hv-collector-analysis/pom.xml59
-rw-r--r--hv-collector-analysis/src/main/resources/onap-detekt-config.yml475
2 files changed, 0 insertions, 534 deletions
diff --git a/hv-collector-analysis/pom.xml b/hv-collector-analysis/pom.xml
deleted file mode 100644
index 9ace2758..00000000
--- a/hv-collector-analysis/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ ============LICENSE_START=======================================================
- ~ dcaegen2-collectors-veshv
- ~ ================================================================================
- ~ Copyright (C) 2018 NOKIA
- ~ ================================================================================
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- ~ ============LICENSE_END=========================================================
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- </license>
- </licenses>
-
- <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId>
- <artifactId>hv-collector-analysis</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <description>VES HighVolume Collector :: Code analysis configuration</description>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.1.0</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project> \ No newline at end of file
diff --git a/hv-collector-analysis/src/main/resources/onap-detekt-config.yml b/hv-collector-analysis/src/main/resources/onap-detekt-config.yml
deleted file mode 100644
index 99faaa79..00000000
--- a/hv-collector-analysis/src/main/resources/onap-detekt-config.yml
+++ /dev/null
@@ -1,475 +0,0 @@
-autoCorrect: true
-failFast: false
-
-test-pattern: # Configure exclusions for test sources
- active: true
- patterns: # Test file regexes
- - '.*/test/.*'
- - '.*Test.kt'
- - '.*Spec.kt'
- exclude-rule-sets:
- - 'comments'
- exclude-rules:
- - 'NamingRules'
- - 'WildcardImport'
- - 'MagicNumber'
- - 'MaxLineLength'
- - 'LateinitUsage'
- - 'StringLiteralDuplication'
- - 'SpreadOperator'
- - 'TooManyFunctions'
- - 'ForEachOnRange'
-
-build:
- maxIssues: 3
- weights:
- # complexity: 2
- # LongParameterList: 1
- # style: 1
- # comments: 1
-
-processors:
- active: true
- exclude:
- # - 'FunctionCountProcessor'
- # - 'PropertyCountProcessor'
- # - 'ClassCountProcessor'
- # - 'PackageCountProcessor'
- # - 'KtFileCountProcessor'
-
-console-reports:
- active: true
- exclude:
- # - 'ProjectStatisticsReport'
- # - 'ComplexityReport'
- # - 'NotificationReport'
- # - 'FindingsReport'
- # - 'BuildFailureReport'
-
-output-reports:
- active: true
- exclude:
- # - 'HtmlOutputReport'
- # - 'PlainOutputReport'
- # - 'XmlOutputReport'
-
-comments:
- active: true
- CommentOverPrivateFunction:
- active: false
- CommentOverPrivateProperty:
- active: false
- EndOfSentenceFormat:
- active: false
- endOfSentenceFormat: ([.?!][ \t\n\r\f<])|([.?!]$)
- UndocumentedPublicClass:
- active: false
- searchInNestedClass: true
- searchInInnerClass: true
- searchInInnerObject: true
- searchInInnerInterface: true
- UndocumentedPublicFunction:
- active: false
-
-complexity:
- active: true
- ComplexCondition:
- active: true
- threshold: 4
- ComplexInterface:
- active: false
- threshold: 10
- includeStaticDeclarations: false
- ComplexMethod:
- active: true
- threshold: 10
- ignoreSingleWhenExpression: false
- LabeledExpression:
- active: false
- LargeClass:
- active: true
- threshold: 150
- LongMethod:
- active: true
- threshold: 20
- LongParameterList:
- active: true
- threshold: 6
- ignoreDefaultParameters: false
- MethodOverloading:
- active: false
- threshold: 6
- NestedBlockDepth:
- active: true
- threshold: 4
- StringLiteralDuplication:
- active: false
- threshold: 3
- ignoreAnnotation: true
- excludeStringsWithLessThan5Characters: true
- ignoreStringsRegex: '$^'
- TooManyFunctions:
- active: true
- thresholdInFiles: 11
- thresholdInClasses: 11
- thresholdInInterfaces: 11
- thresholdInObjects: 11
- thresholdInEnums: 11
- ignoreDeprecated: false
-
-empty-blocks:
- active: true
- EmptyCatchBlock:
- active: true
- allowedExceptionNameRegex: "^(_|(ignore|expected).*)"
- EmptyClassBlock:
- active: true
- EmptyDefaultConstructor:
- active: true
- EmptyDoWhileBlock:
- active: true
- EmptyElseBlock:
- active: true
- EmptyFinallyBlock:
- active: true
- EmptyForBlock:
- active: true
- EmptyFunctionBlock:
- active: true
- ignoreOverriddenFunctions: false
- EmptyIfBlock:
- active: true
- EmptyInitBlock:
- active: true
- EmptyKtFile:
- active: true
- EmptySecondaryConstructor:
- active: true
- EmptyWhenBlock:
- active: true
- EmptyWhileBlock:
- active: true
-
-exceptions:
- active: true
- ExceptionRaisedInUnexpectedLocation:
- active: false
- methodNames: 'toString,hashCode,equals,finalize'
- InstanceOfCheckForException:
- active: false
- NotImplementedDeclaration:
- active: false
- PrintStackTrace:
- active: false
- RethrowCaughtException:
- active: false
- ReturnFromFinally:
- active: false
- SwallowedException:
- active: false
- ThrowingExceptionFromFinally:
- active: false
- ThrowingExceptionInMain:
- active: false
- ThrowingExceptionsWithoutMessageOrCause:
- active: false
- exceptions: 'IllegalArgumentException,IllegalStateException,IOException'
- ThrowingNewInstanceOfSameException:
- active: false
- TooGenericExceptionCaught:
- active: true
- exceptionNames:
- - ArrayIndexOutOfBoundsException
- - Error
- - Exception
- - IllegalMonitorStateException
- - NullPointerException
- - IndexOutOfBoundsException
- - RuntimeException
- - Throwable
- TooGenericExceptionThrown:
- active: true
- exceptionNames:
- - Error
- - Exception
- - Throwable
- - RuntimeException
-
-formatting:
- active: true
- android: false
- autoCorrect: true
- ChainWrapping:
- active: false
- autoCorrect: true
- CommentSpacing:
- active: true
- autoCorrect: true
- Filename:
- active: true
- FinalNewline:
- active: true
- autoCorrect: true
- ImportOrdering:
- active: true
- autoCorrect: true
- Indentation:
- active: true
- autoCorrect: true
- indentSize: 4
- continuationIndentSize: 4
- MaximumLineLength:
- active: true
- maxLineLength: 120
- ModifierOrdering:
- active: true
- autoCorrect: true
- NoBlankLineBeforeRbrace:
- active: true
- autoCorrect: true
- NoConsecutiveBlankLines:
- active: true
- autoCorrect: true
- NoEmptyClassBody:
- active: true
- autoCorrect: true
- NoItParamInMultilineLambda:
- active: true
- NoLineBreakAfterElse:
- active: true
- autoCorrect: true
- NoLineBreakBeforeAssignment:
- active: true
- autoCorrect: true
- NoMultipleSpaces:
- active: true
- autoCorrect: true
- NoSemicolons:
- active: true
- autoCorrect: true
- NoTrailingSpaces:
- active: true
- autoCorrect: true
- NoUnitReturn:
- active: true
- autoCorrect: true
- NoUnusedImports:
- active: true
- autoCorrect: true
- NoWildcardImports:
- active: true
- autoCorrect: true
- ParameterListWrapping:
- active: false
- autoCorrect: true
- indentSize: 4
- SpacingAroundColon:
- active: true
- autoCorrect: true
- SpacingAroundComma:
- active: true
- autoCorrect: true
- SpacingAroundCurly:
- active: true
- autoCorrect: true
- SpacingAroundKeyword:
- active: true
- autoCorrect: true
- SpacingAroundOperators:
- active: true
- autoCorrect: true
- SpacingAroundRangeOperator:
- active: true
- autoCorrect: true
- StringTemplate:
- active: true
- autoCorrect: true
-
-naming:
- active: true
- ClassNaming:
- active: true
- classPattern: '[A-Z$][a-zA-Z0-9$]*'
- EnumNaming:
- active: true
- enumEntryPattern: '^[A-Z][_a-zA-Z0-9]*'
- ForbiddenClassName:
- active: false
- forbiddenName: ''
- FunctionMaxLength:
- active: false
- maximumFunctionNameLength: 30
- FunctionMinLength:
- active: false
- minimumFunctionNameLength: 3
- FunctionNaming:
- active: true
- functionPattern: '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$'
- excludeClassPattern: '$^'
- MatchingDeclarationName:
- active: false
- MemberNameEqualsClassName:
- active: false
- ignoreOverriddenFunction: true
- ObjectPropertyNaming:
- active: true
- propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
- constantPattern: '[A-Za-z][_A-Za-z0-9]*'
- PackageNaming:
- active: true
- packagePattern: '^[a-z]+(\.[a-z][a-z0-9]*)*$'
- TopLevelPropertyNaming:
- active: true
- constantPattern: '[A-Z][_A-Z0-9]*'
- propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
- privatePropertyPattern: '(_)?[A-Za-z][A-Za-z0-9]*'
- VariableMaxLength:
- active: false
- maximumVariableNameLength: 64
- VariableMinLength:
- active: false
- minimumVariableNameLength: 1
- VariableNaming:
- active: true
- variablePattern: '[a-z][A-Za-z0-9]*'
- privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*'
- excludeClassPattern: '$^'
-
-performance:
- active: true
- ForEachOnRange:
- active: true
- SpreadOperator:
- active: true
- UnnecessaryTemporaryInstantiation:
- active: true
-
-potential-bugs:
- active: true
- DuplicateCaseInWhenExpression:
- active: true
- EqualsAlwaysReturnsTrueOrFalse:
- active: false
- EqualsWithHashCodeExist:
- active: true
- ExplicitGarbageCollectionCall:
- active: true
- InvalidRange:
- active: false
- IteratorHasNextCallsNextMethod:
- active: false
- IteratorNotThrowingNoSuchElementException:
- active: false
- LateinitUsage:
- active: false
- excludeAnnotatedProperties: ""
- ignoreOnClassesPattern: ""
- UnconditionalJumpStatementInLoop:
- active: false
- UnreachableCode:
- active: true
- UnsafeCallOnNullableType:
- active: false
- UnsafeCast:
- active: false
- UselessPostfixExpression:
- active: false
- WrongEqualsTypeParameter:
- active: false
-
-style:
- active: true
- CollapsibleIfStatements:
- active: false
- DataClassContainsFunctions:
- active: false
- conversionFunctionPrefix: 'to'
- EqualsNullCall:
- active: false
- ExpressionBodySyntax:
- active: false
- ForbiddenComment:
- active: true
- values: 'TODO:,FIXME:,STOPSHIP:'
- ForbiddenImport:
- active: false
- imports: ''
- FunctionOnlyReturningConstant:
- active: false
- ignoreOverridableFunction: true
- excludedFunctions: 'describeContents'
- LoopWithTooManyJumpStatements:
- active: false
- maxJumpCount: 1
- MagicNumber:
- active: true
- ignoreNumbers: '-1,0,1,2'
- ignoreHashCodeFunction: false
- ignorePropertyDeclaration: false
- ignoreConstantDeclaration: true
- ignoreCompanionObjectPropertyDeclaration: true
- ignoreAnnotation: false
- ignoreNamedArgument: true
- ignoreEnums: false
- MaxLineLength:
- active: true
- maxLineLength: 120
- excludePackageStatements: false
- excludeImportStatements: false
- excludeCommentStatements: false
- MayBeConst:
- active: false
- ModifierOrder:
- active: true
- NestedClassesVisibility:
- active: false
- NewLineAtEndOfFile:
- active: true
- NoTabs:
- active: false
- OptionalAbstractKeyword:
- active: true
- OptionalUnit:
- active: false
- OptionalWhenBraces:
- active: false
- ProtectedMemberInFinalClass:
- active: false
- RedundantVisibilityModifierRule:
- active: false
- ReturnCount:
- active: true
- max: 2
- excludedFunctions: "equals"
- SafeCast:
- active: true
- SerialVersionUIDInSerializableClass:
- active: false
- SpacingBetweenPackageAndImports:
- active: false
- ThrowsCount:
- active: true
- max: 2
- TrailingWhitespace:
- active: false
- UnnecessaryAbstractClass:
- active: false
- UnnecessaryInheritance:
- active: false
- UnnecessaryParentheses:
- active: false
- UntilInsteadOfRangeTo:
- active: false
- UnusedImports:
- active: false
- UnusedPrivateMember:
- active: true
- allowedNames: "(_.*|ignored|expected)"
- UseDataClass:
- active: false
- excludeAnnotatedClasses: ""
- UtilityClassWithPublicConstructor:
- active: false
- WildcardImport:
- active: true
- excludeImports: 'java.util.*,kotlinx.android.synthetic.*'