Files
pezkuwi-subxt/polkadot/node/orchestra/proc-macro/Cargo.toml
T
Bernhard Schuster 753d6f29e0 [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
2022-06-06 16:35:31 +00:00

39 lines
1.2 KiB
TOML

[package]
name = "orchestra-proc-macro"
version = "0.0.1"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2021"
description = "Generate an orchestra of subsystems from a single annotated struct definition."
repository = "https://github.com/paritytech/polkadot"
license = "MIT OR Apache-2.0"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[lib]
proc-macro = true
[dependencies]
syn = { version = "1.0.95", features = ["full", "extra-traits"] }
quote = "1.0.18"
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"
orchestra = { path = "../" }
thiserror = "1"
tracing = "0.1"
[features]
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 = ["itertools"]