Skip to content

Commit e524bb0

Browse files
[JEWEL-1309] Bump detekt from v1 to v2.0.0-alpha.3
Group ID changed from io.gitlab.arturbosch.detekt to dev.detekt. Updated all library entries, SHA256 checksums, and transitive deps in both detektPlugin and detektPlugin.tests IML files.
1 parent 94148c3 commit e524bb0

27 files changed

Lines changed: 640 additions & 1334 deletions

File tree

lib/BUILD.bazel

Lines changed: 153 additions & 340 deletions
Large diffs are not rendered by default.

lib/MODULE.bazel

Lines changed: 116 additions & 263 deletions
Large diffs are not rendered by default.

platform/jewel/buildSrc/src/main/kotlin/icon-keys-generator.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@file:Suppress("UnstableApiUsage")
22

3-
import io.gitlab.arturbosch.detekt.Detekt
3+
import dev.detekt.gradle.Detekt
44
import org.jetbrains.dokka.gradle.DokkaTask
55
import org.jetbrains.dokka.gradle.tasks.DokkaGenerateModuleTask
66
import org.jetbrains.dokka.gradle.tasks.DokkaGeneratePublicationTask

platform/jewel/buildSrc/src/main/kotlin/intellij-theme-generator.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@file:Suppress("UnstableApiUsage")
22

33
import com.squareup.kotlinpoet.ClassName
4-
import io.gitlab.arturbosch.detekt.Detekt
4+
import dev.detekt.gradle.Detekt
55
import org.gradle.util.internal.GUtil
66
import org.jetbrains.dokka.gradle.DokkaTask
77
import org.jetbrains.dokka.gradle.tasks.DokkaGenerateModuleTask

platform/jewel/buildSrc/src/main/kotlin/jewel-linting.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@file:Suppress("UnstableApiUsage")
22

33
plugins {
4-
id("io.gitlab.arturbosch.detekt")
4+
id("dev.detekt")
55
id("org.jmailen.kotlinter")
66
id("com.ncorti.ktfmt.gradle")
77
}
@@ -15,7 +15,7 @@ detekt {
1515
dependencies {
1616
// Use the Jewel custom rules
1717
detektPlugins(project(":detekt-plugin"))
18-
detektPlugins("io.nlopez.compose.rules:detekt:0.4.27")
18+
detektPlugins("io.nlopez.compose.rules:detekt:0.5.8")
1919
}
2020

2121
ktfmt {

platform/jewel/detekt-plugin/BUILD.bazel

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ jvm_library(
3838
"@lib//:kotlin-stdlib",
3939
"//libraries/kotlinx/coroutines/core",
4040
"@lib//:jetbrains-annotations",
41-
"@lib//:platform-jewel-detekt_plugin-jetbrains-kotlin-compiler-embeddable",
42-
"@lib//:platform-jewel-detekt_plugin-io-gitlab-arturbosch-detekt-api",
41+
"@lib//:platform-jewel-detekt_plugin-jetbrains-kotlin-compiler",
42+
"@lib//:platform-jewel-detekt_plugin-dev-detekt-api",
4343
]
4444
)
4545

@@ -52,12 +52,14 @@ jvm_library(
5252
runtime_deps = [
5353
":detekt-plugin",
5454
"//libraries/kotlinx/coroutines/core:core_test_lib",
55+
"//platform/util-class-loader:util-classLoader",
56+
"//platform/util-class-loader:util-classLoader_test_lib",
5557
"//libraries/junit5",
5658
"//libraries/junit5:junit5_test_lib",
5759
"//libraries/assertj-core",
5860
"//libraries/assertj-core:assertj-core_test_lib",
59-
"@lib//:platform-jewel-detekt_plugin-io-gitlab-arturbosch-detekt-test",
60-
"@lib//:platform-jewel-detekt_plugin-io-gitlab-arturbosch-detekt-core",
61+
"@lib//:platform-jewel-detekt_plugin-dev-detekt-test",
62+
"@lib//:platform-jewel-detekt_plugin-dev-detekt-core",
6163
]
6264
)
6365
### auto-generated section `build intellij.platform.jewel.detektPlugin` end
@@ -97,14 +99,16 @@ jvm_library(
9799
"//libraries/kotlinx/coroutines/core",
98100
"//libraries/kotlinx/coroutines/core:core_test_lib",
99101
"@lib//:jetbrains-annotations",
100-
"@lib//:platform-jewel-detekt_plugin-tests-jetbrains-kotlin-compiler-embeddable",
101-
"@lib//:platform-jewel-detekt_plugin-tests-io-gitlab-arturbosch-detekt-api",
102+
"//platform/util-class-loader:util-classLoader",
103+
"//platform/util-class-loader:util-classLoader_test_lib",
104+
"@lib//:platform-jewel-detekt_plugin-tests-jetbrains-kotlin-compiler",
105+
"@lib//:platform-jewel-detekt_plugin-tests-dev-detekt-api",
102106
"//libraries/junit5",
103107
"//libraries/junit5:junit5_test_lib",
104108
"//libraries/assertj-core",
105109
"//libraries/assertj-core:assertj-core_test_lib",
106-
"@lib//:platform-jewel-detekt_plugin-tests-io-gitlab-arturbosch-detekt-test",
107-
"@lib//:platform-jewel-detekt_plugin-tests-io-gitlab-arturbosch-detekt-core",
110+
"@lib//:platform-jewel-detekt_plugin-tests-dev-detekt-test",
111+
"@lib//:platform-jewel-detekt_plugin-tests-dev-detekt-core",
108112
],
109113
runtime_deps = [":detektPlugin-tests"]
110114
)

