Files
LMS/build.gradle.kts

36 lines
1.3 KiB
Plaintext

import lms.evidence.EvidenceCheckTask
/**
* LDD evidence gate: каждое критичное утверждение из docs/evidence/claims.json
* должно ссылаться на реально прошедший тест. P0-утверждение без свидетельства
* валит сборку; P1-пробелы показываются в отчёте.
*
* Запуск: ./gradlew evidenceCheck
*/
val evidenceTestTasks =
listOf(
":libs:markdown:test",
":services:gateway:test",
":services:identity-service:test",
":services:academic-service:test",
":services:progress-service:test",
":web:test",
)
tasks.register<EvidenceCheckTask>("evidenceCheck") {
group = "verification"
description = "LDD: проверяет, что claims имеют актуальные зелёные свидетельства"
dependsOn(evidenceTestTasks)
claimsFile.set(layout.projectDirectory.file("docs/evidence/claims.json"))
runtimeFiles.from(
fileTree("build/evidence") {
include("*.json")
},
)
evidenceTestTasks.forEach { taskPath ->
val projectPath = taskPath.substringBeforeLast(':')
testResults.from(project(projectPath).tasks.named("test"))
}
reportFile.set(layout.buildDirectory.file("reports/evidence/index.md"))
}