From bb6c4583c873fe8cdd502e2f02539741e9bda780 Mon Sep 17 00:00:00 2001 From: Matthew Haughton <3flex@users.noreply.github.com> Date: Thu, 9 May 2024 08:07:49 +1000 Subject: [PATCH] Remove detekt-psi-utils usage from detekt-api (#7260) --- detekt-api/build.gradle.kts | 1 - .../kotlin/io/gitlab/arturbosch/detekt/api/Location.kt | 9 +++++++-- detekt-formatting/build.gradle.kts | 1 + detekt-generator/build.gradle.kts | 1 + detekt-metrics/build.gradle.kts | 2 ++ detekt-rules-complexity/build.gradle.kts | 1 + detekt-rules-coroutines/build.gradle.kts | 1 + detekt-rules-documentation/build.gradle.kts | 1 + detekt-rules-empty/build.gradle.kts | 1 + detekt-rules-errorprone/build.gradle.kts | 1 + detekt-rules-exceptions/build.gradle.kts | 1 + detekt-rules-libraries/build.gradle.kts | 1 + detekt-rules-naming/build.gradle.kts | 1 + detekt-rules-ruleauthors/build.gradle.kts | 1 + detekt-rules-style/build.gradle.kts | 1 + 15 files changed, 21 insertions(+), 3 deletions(-) diff --git a/detekt-api/build.gradle.kts b/detekt-api/build.gradle.kts index 4a5ff5ce52f..8da640b7d3c 100644 --- a/detekt-api/build.gradle.kts +++ b/detekt-api/build.gradle.kts @@ -7,7 +7,6 @@ plugins { dependencies { api(libs.kotlin.compilerEmbeddable) - api(projects.detektPsiUtils) implementation(projects.detektUtils) testImplementation(projects.detektTest) diff --git a/detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/Location.kt b/detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/Location.kt index 7e00007f833..fe55c6f7830 100644 --- a/detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/Location.kt +++ b/detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/Location.kt @@ -1,7 +1,6 @@ package io.gitlab.arturbosch.detekt.api import dev.drewhamilton.poko.Poko -import io.github.detekt.psi.absolutePath import org.jetbrains.kotlin.com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.com.intellij.psi.PsiElement import org.jetbrains.kotlin.diagnostics.DiagnosticUtils.getLineAndColumnInPsiFile @@ -10,6 +9,7 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.startOffset import java.nio.file.Path +import kotlin.io.path.Path /** * Specifies a position within a source code fragment. @@ -37,7 +37,12 @@ class Location( val end = endLineAndColumn(element, offset) val endSourceLocation = SourceLocation(end.line, end.column) val textLocation = TextLocation(element.startOffset + offset, element.endOffset + offset) - return Location(sourceLocation, endSourceLocation, textLocation, element.containingFile.absolutePath()) + return Location( + sourceLocation, + endSourceLocation, + textLocation, + Path((element.containingFile as KtFile).virtualFilePath) + ) } /** diff --git a/detekt-formatting/build.gradle.kts b/detekt-formatting/build.gradle.kts index f13f28c1a69..f0cc27e6c34 100644 --- a/detekt-formatting/build.gradle.kts +++ b/detekt-formatting/build.gradle.kts @@ -6,6 +6,7 @@ val extraDepsToPackage: Configuration by configurations.creating dependencies { compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) implementation(libs.ktlintRulesetStandard) { exclude(group = "org.jetbrains.kotlin") } diff --git a/detekt-generator/build.gradle.kts b/detekt-generator/build.gradle.kts index 04bbd4509ce..0f07819f1ea 100644 --- a/detekt-generator/build.gradle.kts +++ b/detekt-generator/build.gradle.kts @@ -16,6 +16,7 @@ val generatedUsageOutput by configurations.resolvable("generatedUsageOutput") { dependencies { implementation(projects.detektParser) implementation(projects.detektApi) + implementation(projects.detektPsiUtils) generatedUsage(projects.detektCli) { targetConfiguration = "generatedCliUsage" } diff --git a/detekt-metrics/build.gradle.kts b/detekt-metrics/build.gradle.kts index 9818615b3ca..16d56dc019a 100644 --- a/detekt-metrics/build.gradle.kts +++ b/detekt-metrics/build.gradle.kts @@ -4,7 +4,9 @@ plugins { dependencies { api(projects.detektApi) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektTestUtils) testImplementation(testFixtures(projects.detektApi)) testImplementation(libs.assertj) + testRuntimeOnly(projects.detektPsiUtils) } diff --git a/detekt-rules-complexity/build.gradle.kts b/detekt-rules-complexity/build.gradle.kts index 2db788f8ab8..884265c44df 100644 --- a/detekt-rules-complexity/build.gradle.kts +++ b/detekt-rules-complexity/build.gradle.kts @@ -5,6 +5,7 @@ plugins { dependencies { compileOnly(projects.detektApi) compileOnly(projects.detektMetrics) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektMetrics) testImplementation(projects.detektTest) testImplementation(libs.assertj) diff --git a/detekt-rules-coroutines/build.gradle.kts b/detekt-rules-coroutines/build.gradle.kts index 5d14101530b..5d1212a7076 100644 --- a/detekt-rules-coroutines/build.gradle.kts +++ b/detekt-rules-coroutines/build.gradle.kts @@ -4,6 +4,7 @@ plugins { dependencies { compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektTest) testImplementation(libs.assertj) testRuntimeOnly(libs.kotlinx.coroutines) diff --git a/detekt-rules-documentation/build.gradle.kts b/detekt-rules-documentation/build.gradle.kts index e0469ce857e..e0a64c466b0 100644 --- a/detekt-rules-documentation/build.gradle.kts +++ b/detekt-rules-documentation/build.gradle.kts @@ -4,6 +4,7 @@ plugins { dependencies { compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektTest) testImplementation(libs.assertj) } diff --git a/detekt-rules-empty/build.gradle.kts b/detekt-rules-empty/build.gradle.kts index e0469ce857e..e0a64c466b0 100644 --- a/detekt-rules-empty/build.gradle.kts +++ b/detekt-rules-empty/build.gradle.kts @@ -4,6 +4,7 @@ plugins { dependencies { compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektTest) testImplementation(libs.assertj) } diff --git a/detekt-rules-errorprone/build.gradle.kts b/detekt-rules-errorprone/build.gradle.kts index c8c8e8e2c55..8bd1ce0778a 100644 --- a/detekt-rules-errorprone/build.gradle.kts +++ b/detekt-rules-errorprone/build.gradle.kts @@ -4,6 +4,7 @@ plugins { dependencies { compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) implementation(projects.detektTooling) testImplementation(projects.detektTest) testImplementation(libs.assertj) diff --git a/detekt-rules-exceptions/build.gradle.kts b/detekt-rules-exceptions/build.gradle.kts index e0469ce857e..e0a64c466b0 100644 --- a/detekt-rules-exceptions/build.gradle.kts +++ b/detekt-rules-exceptions/build.gradle.kts @@ -4,6 +4,7 @@ plugins { dependencies { compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektTest) testImplementation(libs.assertj) } diff --git a/detekt-rules-libraries/build.gradle.kts b/detekt-rules-libraries/build.gradle.kts index 649322655af..f5e57c17538 100644 --- a/detekt-rules-libraries/build.gradle.kts +++ b/detekt-rules-libraries/build.gradle.kts @@ -5,6 +5,7 @@ plugins { dependencies { compileOnly(kotlin("stdlib-jdk8")) compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektTest) testImplementation(libs.assertj) } diff --git a/detekt-rules-naming/build.gradle.kts b/detekt-rules-naming/build.gradle.kts index e0469ce857e..e0a64c466b0 100644 --- a/detekt-rules-naming/build.gradle.kts +++ b/detekt-rules-naming/build.gradle.kts @@ -4,6 +4,7 @@ plugins { dependencies { compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektTest) testImplementation(libs.assertj) } diff --git a/detekt-rules-ruleauthors/build.gradle.kts b/detekt-rules-ruleauthors/build.gradle.kts index a49103108e8..16828707734 100644 --- a/detekt-rules-ruleauthors/build.gradle.kts +++ b/detekt-rules-ruleauthors/build.gradle.kts @@ -5,6 +5,7 @@ plugins { dependencies { compileOnly(kotlin("stdlib-jdk8")) compileOnly(projects.detektApi) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektTest) testImplementation(libs.assertj) } diff --git a/detekt-rules-style/build.gradle.kts b/detekt-rules-style/build.gradle.kts index 2db788f8ab8..884265c44df 100644 --- a/detekt-rules-style/build.gradle.kts +++ b/detekt-rules-style/build.gradle.kts @@ -5,6 +5,7 @@ plugins { dependencies { compileOnly(projects.detektApi) compileOnly(projects.detektMetrics) + compileOnly(projects.detektPsiUtils) testImplementation(projects.detektMetrics) testImplementation(projects.detektTest) testImplementation(libs.assertj)