feat(ldd): реестр утверждений, evidence gate и runtime-проверки
This commit is contained in:
34
build.gradle.kts
Normal file
34
build.gradle.kts
Normal file
@@ -0,0 +1,34 @@
|
||||
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"))
|
||||
}
|
||||
Reference in New Issue
Block a user