Skip to content

Commit 5879f00

Browse files
authored
Merge pull request #516 from abs-paradigm/feature/sarif-reporter
Added support for sarif reporter
2 parents 606a9bd + d30f7e0 commit 5879f00

File tree

5 files changed

+27
-3
lines changed

5 files changed

+27
-3
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
77

88
## [10.2.0-SNAPSHOT] - Unreleased
99
### Added
10-
- ?
10+
- sarif reporter to provided reporters
1111

1212
### Changed
1313
- Update Gradle to `7.1.1` version

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,8 @@ ktlint {
272272
reporters {
273273
reporter "plain"
274274
reporter "checkstyle"
275-
275+
reporter "sarif"
276+
276277
customReporters {
277278
"csv" {
278279
fileExtension = "csv"

plugin/src/main/kotlin/org/jlleitschuh/gradle/ktlint/KtlintExtension.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ internal constructor(
160160
*
161161
* _By default_ `plain` type is enabled if no reporter is explicitly specified.
162162
*
163-
* @param reporterType one of `plain`, `plain_group_by_file`, `checkstyle`, `json`.
163+
* @param reporterType one of `plain`, `plain_group_by_file`, `checkstyle`, `json`, `sarif`.
164164
*/
165165
fun reporter(reporterType: ReporterType) {
166166
reporters.add(reporterType)

plugin/src/main/kotlin/org/jlleitschuh/gradle/ktlint/reporter/ReporterType.kt

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ enum class ReporterType(
1313
PLAIN_GROUP_BY_FILE("plain", SemVer(0, 9, 0), "txt", listOf("group_by_file")),
1414
CHECKSTYLE("checkstyle", SemVer(0, 9, 0), "xml", emptyList()),
1515
JSON("json", SemVer(0, 9, 0), "json", emptyList()),
16+
SARIF("sarif", SemVer(0, 42, 0), "sarif", emptyList()),
1617
HTML("html", SemVer(0, 36, 0), "html", emptyList());
1718

1819
companion object {

plugin/src/test/kotlin/org/jlleitschuh/gradle/ktlint/ReportersTest.kt

+22
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,28 @@ class ReportersTest : AbstractPluginTest() {
186186
}
187187
}
188188

189+
@DisplayName("Should generate sarif report")
190+
@CommonTest
191+
internal fun sarifReport(gradleVersion: GradleVersion) {
192+
project(gradleVersion) {
193+
withCleanSources()
194+
//language=Groovy
195+
buildGradle.appendText(
196+
"""
197+
198+
ktlint.reporters {
199+
reporter "sarif"
200+
}
201+
""".trimIndent()
202+
)
203+
204+
build(CHECK_PARENT_TASK_NAME) {
205+
assertThat(task(":$mainSourceSetCheckTaskName")?.outcome).isEqualTo(TaskOutcome.SUCCESS)
206+
assertReportCreated(ReporterType.SARIF.fileExtension, mainSourceSetCheckTaskName)
207+
}
208+
}
209+
}
210+
189211
@DisplayName("Should ignore html reporter on KtLint versions less then 0.36.0")
190212
@CommonTest
191213
@DisabledOnOs(OS.WINDOWS)

0 commit comments

Comments
 (0)