platform/jewel/detekt-plugin/intellij.platform.jewel.detektPlugin.iml

Lines changed: 103 additions & 287 deletions
Large diffs are not rendered by default.

platform/jewel/detekt-plugin/intellij.platform.jewel.detektPlugin.tests.iml

Lines changed: 103 additions & 287 deletions
Large diffs are not rendered by default.

platform/jewel/detekt-plugin/src/main/kotlin/org/jetbrains/jewel/detekt/JewelRuleSetProvider.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
// Apache 2.0 license.
33
package org.jetbrains.jewel.detekt
44

5-
import io.gitlab.arturbosch.detekt.api.Config
6-
import io.gitlab.arturbosch.detekt.api.RuleSet
7-
import io.gitlab.arturbosch.detekt.api.RuleSetProvider
5+
import dev.detekt.api.RuleSet
6+
import dev.detekt.api.RuleSetId
7+
import dev.detekt.api.RuleSetProvider
88
import org.jetbrains.jewel.detekt.rules.EqualityMembersRule
99
import org.jetbrains.jewel.detekt.rules.MissingApiStatusAnnotationRule
1010

1111
class JewelRuleSetProvider : RuleSetProvider {
12-
override val ruleSetId: String = "jewel"
12+
override val ruleSetId: RuleSetId = RuleSetId("jewel")
1313

14-
override fun instance(config: Config): RuleSet =
15-
RuleSet(ruleSetId, listOf(EqualityMembersRule(config), MissingApiStatusAnnotationRule(config)))
14+
override fun instance(): RuleSet =
15+
RuleSet(ruleSetId, rules = listOf(::EqualityMembersRule, ::MissingApiStatusAnnotationRule))
1616
}

platform/jewel/detekt-plugin/src/main/kotlin/org/jetbrains/jewel/detekt/rules/EqualityMembersRule.kt

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,14 @@
22
// Apache 2.0 license.
33
package org.jetbrains.jewel.detekt.rules
44

5-
import io.gitlab.arturbosch.detekt.api.CodeSmell
6-
import io.gitlab.arturbosch.detekt.api.Config
7-
import io.gitlab.arturbosch.detekt.api.CorrectableCodeSmell
8-
import io.gitlab.arturbosch.detekt.api.Debt
9-
import io.gitlab.arturbosch.detekt.api.Entity
10-
import io.gitlab.arturbosch.detekt.api.Issue
11-
import io.gitlab.arturbosch.detekt.api.Rule
12-
import io.gitlab.arturbosch.detekt.api.Severity
13-
import io.gitlab.arturbosch.detekt.api.config
14-
import org.jetbrains.kotlin.com.intellij.psi.PsiWhiteSpace
15-
import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.LeafPsiElement
5+
import com.intellij.psi.PsiWhiteSpace
6+
import com.intellij.psi.impl.source.tree.LeafPsiElement
7+
import dev.detekt.api.Config
8+
import dev.detekt.api.Entity
9+
import dev.detekt.api.Finding
10+
import dev.detekt.api.Rule
11+
import dev.detekt.api.config
12+
import dev.detekt.api.internal.AutoCorrectable
1613
import org.jetbrains.kotlin.lexer.KtTokens
1714
import org.jetbrains.kotlin.psi.KtClass
1815
import org.jetbrains.kotlin.psi.KtFunction
@@ -21,6 +18,8 @@ import org.jetbrains.kotlin.psi.KtNamedFunction
2118
import org.jetbrains.kotlin.psi.KtPsiFactory
2219
import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType
2320

21+
private const val RULE_DESCRIPTION = "This rule detects missing or incomplete equals/hashCode/toString functions."
22+
2423
/**
2524
* This rule ensures that classes annotated with specific annotations (e.g., `@GenerateDataFunctions`) have correct
2625
* `equals()`, `hashCode()`, and `toString()` implementations.
@@ -32,15 +31,8 @@ import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType
3231
* correctly implemented based on the class's properties. Formatting of the auto-corrected code is left to the IDE's
3332
* formatter/ktfmt.
3433
*/
35-
class EqualityMembersRule(config: Config) : Rule(config) {
36-
override val issue: Issue =
37-
Issue(
38-
javaClass.simpleName,
39-
Severity.Defect,
40-
"This rule detects missing or incomplete equals/hashCode/toString functions.",
41-
Debt.FIVE_MINS,
42-
)
43-
34+
@AutoCorrectable(since = "2.0.0-alpha.3")
35+
class EqualityMembersRule(config: Config) : Rule(config, RULE_DESCRIPTION) {
4436
private val functionsToCheck: List<String> by config(defaultValue = listOf("equals", "hashCode", "toString"))
4537
private val annotated: List<String> by config(defaultValue = listOf("GenerateDataFunctions"))
4638

@@ -57,7 +49,9 @@ class EqualityMembersRule(config: Config) : Rule(config) {
5749
if (properties.isEmpty()) return
5850
val methodsToRegenerate = analyzeEqualityMembers(klass, functionsToCheck.toSet(), properties)
5951

60-
withAutoCorrect { generateEqualityMembers(klass, methodsToRegenerate.sorted(), properties) }
52+
if (autoCorrect) {
53+
generateEqualityMembers(klass, methodsToRegenerate.sorted(), properties)
54+
}
6155
}
6256

6357
private fun hasAnnotations(klass: KtClass, requiredAnnotations: Set<String>): Boolean {
@@ -94,11 +88,9 @@ class EqualityMembersRule(config: Config) : Rule(config) {
9488
if (missingFunctionNames.isNotEmpty()) {
9589
val functionNames = missingFunctionNames.joinToString(", ")
9690
report(
97-
CorrectableCodeSmell(
98-
issue = issue,
99-
entity = Entity.from(klass),
91+
Finding(
92+
entity = Entity.atName(klass),
10093
message = "${klass.name} is missing required functions: $functionNames.",
101-
autoCorrectEnabled = autoCorrect,
10294
)
10395
)
10496
}
@@ -116,9 +108,8 @@ class EqualityMembersRule(config: Config) : Rule(config) {
116108
if (it == null) {
117109
hasAll = false
118110
report(
119-
CodeSmell(
120-
issue,
121-
Entity.from(declaredFunction),
111+
Finding(
112+
Entity.atName(declaredFunction),
122113
"Function ${declaredFunction.name} is missing property $prop.",
123114
)
124115
)

0 commit comments

Comments
 (0)