Created
December 18, 2019 10:41
-
-
Save mrsasha/27b5cd8d10e5f6b1b94797a38788d61c to your computer and use it in GitHub Desktop.
detekt setup for 1.2.2 version
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| build: | |
| maxIssues: 0 | |
| comments: | |
| active: true | |
| excludes: "**/*Test.kt, **/*Spec.kt" | |
| 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 | |
| excludes: "**/*Test.kt, **/*Spec.kt" | |
| threshold: 180 | |
| LongMethod: | |
| active: true | |
| threshold: 31 | |
| LongParameterList: | |
| active: true | |
| threshold: 6 | |
| ignoreDefaultParameters: false | |
| MethodOverloading: | |
| active: true | |
| threshold: 6 | |
| NestedBlockDepth: | |
| active: true | |
| threshold: 4 | |
| StringLiteralDuplication: | |
| active: false | |
| threshold: 3 | |
| ignoreAnnotation: true | |
| excludeStringsWithLessThan5Characters: true | |
| ignoreStringsRegex: '$^' | |
| TooManyFunctions: | |
| active: true | |
| excludes: "**/*Test.kt, **/*Spec.kt" | |
| thresholdInFiles: 15 | |
| thresholdInClasses: 15 | |
| thresholdInInterfaces: 15 | |
| thresholdInObjects: 15 | |
| thresholdInEnums: 11 | |
| ignoreDeprecated: false | |
| ignorePrivate: 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: true | |
| exceptions: 'IllegalArgumentException,IllegalStateException,IOException' | |
| ThrowingNewInstanceOfSameException: | |
| active: true | |
| TooGenericExceptionCaught: | |
| active: false | |
| TooGenericExceptionThrown: | |
| active: true | |
| exceptionNames: | |
| - Error | |
| - Exception | |
| - Throwable | |
| - RuntimeException | |
| formatting: | |
| active: true | |
| android: true | |
| AnnotationOnSeparateLine: | |
| active: true | |
| ChainWrapping: | |
| active: true | |
| CommentSpacing: | |
| active: false | |
| Filename: | |
| active: true | |
| FinalNewline: | |
| active: true | |
| ImportOrdering: | |
| active: true | |
| Indentation: | |
| active: true | |
| indentSize: 4 | |
| continuationIndentSize: 4 | |
| MaximumLineLength: | |
| active: true | |
| maxLineLength: 160 | |
| ModifierOrdering: | |
| active: true | |
| NoBlankLineBeforeRbrace: | |
| active: true | |
| NoConsecutiveBlankLines: | |
| active: true | |
| NoEmptyClassBody: | |
| active: true | |
| NoLineBreakAfterElse: | |
| active: true | |
| NoLineBreakBeforeAssignment: | |
| active: true | |
| NoMultipleSpaces: | |
| active: true | |
| NoSemicolons: | |
| active: true | |
| NoTrailingSpaces: | |
| active: true | |
| NoUnitReturn: | |
| active: true | |
| NoUnusedImports: | |
| active: true | |
| NoWildcardImports: | |
| active: true | |
| PackageName: | |
| active: true | |
| ParameterListWrapping: | |
| active: true | |
| indentSize: 4 | |
| SpacingAroundColon: | |
| active: true | |
| SpacingAroundComma: | |
| active: true | |
| SpacingAroundCurly: | |
| active: true | |
| SpacingAroundDot: | |
| active: true | |
| SpacingAroundKeyword: | |
| active: true | |
| SpacingAroundOperators: | |
| active: true | |
| SpacingAroundParens: | |
| active: true | |
| SpacingAroundRangeOperator: | |
| active: true | |
| StringTemplate: | |
| active: true | |
| naming: | |
| active: true | |
| ClassNaming: | |
| active: true | |
| classPattern: '[A-Z$][a-zA-Z0-9$]*' | |
| ConstructorParameterNaming: | |
| active: true | |
| EnumNaming: | |
| active: true | |
| enumEntryPattern: '^[A-Z][_a-zA-Z0-9]*' | |
| ForbiddenClassName: | |
| active: false | |
| forbiddenName: '' | |
| FunctionMaxLength: | |
| active: true | |
| maximumFunctionNameLength: 36 | |
| FunctionMinLength: | |
| active: true | |
| minimumFunctionNameLength: 3 | |
| FunctionNaming: | |
| active: true | |
| functionPattern: '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$' | |
| excludeClassPattern: '$^' | |
| FunctionParameterNaming: | |
| active: true | |
| InvalidPackageDeclaration: | |
| active: true | |
| 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-z][A-Za-z\d]*' | |
| privatePropertyPattern: '(_)?[a-z][A-Za-z0-9]*' | |
| VariableMaxLength: | |
| active: true | |
| maximumVariableNameLength: 36 | |
| VariableMinLength: | |
| active: true | |
| minimumVariableNameLength: 1 | |
| VariableNaming: | |
| active: true | |
| variablePattern: '[a-z][A-Za-z0-9]*' | |
| privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*' | |
| excludeClassPattern: '$^' | |
| performance: | |
| active: true | |
| ArrayPrimitive: | |
| active: true | |
| ForEachOnRange: | |
| active: true | |
| SpreadOperator: | |
| active: false | |
| UnnecessaryTemporaryInstantiation: | |
| active: true | |
| potential-bugs: | |
| active: true | |
| Deprecation: | |
| active: true | |
| DuplicateCaseInWhenExpression: | |
| active: true | |
| EqualsAlwaysReturnsTrueOrFalse: | |
| active: true | |
| EqualsWithHashCodeExist: | |
| active: true | |
| ExplicitGarbageCollectionCall: | |
| active: true | |
| HasPlatformType: | |
| active: true | |
| ImplicitDefaultLocale: | |
| active: true | |
| InvalidRange: | |
| active: true | |
| IteratorHasNextCallsNextMethod: | |
| active: true | |
| IteratorNotThrowingNoSuchElementException: | |
| active: true | |
| LateinitUsage: | |
| active: false | |
| excludeAnnotatedProperties: "" | |
| ignoreOnClassesPattern: "" | |
| MissingWhenCase: | |
| active: true | |
| RedundantElseInWhen: | |
| active: true | |
| UnconditionalJumpStatementInLoop: | |
| active: true | |
| UnreachableCode: | |
| active: true | |
| UnsafeCallOnNullableType: | |
| active: false | |
| UnsafeCast: | |
| active: false | |
| UselessPostfixExpression: | |
| active: true | |
| WrongEqualsTypeParameter: | |
| active: true | |
| style: | |
| active: true | |
| CollapsibleIfStatements: | |
| active: false # TODO | |
| DataClassContainsFunctions: | |
| active: true | |
| conversionFunctionPrefix: 'to' | |
| DataClassShouldBeImmutable: | |
| active: false # TODO | |
| EqualsNullCall: | |
| active: true | |
| EqualsOnSignatureLine: | |
| active: true | |
| ExplicitItLambdaParameter: | |
| active: true | |
| ExpressionBodySyntax: | |
| active: false # TODO | |
| includeLineWrapping: false | |
| ForbiddenComment: | |
| active: true | |
| values: 'STOPSHIP' | |
| ForbiddenImport: | |
| active: false | |
| imports: '' | |
| ForbiddenVoid: | |
| active: true | |
| FunctionOnlyReturningConstant: | |
| active: true | |
| ignoreOverridableFunction: true | |
| excludedFunctions: 'describeContents' | |
| LibraryCodeMustSpecifyReturnType: | |
| active: true | |
| LoopWithTooManyJumpStatements: | |
| active: true | |
| maxJumpCount: 1 | |
| MagicNumber: | |
| active: true | |
| excludes: "**/*Test.kt, **/*Spec.kt" | |
| ignoreNumbers: '-1,0,1,2' | |
| ignoreHashCodeFunction: true | |
| ignorePropertyDeclaration: false | |
| ignoreConstantDeclaration: true | |
| ignoreCompanionObjectPropertyDeclaration: true | |
| ignoreAnnotation: false | |
| ignoreNamedArgument: true | |
| ignoreEnums: true | |
| MandatoryBracesIfStatements: | |
| active: false # TODO | |
| MaxLineLength: | |
| active: true | |
| maxLineLength: 160 | |
| excludePackageStatements: false | |
| excludeImportStatements: false | |
| excludeCommentStatements: false | |
| MayBeConst: | |
| active: true | |
| excludes: "**/*Test.kt, **/*Spec.kt" | |
| ModifierOrder: | |
| active: true | |
| NestedClassesVisibility: | |
| active: true | |
| NewLineAtEndOfFile: | |
| active: true | |
| NoTabs: | |
| active: true | |
| OptionalAbstractKeyword: | |
| active: true | |
| OptionalUnit: | |
| active: false | |
| OptionalWhenBraces: | |
| active: false # TODO | |
| PreferToOverPairSyntax: | |
| active: false | |
| ProtectedMemberInFinalClass: | |
| active: true | |
| RedundantExplicitType: | |
| active: true | |
| RedundantVisibilityModifierRule: | |
| active: true | |
| ReturnCount: | |
| active: false # TODO | |
| max: 2 | |
| excludedFunctions: "equals" | |
| SafeCast: | |
| active: true | |
| SerialVersionUIDInSerializableClass: | |
| active: false | |
| SpacingBetweenPackageAndImports: | |
| active: true | |
| ThrowsCount: | |
| active: true | |
| max: 2 | |
| TrailingWhitespace: | |
| active: true | |
| UnderscoresInNumericLiterals: | |
| active: true | |
| UnnecessaryAbstractClass: | |
| active: true | |
| UnnecessaryApply: | |
| active: true | |
| UnnecessaryInheritance: | |
| active: true | |
| UnnecessaryLet: | |
| active: true | |
| UnnecessaryParentheses: | |
| active: true | |
| UntilInsteadOfRangeTo: | |
| active: true | |
| UnusedImports: | |
| active: true | |
| UnusedPrivateClass: | |
| active: true | |
| UnusedPrivateMember: | |
| active: true | |
| allowedNames: "(_|ignored|expected)" | |
| UseArrayLiteralsInAnnotations: | |
| active: true | |
| UseCheckOrError: | |
| active: true | |
| UseDataClass: | |
| active: false # TODO | |
| excludeAnnotatedClasses: "" | |
| UseIfInsteadOfWhen: | |
| active: false # TODO | |
| UseRequire: | |
| active: true | |
| UselessCallOnNotNull: | |
| active: true | |
| UtilityClassWithPublicConstructor: | |
| active: true | |
| VarCouldBeVal: | |
| active: true | |
| WildcardImport: | |
| active: false | |
| excludes: "**/*Test.kt, **/*Spec.kt" | |
| excludeImports: 'kotlinx.android.synthetic.*' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apply plugin: 'io.gitlab.arturbosch.detekt' | |
| //TODO nuclear option!!! | |
| //dependencies { | |
| // detektPlugins "io.gitlab.arturbosch.detekt:detekt-formatting:${Versions.detekt}" | |
| //} | |
| detekt { | |
| config = files("../scripts/detekt-config.yml") | |
| parallel = true | |
| reports { | |
| xml { | |
| enabled = true | |
| destination = file("build/reports/detekt/detekt.xml") | |
| } | |
| html { | |
| enabled = true | |
| destination = file("build/reports/detekt/detekt.html") | |
| } | |
| txt { | |
| enabled = false | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment