mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 18:47:03 +05:30
feat(build): add a task to collect Lint SARIF reports
This commit is contained in:
parent
24b747eb38
commit
1323668fe6
2 changed files with 29 additions and 0 deletions
|
@ -21,6 +21,11 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
|
|||
class KotlinCommonPlugin : Plugin<Project> {
|
||||
|
||||
override fun apply(project: Project) {
|
||||
if (project.rootProject == project) {
|
||||
LintConfig.configureRootProject(project)
|
||||
} else if (project.name != "benchmark") {
|
||||
LintConfig.configureSubProject(project)
|
||||
}
|
||||
project.tasks.run {
|
||||
withType<JavaCompile>().configureEach {
|
||||
sourceCompatibility = JavaVersion.VERSION_11.toString()
|
||||
|
|
|
@ -8,6 +8,9 @@ package dev.msfjarvis.claw.gradle
|
|||
|
||||
import com.android.build.api.dsl.Lint
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.tasks.Copy
|
||||
import org.gradle.kotlin.dsl.named
|
||||
import org.gradle.kotlin.dsl.register
|
||||
|
||||
object LintConfig {
|
||||
fun Lint.configureLint(project: Project, isJVM: Boolean = false) {
|
||||
|
@ -30,4 +33,25 @@ object LintConfig {
|
|||
}
|
||||
baseline = project.file("lint-baseline.xml")
|
||||
}
|
||||
|
||||
fun configureRootProject(project: Project) {
|
||||
project.tasks.register<Copy>("collectLintReports") {
|
||||
into(project.layout.buildDirectory.dir("lint-reports"))
|
||||
}
|
||||
}
|
||||
|
||||
fun configureSubProject(project: Project) {
|
||||
val collectorTask = project.rootProject.tasks.named<Copy>("collectLintReports")
|
||||
val lintTask = project.tasks.named("lint")
|
||||
val name = project.name
|
||||
|
||||
collectorTask.configure {
|
||||
from(project.layout.buildDirectory.file("reports")) {
|
||||
include("*.sarif")
|
||||
rename { it.replace("-results", "-results-$name") }
|
||||
}
|
||||
dependsOn(":$name:lint")
|
||||
}
|
||||
lintTask.configure { finalizedBy(collectorTask) }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue