INNER CODE UNIT · Python

run_advise

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

def run_advise(graph: DuneGraph, sources: SourceIndex) -> ExitCode:
    warn_about_collisions(graph)
    index = analysis.impact_index(graph)
    pending = parse_rules(_read_json(RULES_PATH), "pending", required=False)

    print(f"Dependency advice for {graph.root}")
    edge_count = sum(len(deps) for deps in graph.edges.values())
    print(
        f"{len(graph.nodes)} stanzas, {edge_count} internal edges, "
        f"{len(analysis.external_packages(graph))} opam packages"
    )

    weighted: list[tuple[int, UnreferencedDep, NodeId]] = []
    free: list[UnreferencedDep] = []
    for found in analysis.unreferenced_deps(graph, sources):
        impact = index.get((found.source, found.dep))
        if impact is None:
            free.append(found)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…