Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
31 lines (30 loc) · 1.46 KB
/
Copy pathCargo.toml
File metadata and controls
31 lines (30 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[workspace]
resolver = "2"
# The semantic Dogwood frontend is a single crate: `dogwood-language` holds
# both the public surface and the (crate-private) implementation. The separate
# `dogwood-syntax` crate contains only source syntax shared with formatting.
members = [
# Shared policy grammar and lossless concrete syntax. Semantic parsing and
# source formatting both depend on this layer so their syntax cannot drift.
"dogwood-syntax",
"dogwood-language",
# Source-preserving pretty-printer for `.dw` policy files. Kept separate
# from the language crate because formatting works on the authored token
# stream (including macros/comments), not the macro-expanded semantic AST.
"dogwood-formatter",
# `dogwood-cli` is the `dogwood` binary — a thin shell that drives the
# frontend's curated public surface directly (schema/policy in, verdicts and
# diagnostics out). Its serializable report/error types live in the crate
# itself, since a JSON output shape is a CLI concern, not a library one.
"dogwood-cli",
# The documentation crate: the guide prose plus complete, CLI-checked
# example bundles (policy + schema [+ trace/providers]). Its test harness
# runs each bundle through the `dogwood` binary, so a doc example that stops
# compiling is a build failure.
"dogwood-docs",
]
[workspace.package]
version = "1.1.0"
edition = "2024"
# Registry for crates that inherit publish.workspace = true.
publish = ["crates-io"]