From 855fc7ff5b518950e479f8a2466a48e467d15723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brais=20Gab=C3=ADn?= Date: Sun, 24 Jul 2022 16:53:03 +0200 Subject: [PATCH 1/3] Use MagicNumber as sample for the tests --- .../detekt/generator/printer/DeprecatedPrinterSpec.kt | 4 ++-- .../arturbosch/detekt/generator/util/RuleSetPageCreator.kt | 2 +- detekt-generator/src/test/resources/RuleSet.md | 2 +- detekt-generator/src/test/resources/RuleSetConfig.yml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/printer/DeprecatedPrinterSpec.kt b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/printer/DeprecatedPrinterSpec.kt index 44b5d3cbef6..0e2690929c0 100644 --- a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/printer/DeprecatedPrinterSpec.kt +++ b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/printer/DeprecatedPrinterSpec.kt @@ -10,8 +10,8 @@ class DeprecatedPrinterSpec { fun `prints the correct properties`() { val markdownString = DeprecatedPrinter.print(listOf(createRuleSetPage())) val expectedMarkdownString = """ - style>WildcardImport>conf2=use conf1 instead - style>WildcardImport>conf4=use conf3 instead + style>MagicNumber>conf2=use conf1 instead + style>MagicNumber>conf4=use conf3 instead """.trimIndent() assertThat(markdownString).isEqualTo(expectedMarkdownString) diff --git a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/util/RuleSetPageCreator.kt b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/util/RuleSetPageCreator.kt index 250acb3d3a0..c217da2e9ec 100644 --- a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/util/RuleSetPageCreator.kt +++ b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/util/RuleSetPageCreator.kt @@ -59,7 +59,7 @@ internal fun createRuleSetPage(): RuleSetPage { internal fun createRules(): List { val rule1 = Rule( - name = "WildcardImport", + name = "MagicNumber", description = "a wildcard import", nonCompliantCodeExample = "import foo.*", compliantCodeExample = "import foo.bar", diff --git a/detekt-generator/src/test/resources/RuleSet.md b/detekt-generator/src/test/resources/RuleSet.md index 2b1821e3981..9943ce20efc 100644 --- a/detekt-generator/src/test/resources/RuleSet.md +++ b/detekt-generator/src/test/resources/RuleSet.md @@ -1,6 +1,6 @@ style rule set -### WildcardImport +### MagicNumber a wildcard import diff --git a/detekt-generator/src/test/resources/RuleSetConfig.yml b/detekt-generator/src/test/resources/RuleSetConfig.yml index 85e774df981..7719739ff26 100644 --- a/detekt-generator/src/test/resources/RuleSetConfig.yml +++ b/detekt-generator/src/test/resources/RuleSetConfig.yml @@ -7,9 +7,9 @@ style: rulesetconfig3: - 'first' - 'se*cond' - WildcardImport: + MagicNumber: active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] + excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**', '**/*.kts'] conf1: 'foo' conf3: - 'a' From 323ee70bd43ccdac657e2440c88c3a235f73e67c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brais=20Gab=C3=ADn?= Date: Sat, 23 Jul 2022 16:15:37 +0200 Subject: [PATCH 2/3] There is not a good reason to allow Wildcard imports inside the tests if you don't want them in your production code --- detekt-core/src/main/resources/default-detekt-config.yml | 1 - .../detekt/generator/printer/defaultconfig/Exclusion.kt | 1 - 2 files changed, 2 deletions(-) diff --git a/detekt-core/src/main/resources/default-detekt-config.yml b/detekt-core/src/main/resources/default-detekt-config.yml index 9f414ae5fe0..1e0e6a42c58 100644 --- a/detekt-core/src/main/resources/default-detekt-config.yml +++ b/detekt-core/src/main/resources/default-detekt-config.yml @@ -716,6 +716,5 @@ style: ignoreLateinitVar: false WildcardImport: active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**'] excludeImports: - 'java.util.*' 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 56a00af6ad5..b2c6f392714 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 @@ -27,7 +27,6 @@ private object TestExclusions : Exclusions() { override val ruleSets = emptySet() override val rules = setOf( "FunctionNaming", - "WildcardImport", "LateinitUsage", "StringLiteralDuplication", "SpreadOperator", From 3feb39f56a217572a9fb261d1d4c6b99c3e59a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brais=20Gab=C3=ADn?= Date: Sat, 23 Jul 2022 16:16:58 +0200 Subject: [PATCH 3/3] Remove exceptions in the WildcardImport rule --- config/detekt/detekt.yml | 3 +++ .../io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml index ca08c03da80..62332182dba 100644 --- a/config/detekt/detekt.yml +++ b/config/detekt/detekt.yml @@ -274,3 +274,6 @@ style: VarCouldBeVal: active: true ignoreAnnotated: ['Parameter'] + WildcardImport: + active: true + excludeImports: [] diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt index 2b7844d5091..0fa570cc4d3 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt @@ -60,7 +60,7 @@ import org.jetbrains.kotlin.com.intellij.lang.ASTNode import org.jetbrains.kotlin.com.intellij.psi.impl.source.JavaDummyElement import org.jetbrains.kotlin.com.intellij.psi.impl.source.JavaDummyHolder import org.jetbrains.kotlin.psi.KtFile -import java.util.* +import java.util.LinkedList /** * Runs all KtLint rules.