mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-18 18:51:02 +00:00
[orchestra] extract graph logic and enhance with cycle detection + coloring (#5614)
* extract graph * move into scope * remove dead code * add special nodes * avoid some clones * better doc * maybe better to use ✨ * print all cycles, or an error Currently kosaraju_scc returns invalid cycles, which is yet to be investigated. * don't print tiny cycles, if there is nothing to unvisited anymore, there is a cycle * make print better * fmt ffs * correct: cycle -> scc A strongly connected cluster contains at least one cycl, but could include more. So this should be distringuished in the implementation to avoid some confusion. * fix loop exit condition * add a test for kosaraju behavior * unify on 'component' * disable graph by default https://github.com/paritytech/ci_cd/issues/433 * chore: fmt * move graph only to graph_helpers
This commit is contained in:
committed by
GitHub
parent
425b277273
commit
753d6f29e0
@@ -20,6 +20,7 @@ proc-macro2 = "1.0.37"
|
||||
proc-macro-crate = "1.1.3"
|
||||
expander = { version = "0.0.6", default-features = false }
|
||||
petgraph = "0.6.0"
|
||||
itertools = { version = "0.10.3", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
assert_matches = "1.5"
|
||||
@@ -28,10 +29,10 @@ thiserror = "1"
|
||||
tracing = "0.1"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
default = [] # enable "graph" by default, blocked by <https://github.com/paritytech/ci_cd/issues/433>
|
||||
# write the expanded version to a `orchestra-expansion.[a-f0-9]{10}.rs`
|
||||
# in the `OUT_DIR` as defined by `cargo` for the `expander` crate.
|
||||
expand = []
|
||||
# Create directional message consuming / outgoing graph.
|
||||
# Generates: `${OUT_DIR}/${orchestra|lowercase}-subsystem-messaging.dot`
|
||||
graph = []
|
||||
graph = ["itertools"]
|
||||
|
||||
Reference in New Issue
Block a user