From 68069e0137d72d0d62eb3a9cc58f22803714d4d8 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 26 Jun 2023 09:22:21 +0800 Subject: [PATCH] Updated on 2026-08-14 --- plugins/configuration/detekt.yml | 836 ------------------ .../configurations/DetektConfigurations.kt | 2 +- tangem-android-tools | 1 + 3 files changed, 2 insertions(+), 837 deletions(-) delete mode 100644 plugins/configuration/detekt.yml create mode 160000 tangem-android-tools diff --git a/plugins/configuration/detekt.yml b/plugins/configuration/detekt.yml deleted file mode 100644 index 51dbfc0927..0000000000 --- a/plugins/configuration/detekt.yml +++ /dev/null @@ -1,836 +0,0 @@ -build: - maxIssues: 0 - -config: - validation: true - warningsAsErrors: false - -processors: - active: true - -console-reports: - active: true - exclude: - - 'ProjectStatisticsReport' - - 'ComplexityReport' - - 'NotificationReport' - - 'FindingsReport' - - 'FileBasedFindingsReport' -# - 'LiteFindingsReport' - -output-reports: - active: true - exclude: - - 'HtmlOutputReport' - # - 'TxtOutputReport' - - 'XmlOutputReport' - - 'SarifOutputReport' - - 'MdOutputReport' - -comments: - active: false - AbsentOrWrongFileLicense: - active: false - licenseTemplateFile: 'license.template' - licenseTemplateIsRegex: false - CommentOverPrivateFunction: - active: false - CommentOverPrivateProperty: - active: false - DeprecatedBlockTag: - active: false - EndOfSentenceFormat: - active: false - endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)' - KDocReferencesNonPublicProperty: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - OutdatedDocumentation: - active: false - matchTypeParameters: true - matchDeclarationsOrder: true - allowParamOnConstructorProperties: false - UndocumentedPublicClass: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - searchInNestedClass: true - searchInInnerClass: true - searchInInnerObject: true - searchInInnerInterface: true - UndocumentedPublicFunction: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - UndocumentedPublicProperty: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - -complexity: - active: true - CyclomaticComplexMethod: - active: true - ComplexCondition: - active: true - threshold: 4 - ComplexInterface: - active: false - threshold: 10 - includeStaticDeclarations: false - includePrivateDeclarations: false - LabeledExpression: - active: false - ignoredLabels: [ ] - LargeClass: - active: true - threshold: 300 - LongMethod: - active: true - threshold: 70 - LongParameterList: - active: true - functionThreshold: 6 - constructorThreshold: 7 - ignoreDefaultParameters: true - ignoreDataClasses: true - ignoreAnnotated: [ 'Provides' ] - MethodOverloading: - active: true - threshold: 6 - NamedArguments: - active: true - threshold: 3 - ignoreArgumentsMatchingNames: false - NestedBlockDepth: - active: true - threshold: 5 - NestedScopeFunctions: - active: false - threshold: 1 - functions: - - 'kotlin.apply' - - 'kotlin.run' - - 'kotlin.with' - - 'kotlin.let' - - 'kotlin.also' - ReplaceSafeCallChainWithRun: - active: true - StringLiteralDuplication: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - threshold: 3 - ignoreAnnotation: true - excludeStringsWithLessThan5Characters: true - ignoreStringsRegex: '$^' - TooManyFunctions: - active: true - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - thresholdInFiles: 20 - thresholdInClasses: 20 - thresholdInInterfaces: 20 - thresholdInObjects: 20 - thresholdInEnums: 20 - ignoreDeprecated: false - ignorePrivate: true - ignoreOverridden: false - -coroutines: - active: true - GlobalCoroutineUsage: - active: true - InjectDispatcher: - active: false #TODO - dispatcherNames: - - 'IO' - - 'Default' - - 'Unconfined' - RedundantSuspendModifier: - active: true - SleepInsteadOfDelay: - active: true - SuspendFunWithCoroutineScopeReceiver: - active: false - SuspendFunWithFlowReturnType: - active: 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: true - EmptyIfBlock: - active: true - EmptyInitBlock: - active: true - EmptyKtFile: - active: true - EmptySecondaryConstructor: - active: true - EmptyTryBlock: - active: true - EmptyWhenBlock: - active: true - EmptyWhileBlock: - active: true - -exceptions: - active: true - ExceptionRaisedInUnexpectedLocation: - active: true - methodNames: - - 'equals' - - 'finalize' - - 'hashCode' - - 'toString' - InstanceOfCheckForException: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - NotImplementedDeclaration: - active: false - ObjectExtendsThrowable: - active: true - PrintStackTrace: - active: true - RethrowCaughtException: - active: true - ReturnFromFinally: - active: true - ignoreLabeled: false - SwallowedException: - active: false - ignoredExceptionTypes: - - 'InterruptedException' - - 'MalformedURLException' - - 'NumberFormatException' - - 'ParseException' - allowedExceptionNameRegex: '_|(ignore|expected).*' - ThrowingExceptionFromFinally: - active: true - ThrowingExceptionInMain: - active: false - ThrowingExceptionsWithoutMessageOrCause: - active: true - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - exceptions: - - 'ArrayIndexOutOfBoundsException' - - 'Exception' - - 'IllegalArgumentException' - - 'IllegalMonitorStateException' - - 'IllegalStateException' - - 'IndexOutOfBoundsException' - - 'NullPointerException' - - 'RuntimeException' - - 'Throwable' - ThrowingNewInstanceOfSameException: - active: true - TooGenericExceptionCaught: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - exceptionNames: - - 'ArrayIndexOutOfBoundsException' - - 'Error' - - 'Exception' - - 'IllegalMonitorStateException' - - 'IndexOutOfBoundsException' - - 'NullPointerException' - - 'RuntimeException' - - 'Throwable' - allowedExceptionNameRegex: '_|(ignore|expected).*' - TooGenericExceptionThrown: - active: true - exceptionNames: - - 'Error' - - 'Exception' - - 'RuntimeException' - - 'Throwable' - -naming: - active: true - BooleanPropertyNaming: - active: true - allowedPattern: '^(is|has|are)' - ignoreOverridden: 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: '$^' - ignoreOverridden: true - 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 - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - functionPattern: '[a-z][a-zA-Z0-9]*' - excludeClassPattern: '$^' - ignoreOverridden: true - ignoreAnnotated: [ 'Composable' ] - FunctionParameterNaming: - active: true - parameterPattern: '[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - ignoreOverridden: true - InvalidPackageDeclaration: - active: true - rootPackage: '' - requireRootInDeclaration: false - LambdaParameterNaming: - active: false - parameterPattern: '[a-z][A-Za-z0-9]*|_' - MatchingDeclarationName: # Same as FileName - active: false - mustBeFirst: true - MemberNameEqualsClassName: - active: false - ignoreOverridden: true - NoNameShadowing: - active: true - NonBooleanPropertyPrefixedWithIs: - active: 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: 50 - VariableMinLength: - active: false - minimumVariableNameLength: 3 - 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: true - CouldBeSequence: - active: false - threshold: 3 - ForEachOnRange: - active: true - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - SpreadOperator: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - UnnecessaryTemporaryInstantiation: - active: true - -potential-bugs: - active: true - AvoidReferentialEquality: - active: true - forbiddenTypePatterns: - - 'kotlin.String' - CastToNullableType: - active: true - Deprecation: - active: false - DontDowncastCollectionTypes: - active: true - DoubleMutabilityForCollection: - active: true - mutableTypes: - - 'kotlin.collections.MutableList' - - 'kotlin.collections.MutableMap' - - 'kotlin.collections.MutableSet' - - 'java.util.ArrayList' - - 'java.util.LinkedHashSet' - - 'java.util.HashSet' - - 'java.util.LinkedHashMap' - - 'java.util.HashMap' - ElseCaseInsteadOfExhaustiveWhen: - active: false - EqualsAlwaysReturnsTrueOrFalse: - active: true - EqualsWithHashCodeExist: - active: true - ExitOutsideMain: - active: false - ExplicitGarbageCollectionCall: - active: true - HasPlatformType: - active: true - IgnoredReturnValue: - active: true - returnValueAnnotations: - - '*.CheckResult' - - '*.CheckReturnValue' - ignoreReturnValueAnnotations: - - '*.CanIgnoreReturnValue' - ignoreFunctionCall: [ ] - ImplicitDefaultLocale: - active: true - ImplicitUnitReturnType: - active: false - allowExplicitReturnType: true - InvalidRange: - active: true - IteratorHasNextCallsNextMethod: - active: true - IteratorNotThrowingNoSuchElementException: - active: true - LateinitUsage: - active: false - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - ignoreAnnotated: [ 'Inject' ] - ignoreOnClassesPattern: '' - MapGetWithNotNullAssertionOperator: - active: true - MissingPackageDeclaration: - active: true - excludes: [ '**/*.kts' ] - NullCheckOnMutableProperty: - active: true - NullableToStringCall: - active: true - UnconditionalJumpStatementInLoop: - active: true - UnnecessaryNotNullOperator: - active: true - UnnecessarySafeCall: - active: true - UnreachableCatchBlock: - active: true - UnreachableCode: - active: true - UnsafeCallOnNullableType: - active: true - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**' ] - UnsafeCast: - active: true - UnusedUnaryOperator: - active: true - UselessPostfixExpression: - active: true - WrongEqualsTypeParameter: - active: true - -style: - active: true - CanBeNonNullable: - active: false - CascadingCallWrapping: - active: false - includeElvis: true - ClassOrdering: - active: true - CollapsibleIfStatements: - active: true - DataClassContainsFunctions: - active: false - conversionFunctionPrefix: - - 'to' - DataClassShouldBeImmutable: - active: false - DestructuringDeclarationWithTooManyEntries: - active: true - maxDestructuringEntries: 3 - EqualsNullCall: - active: false - EqualsOnSignatureLine: - active: true - ExplicitCollectionElementAccessMethod: - active: true - ExplicitItLambdaParameter: - active: true - ExpressionBodySyntax: - active: false - includeLineWrapping: true - ForbiddenComment: - active: false - values: - - 'FIXME:' - - 'STOPSHIP:' - - 'TODO:' - allowedPatterns: '' - customMessage: '' - ForbiddenImport: - active: false - imports: [ ] - forbiddenPatterns: '' - ForbiddenMethodCall: - active: false - methods: - - reason: 'print does not allow you to configure the output stream. Use a logger instead.' - value: 'kotlin.io.print' - - reason: 'println does not allow you to configure the output stream. Use a logger instead.' - value: 'kotlin.io.println' - ForbiddenSuppress: - active: false - rules: [ ] - ForbiddenVoid: - active: false - ignoreOverridden: false - ignoreUsageInGenerics: false - FunctionOnlyReturningConstant: - active: true - ignoreOverridableFunction: true - ignoreActualFunction: true - LoopWithTooManyJumpStatements: - active: true - maxJumpCount: 2 - MagicNumber: - active: true - excludes: [ '**/test/**', '**/androidTest/**', '**/commonTest/**', '**/*.kts' ] - ignoreNumbers: - - '-1' - - '0' - - '1' - - '2' - ignoreHashCodeFunction: true - ignorePropertyDeclaration: true - ignoreLocalVariableDeclaration: false - ignoreConstantDeclaration: true - ignoreCompanionObjectPropertyDeclaration: true - ignoreAnnotation: false - ignoreNamedArgument: true - ignoreEnums: false - ignoreRanges: false - ignoreExtensionFunctions: true - ignoreAnnotated: [ 'Preview' ] - MandatoryBracesIfStatements: - active: true - MandatoryBracesLoops: - active: true - MaxChainedCallsOnSameLine: - active: true - maxChainedCalls: 5 - MaxLineLength: - active: false # Same as MaximumLineLength - maxLineLength: 120 - excludePackageStatements: true - excludeImportStatements: true - excludeCommentStatements: false - MayBeConst: - active: true - ModifierOrder: - active: false # Same as ModifierOrdering - MultilineLambdaItParameter: - active: true - NestedClassesVisibility: - active: true - NewLineAtEndOfFile: - active: false # Same as FinalNewline - NoTabs: - active: true - NullableBooleanCheck: - active: true - ObjectLiteralToLambda: - active: true - OptionalAbstractKeyword: - active: true - OptionalUnit: - active: true - OptionalWhenBraces: - active: false - PreferToOverPairSyntax: - active: false - ProtectedMemberInFinalClass: - active: true - RedundantExplicitType: - active: false - RedundantHigherOrderMapUsage: - active: true - RedundantVisibilityModifierRule: - active: true - ReturnCount: - active: false - max: 2 - excludedFunctions: - - 'equals' - excludeLabeled: false - excludeReturnFromLambda: true - excludeGuardClauses: false - SafeCast: - active: true - SerialVersionUIDInSerializableClass: - active: true - SpacingBetweenPackageAndImports: - active: true - ThrowsCount: - active: false - max: 2 - excludeGuardClauses: false - TrailingWhitespace: - active: false - UnderscoresInNumericLiterals: - active: false - acceptableLength: 4 - allowNonStandardGrouping: false - UnnecessaryAbstractClass: - active: true - UnnecessaryAnnotationUseSiteTarget: - active: false - UnnecessaryApply: - active: true - UnnecessaryBackticks: - active: true - UnnecessaryFilter: - active: true - UnnecessaryInheritance: - active: true - UnnecessaryInnerClass: - active: false - UnnecessaryLet: - active: true - UnnecessaryParentheses: - active: true - UntilInsteadOfRangeTo: - active: true - UnusedImports: - active: true - UnusedPrivateClass: - active: true - ignoreAnnotated: [ 'UnusedRequiredComponent' ] - UnusedPrivateMember: - active: true - allowedNames: '(_|ignored|expected|serialVersionUID)' - ignoreAnnotated: [ 'Preview', 'UnusedRequiredComponent' ] - UseAnyOrNoneInsteadOfFind: - active: true - UseArrayLiteralsInAnnotations: - active: true - UseCheckNotNull: - active: true - UseCheckOrError: - active: true - UseDataClass: - active: false - allowVars: false - UseEmptyCounterpart: - active: true - UseIfEmptyOrIfBlank: - active: true - UseIfInsteadOfWhen: - active: false - UseIsNullOrEmpty: - active: true - UseOrEmpty: - active: true - UseRequire: - active: true - UseRequireNotNull: - active: true - UselessCallOnNotNull: - active: true - UtilityClassWithPublicConstructor: - active: true - VarCouldBeVal: - active: true - ignoreLateinitVar: false - WildcardImport: - active: false - excludeImports: - - 'java.util.*' - -formatting: - active: true - android: true - AnnotationOnSeparateLine: - active: false - AnnotationSpacing: - active: true - ArgumentListWrapping: - active: true - indentSize: 4 - maxLineLength: 120 - BlockCommentInitialStarAlignment: - active: true - ChainWrapping: - active: true - CommentSpacing: - active: true - CommentWrapping: - active: false - indentSize: 4 - DiscouragedCommentLocation: - active: true - EnumEntryNameCase: - active: true - Filename: - active: true # This rules overlaps with naming>MatchingDeclarationName from the standard rules - mustBeFirst: true - FinalNewline: # This rules overlaps with style>NewLineAtEndOfFile from the standard rules - active: true - insertFinalNewLine: true - FunKeywordSpacing: - active: true - FunctionReturnTypeSpacing: - active: true - FunctionSignature: - active: true - forceMultilineWhenParameterCountGreaterOrEqualThan: 2147483647 - functionBodyExpressionWrapping: 'default' - maxLineLength: 120 - indentSize: 4 - FunctionStartOfBodySpacing: - active: true - FunctionTypeReferenceSpacing: - active: true - ImportOrdering: - active: false - layout: 'java.**,javax.**,kotlin.**,kotlinx.**,android.**,androidx.**,*,^' - Indentation: - active: true - indentSize: 4 - KdocWrapping: - active: true - indentSize: 4 - MaximumLineLength: - excludes: [ "**/assets/**" ] - active: true # This rules overlaps with style>MaxLineLength from the standard rules - maxLineLength: 120 - excludePackageStatements: true - excludeImportStatements: true - excludeCommentStatements: false - ModifierListSpacing: - active: true - ModifierOrdering: - active: true # This rules overlaps with style>ModifierOrder from the standard rules - MultiLineIfElse: - active: true - NoBlankLineBeforeRbrace: - active: true - NoBlankLinesInChainedMethodCalls: - active: true - NoConsecutiveBlankLines: - active: true - NoEmptyClassBody: - active: true - NoEmptyFirstLineInMethodBlock: - 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: false - packagesToUseImportOnDemandProperty: 'java.util.*,kotlinx.android.synthetic.**' - NullableTypeSpacing: - active: true - PackageName: - active: true - ParameterListSpacing: - active: true - ParameterListWrapping: - active: true - maxLineLength: 120 - SpacingAroundAngleBrackets: - active: true - SpacingAroundColon: - active: true - SpacingAroundComma: - active: true - SpacingAroundCurly: - active: true - SpacingAroundDot: - active: true - SpacingAroundDoubleColon: - active: true - SpacingAroundKeyword: - active: true - SpacingAroundOperators: - active: true - SpacingAroundParens: - active: true - SpacingAroundRangeOperator: - active: true - SpacingAroundUnaryOperator: - active: true - SpacingBetweenDeclarationsWithAnnotations: - active: true - SpacingBetweenDeclarationsWithComments: - active: false - SpacingBetweenFunctionNameAndOpeningParenthesis: - active: true - StringTemplate: - active: true - TrailingCommaOnCallSite: - active: true - useTrailingCommaOnCallSite: true - TrailingCommaOnDeclarationSite: - active: true - useTrailingCommaOnDeclarationSite: true - TypeArgumentListSpacing: - active: true - TypeParameterListSpacing: - active: true - UnnecessaryParenthesesBeforeTrailingLambda: - active: true - Wrapping: - active: true - indentSize: 4 - -compose: - ReusedModifierInstance: - active: true - UnnecessaryEventHandlerParameter: - active: true - ComposableEventParameterNaming: - active: true - ComposableParametersOrdering: - active: true - ModifierDefaultValue: - active: true - MissingModifierDefaultValue: - active: true - ModifierHeightWithText: - active: true - ModifierParameterPosition: - active: true - PublicComposablePreview: - active: true - TopLevelComposableFunctions: - active: true - ComposeFunctionName: - active: true diff --git a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/DetektConfigurations.kt b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/DetektConfigurations.kt index 1bcf190ab5..7f3919e6d8 100644 --- a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/DetektConfigurations.kt +++ b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/DetektConfigurations.kt @@ -22,7 +22,7 @@ private fun DetektExtension.configure(project: Project) { ignoreFailures = false autoCorrect = true buildUponDefaultConfig = true - config.setFrom(project.rootProject.files("plugins/configuration/detekt.yml")) + config.setFrom(project.rootProject.files("tangem-android-tools/detekt-config.yml")) } private fun Project.configureDetektPlugins() { diff --git a/tangem-android-tools b/tangem-android-tools new file mode 160000 index 0000000000..03186c35c1 --- /dev/null +++ b/tangem-android-tools @@ -0,0 +1 @@ +Subproject commit 03186c35c13d8693d9a4c7dcb6e760fa58984e67