[package] name = "{{project-name}}" version = "0.1.0" edition = "2021" [dependencies] {{project-name}}-common = { path = "../{{project-name}}-common", features = ["user"] } anyhow = { workspace = true, default-features = true } aya = { workspace = true } aya-log = { workspace = true } env_logger = {workspace = true } libc = { workspace = true } log = { workspace = true } tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread", "net", "signal"] } {% if program_types_with_opts contains program_type -%} clap = { workspace = true, features = ["derive"] } {% endif -%} [build-dependencies] cargo_metadata = { workspace = true } # TODO(https://github.com/rust-lang/cargo/issues/12375): this should be an artifact dependency, but # it's not possible to tell cargo to use `-Z build-std` to build it. We cargo-in-cargo in the build # script to build this, but we want to teach cargo about the dependecy so that cache invalidation # works properly. # # Note also that https://github.com/rust-lang/cargo/issues/10593 occurs when `target = ...` is added # to an artifact dependency; it seems possible to work around that by setting `resolver = "1"` in # Cargo.toml in the workspace root. # # Finally note that *any* usage of `artifact = ...` in *any* Cargo.toml in the workspace breaks # workflows with stable cargo; stable cargo outright refuses to load manifests that use unstable # features. {{project-name}}-ebpf = { path = "../{{project-name}}-ebpf" } xtask = { path = "../xtask"} [[bin]] name = "{{project-name}}" path = "src/main.rs"