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("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")) }