mirror of
https://github.com/nextcloud/android.git
synced 2024-12-23 01:00:26 +03:00
e3d57e7c42
Resolves #12920 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
414 lines
9.5 KiB
YAML
414 lines
9.5 KiB
YAML
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
|
|
build:
|
|
maxIssues: 2
|
|
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'
|
|
|
|
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
|
|
ignoreSimpleWhenEntries: false
|
|
excludes: ['**/androidTest/**']
|
|
LabeledExpression:
|
|
active: false
|
|
ignoredLabels: []
|
|
LargeClass:
|
|
active: true
|
|
threshold: 600
|
|
LongMethod:
|
|
active: true
|
|
threshold: 60
|
|
excludes: ['**/androidTest/**']
|
|
LongParameterList:
|
|
active: true
|
|
functionThreshold: 7
|
|
constructorThreshold: 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: 15
|
|
thresholdInClasses: 15
|
|
thresholdInInterfaces: 15
|
|
thresholdInObjects: 15
|
|
thresholdInEnums: 11
|
|
ignoreDeprecated: true
|
|
ignorePrivate: false
|
|
ignoreOverridden: true
|
|
|
|
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
|
|
ignoreOverridden: 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
|
|
ignoredExceptionTypes: [InterruptedException,NumberFormatException,ParseException,MalformedURLException]
|
|
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
|
|
allowedExceptionNameRegex: "^(_|(ignore|expected).*)"
|
|
TooGenericExceptionThrown:
|
|
active: true
|
|
exceptionNames:
|
|
- Error
|
|
- Exception
|
|
- Throwable
|
|
- RuntimeException
|
|
|
|
naming:
|
|
active: true
|
|
ClassNaming:
|
|
active: true
|
|
classPattern: '[A-Z$][a-zA-Z0-9$]*'
|
|
ConstructorParameterNaming:
|
|
active: true
|
|
parameterPattern: '[a-z][A-Za-z0-9]*'
|
|
privateParameterPattern: '[a-z][A-Za-z0-9]*'
|
|
excludeClassPattern: '$^'
|
|
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-Z][a-zA-Z$0-9]*)|(`.*`)$'
|
|
excludeClassPattern: '$^'
|
|
ignoreOverridden: true
|
|
excludes:
|
|
- "**/*Test.kt"
|
|
- "**/*IT.kt"
|
|
FunctionParameterNaming:
|
|
active: true
|
|
parameterPattern: '[a-z][A-Za-z0-9]*'
|
|
excludeClassPattern: '$^'
|
|
ignoreOverridden: true
|
|
MatchingDeclarationName:
|
|
active: true
|
|
MemberNameEqualsClassName:
|
|
active: false
|
|
ignoreOverridden: true
|
|
ObjectPropertyNaming:
|
|
active: true
|
|
constantPattern: '[A-Za-z][_A-Za-z0-9]*'
|
|
propertyPattern: '[A-Za-z][_A-Za-z0-9]*'
|
|
privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*'
|
|
PackageNaming:
|
|
active: true
|
|
packagePattern: '^[a-z]+(\.[a-z][A-Za-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: '$^'
|
|
ignoreOverridden: true
|
|
|
|
performance:
|
|
active: true
|
|
ArrayPrimitive:
|
|
active: false
|
|
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
|
|
ignoreAnnotated: []
|
|
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
|
|
EqualsOnSignatureLine:
|
|
active: false
|
|
ExplicitItLambdaParameter:
|
|
active: false
|
|
ExpressionBodySyntax:
|
|
active: false
|
|
includeLineWrapping: false
|
|
ForbiddenComment:
|
|
active: true
|
|
values: 'TODO:,FIXME:,STOPSHIP:'
|
|
ForbiddenImport:
|
|
active: false
|
|
imports: []
|
|
ForbiddenVoid:
|
|
active: false
|
|
FunctionOnlyReturningConstant:
|
|
active: false
|
|
ignoreOverridableFunction: true
|
|
excludedFunctions: [describeContents]
|
|
LoopWithTooManyJumpStatements:
|
|
active: false
|
|
maxJumpCount: 1
|
|
MagicNumber:
|
|
active: true
|
|
ignoreNumbers: ["-1","0","1","2"]
|
|
ignoreHashCodeFunction: true
|
|
ignorePropertyDeclaration: false
|
|
ignoreConstantDeclaration: true
|
|
ignoreCompanionObjectPropertyDeclaration: true
|
|
ignoreAnnotation: false
|
|
ignoreNamedArgument: true
|
|
ignoreEnums: false
|
|
excludes:
|
|
- "**/*Test.kt"
|
|
- "**/*IT.kt"
|
|
MandatoryBracesIfStatements:
|
|
active: false
|
|
MaxLineLength:
|
|
active: true
|
|
maxLineLength: 120
|
|
excludePackageStatements: true
|
|
excludeImportStatements: true
|
|
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
|
|
PreferToOverPairSyntax:
|
|
active: false
|
|
ProtectedMemberInFinalClass:
|
|
active: false
|
|
RedundantVisibilityModifierRule:
|
|
active: false
|
|
ReturnCount:
|
|
active: true
|
|
max: 2
|
|
excludedFunctions: [equals]
|
|
excludeLabeled: false
|
|
excludeReturnFromLambda: true
|
|
SafeCast:
|
|
active: true
|
|
SerialVersionUIDInSerializableClass:
|
|
active: false
|
|
SpacingBetweenPackageAndImports:
|
|
active: false
|
|
ThrowsCount:
|
|
active: true
|
|
max: 2
|
|
TrailingWhitespace:
|
|
active: false
|
|
UnderscoresInNumericLiterals:
|
|
active: false
|
|
acceptableLength: 5
|
|
UnnecessaryAbstractClass:
|
|
active: false
|
|
ignoreAnnotated:
|
|
- "dagger.Module"
|
|
UnnecessaryApply:
|
|
active: false
|
|
UnnecessaryInheritance:
|
|
active: false
|
|
UnnecessaryLet:
|
|
active: false
|
|
UnnecessaryParentheses:
|
|
active: false
|
|
UntilInsteadOfRangeTo:
|
|
active: false
|
|
UnusedImports:
|
|
active: false
|
|
UnusedPrivateClass:
|
|
active: false
|
|
UnusedPrivateMember:
|
|
active: false
|
|
allowedNames: "(_|ignored|expected|serialVersionUID)"
|
|
UseDataClass:
|
|
active: false
|
|
ignoreAnnotated: []
|
|
UtilityClassWithPublicConstructor:
|
|
active: false
|
|
VarCouldBeVal:
|
|
active: false
|
|
WildcardImport:
|
|
active: true
|
|
excludeImports: [java.util.*,kotlinx.android.synthetic.*]
|