diff --git a/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/Results.kt b/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/Results.kt index 03a3867eb515..d2ccb9e00aec 100644 --- a/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/Results.kt +++ b/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/Results.kt @@ -58,7 +58,7 @@ private fun Location.toLocation(code: String?): io.github.detekt.sarif4k.Locatio uriBaseID = SRCROOT ) } else { - ArtifactLocation(uri = "file:///${filePath.absolutePath.invariantSeparatorsPathString}") + ArtifactLocation(uri = filePath.absolutePath.toUri().toString()) } ) ) diff --git a/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/SarifOutputReport.kt b/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/SarifOutputReport.kt index 3cc5cb5ab6a7..8b9aa8f89728 100644 --- a/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/SarifOutputReport.kt +++ b/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/SarifOutputReport.kt @@ -15,6 +15,7 @@ import io.gitlab.arturbosch.detekt.api.UnstableApi import io.gitlab.arturbosch.detekt.api.getOrNull import io.gitlab.arturbosch.detekt.api.internal.whichDetekt import java.nio.file.Path +import kotlin.io.path.Path import kotlin.io.path.absolute import kotlin.io.path.invariantSeparatorsPathString @@ -62,7 +63,7 @@ class SarifOutputReport : OutputReport() { ) ), originalURIBaseIDS = basePath?.let { - mapOf(SRCROOT to ArtifactLocation(uri = "file:///$basePath")) + mapOf(SRCROOT to ArtifactLocation(uri = Path(basePath!!).toUri().toString())) }, results = toResults(detektion) ) diff --git a/detekt-report-sarif/src/test/kotlin/io/github/detekt/report/sarif/SarifOutputReportSpec.kt b/detekt-report-sarif/src/test/kotlin/io/github/detekt/report/sarif/SarifOutputReportSpec.kt index 35c735191369..39a4b238d98d 100644 --- a/detekt-report-sarif/src/test/kotlin/io/github/detekt/report/sarif/SarifOutputReportSpec.kt +++ b/detekt-report-sarif/src/test/kotlin/io/github/detekt/report/sarif/SarifOutputReportSpec.kt @@ -38,7 +38,10 @@ class SarifOutputReportSpec { .apply { init(EmptySetupContext()) } .render(result) - assertThat(report).isEqualToIgnoringWhitespace(readResourceContent("vanilla.sarif.json")) + val expectedReport = readResourceContent("vanilla.sarif.json") + .replace("", Path(System.getProperty("user.dir")).toUri().toString()) + + assertThat(report).isEqualToIgnoringWhitespace(expectedReport) } @Test diff --git a/detekt-report-sarif/src/test/resources/relative_path.sarif.json b/detekt-report-sarif/src/test/resources/relative_path.sarif.json index 3eb37017472e..d90cfd8fbccd 100644 --- a/detekt-report-sarif/src/test/resources/relative_path.sarif.json +++ b/detekt-report-sarif/src/test/resources/relative_path.sarif.json @@ -5,7 +5,7 @@ { "originalUriBaseIds": { "%SRCROOT%": { - "uri": "file:///Users/tester/detekt/" + "uri": "file:///Users/tester/detekt" } }, "results": [ diff --git a/detekt-report-sarif/src/test/resources/vanilla.sarif.json b/detekt-report-sarif/src/test/resources/vanilla.sarif.json index 7c65dccabe6d..5f61598c0533 100644 --- a/detekt-report-sarif/src/test/resources/vanilla.sarif.json +++ b/detekt-report-sarif/src/test/resources/vanilla.sarif.json @@ -10,7 +10,7 @@ { "physicalLocation": { "artifactLocation": { - "uri": "file:///TestFile.kt" + "uri": "TestFile.kt" }, "region": { "startColumn": 1, @@ -30,7 +30,7 @@ { "physicalLocation": { "artifactLocation": { - "uri": "file:///TestFile.kt" + "uri": "TestFile.kt" }, "region": { "startColumn": 1, @@ -50,7 +50,7 @@ { "physicalLocation": { "artifactLocation": { - "uri": "file:///TestFile.kt" + "uri": "TestFile.kt" }, "region": { "startColumn": 1,