INNER CODE UNIT · Python

collect_failures

MinaProtocol/mina · maintenance/deps/main.py:236

def collect_failures(
    graph: DuneGraph, sources: SourceIndex, baseline: Baseline, forbidden: Sequence[LayeringRule]
) -> list[Failure]:
    """Every way the tree currently disagrees with its pins. Pure."""
    current = analysis.budgets(graph)
    failures = _budget_failures(current, baseline)
    failures.extend(_opam_failures(analysis.external_packages(graph), baseline))
    failures.extend(
        LayeringBroken(violation=violation)
        for violation in analysis.rule_violations(graph, forbidden)
    )
    failures.extend(
        _unused_dep_failures(
            analysis.unreferenced_deps(graph, sources), analysis.impact_index(graph), baseline
        )
    )
    return failures

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…