Skip to content

Commit

Permalink
gradle-plugin: treat SarifReportMergeTask as non-mandatory (#1487)
Browse files Browse the repository at this point in the history
### What's done:
* Root project might not have a task `mergeDiktatReports`

This pull request closes #1484
  • Loading branch information
petertrr authored Jul 29, 2022
1 parent 4766835 commit 2d75446
Showing 1 changed file with 4 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.TaskExecutionException
import org.gradle.api.tasks.VerificationTask
import kotlinx.serialization.SerializationException
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString
Expand All @@ -25,7 +26,7 @@ import kotlinx.serialization.json.Json
/**
* A task to merge SARIF reports produced by diktat check / diktat fix tasks.
*/
abstract class SarifReportMergeTask : DefaultTask() {
abstract class SarifReportMergeTask : DefaultTask(), VerificationTask {
/**
* Source reports that should be merged
*/
Expand Down Expand Up @@ -89,13 +90,13 @@ internal fun Project.configureMergeReportsTask(diktatExtension: DiktatExtension)
reportMergeTask.output.set(mergedReportFile)
}
}
val reportMergeTaskTaskProvider = rootProject.tasks.named(MERGE_SARIF_REPORTS_TASK_NAME, SarifReportMergeTask::class.java) { reportMergeTask ->
rootProject.tasks.withType(SarifReportMergeTask::class.java).configureEach { reportMergeTask ->
if (isSarifReporterActive(createReporterFlag(diktatExtension))) {
getOutputFile(diktatExtension)?.let { reportMergeTask.input.from(it) }
reportMergeTask.shouldRunAfter(tasks.withType(DiktatJavaExecTaskBase::class.java))
}
}
tasks.withType(DiktatJavaExecTaskBase::class.java).configureEach { diktatJavaExecTaskBase ->
diktatJavaExecTaskBase.finalizedBy(reportMergeTaskTaskProvider)
diktatJavaExecTaskBase.finalizedBy(rootProject.tasks.withType(SarifReportMergeTask::class.java))
}
}

0 comments on commit 2d75446

Please sign in to comment.