35 lines
1.3 KiB
Plaintext
35 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: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"))
|
|
}
|