[package] name = "orchestra-proc-macro" description = "Generate the actor pattern connectivity graph from a single annotated struct definition - proc-macro" version.workspace = true authors.workspace = true edition.workspace = true repository.workspace = true license.workspace = true readme.workspace = true [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [lib] proc-macro = true [dependencies] syn = { version = "1.0.109", features = ["full", "extra-traits"] } quote = "1.0.20" proc-macro2 = { version = "1.0.47", features = ["span-locations"] } proc-macro-crate = "3.1.0" expander = { version = "2.1.0", default-features = false } petgraph = "0.6.0" itertools = { version = "0.11" } indexmap = "2" dotlay = { package = "layout-rs", version = "0.1.1", features = [ "log", ], optional = true } fs-err = { version = "2", optional = true } anyhow = { version = "1", optional = true } [dev-dependencies] assert_matches = "1.5" [features] default = [] # enable "dotgraph" by default, blocked by # 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` dotgraph = ["dotlay", "anyhow", "fs-err"] # Creates a compile error if unconsumed messages are encountered deny_unconsumed_messages = [] # Creates a compile error if unsent messages are encountered deny_unsent_messages = []