From 05b12e560d7c9d3c667864a5e2f071d64423e574 Mon Sep 17 00:00:00 2001 From: schalkms <30376729+schalkms@users.noreply.github.com> Date: Tue, 31 May 2022 12:21:45 +0200 Subject: [PATCH 1/2] Update MagicNumber rule to exclude .kts files The MagicNumber rule should not be enforced in script files, because you cannot have constants in these files. Closes #4863 --- detekt-core/src/main/resources/default-detekt-config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/detekt-core/src/main/resources/default-detekt-config.yml b/detekt-core/src/main/resources/default-detekt-config.yml index c7d8ccb55a1..d1f23451b23 100644 --- a/detekt-core/src/main/resources/default-detekt-config.yml +++ b/detekt-core/src/main/resources/default-detekt-config.yml @@ -543,7 +543,7 @@ style: maxJumpCount: 1 MagicNumber: active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] + excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**', '**/*.kts'] ignoreNumbers: - '-1' - '0' From 779985b3c324810b72d30269dfae666363dc4385 Mon Sep 17 00:00:00 2001 From: schalkms Date: Tue, 31 May 2022 21:20:29 +0200 Subject: [PATCH 2/2] Adapt Exclusion.kt for MagicNumber rule --- .../generator/printer/defaultconfig/Exclusion.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/defaultconfig/Exclusion.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/defaultconfig/Exclusion.kt index 380dfa87258..56a00af6ad5 100644 --- a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/defaultconfig/Exclusion.kt +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/defaultconfig/Exclusion.kt @@ -5,7 +5,7 @@ import io.gitlab.arturbosch.detekt.generator.collection.Rule /** * Holds a list of extra exclusions for rules and rule sets. */ -val exclusions = arrayOf(TestExclusions, KotlinScriptExclusions, LibraryExclusions) +val exclusions = arrayOf(TestExclusions, KotlinScriptExclusions, KotlinScriptAndTestExclusions, LibraryExclusions) /** * Tracks rules and rule sets which needs an extra `excludes: $pattern` property @@ -28,7 +28,6 @@ private object TestExclusions : Exclusions() { override val rules = setOf( "FunctionNaming", "WildcardImport", - "MagicNumber", "LateinitUsage", "StringLiteralDuplication", "SpreadOperator", @@ -51,6 +50,14 @@ private object KotlinScriptExclusions : Exclusions() { override val rules = setOf("MissingPackageDeclaration") } +private object KotlinScriptAndTestExclusions : Exclusions() { + + override val pattern = + "['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**', " + + "'**/*.kts']" + override val rules = setOf("MagicNumber") +} + private object LibraryExclusions : Exclusions() { override val pattern = "['**']"