Cargo.toml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. [workspace]
  2. members = [
  3. "aya",
  4. "aya-build",
  5. "aya-log",
  6. "aya-log-common",
  7. "aya-log-parser",
  8. "aya-obj",
  9. "aya-tool",
  10. "ebpf-panic",
  11. "test-distro",
  12. "test/integration-common",
  13. "test/integration-test",
  14. "xtask",
  15. # macros
  16. "aya-ebpf-macros",
  17. "aya-log-ebpf-macros",
  18. # ebpf crates
  19. "ebpf/aya-ebpf",
  20. "ebpf/aya-ebpf-bindings",
  21. "ebpf/aya-log-ebpf",
  22. "test/integration-ebpf",
  23. ]
  24. resolver = "2"
  25. default-members = [
  26. "aya",
  27. "aya-build",
  28. "aya-log",
  29. "aya-log-common",
  30. "aya-log-parser",
  31. "aya-obj",
  32. "aya-tool",
  33. "ebpf-panic",
  34. "test-distro",
  35. "test/integration-common",
  36. # test/integration-test is omitted; including it in this list causes `cargo test` to run its
  37. # tests, and that doesn't work unless they've been built with `cargo xtask`.
  38. "xtask",
  39. "aya-ebpf-macros",
  40. "aya-log-ebpf-macros",
  41. # ebpf crates are omitted; they must be built with:
  42. # --target bpfe{b,l}-unknown-none
  43. # CARGO_CFG_BPF_TARGET_ARCH={x86_64,aarch64,arm,riscv64,powerpc64,s390x,mips}
  44. ]
  45. [workspace.package]
  46. authors = ["Aya Contributors"]
  47. edition = "2024"
  48. homepage = "https://aya-rs.dev"
  49. license = "MIT OR Apache-2.0"
  50. repository = "https://github.com/aya-rs/aya"
  51. rust-version = "1.85.0"
  52. # NOTE(vadorovsky): Neither cargo-udeps nor cargo-machete are able to detect
  53. # unused crates defined in this section. It would be nice to teach either of
  54. # them to do that, but in the meantime we need to be careful.
  55. [workspace.dependencies]
  56. anyhow = { version = "1", default-features = false }
  57. assert_matches = { version = "1.5.0", default-features = false }
  58. async-io = { version = "2.0", default-features = false }
  59. base64 = { version = "0.22.1", default-features = false }
  60. bindgen = { version = "0.71", default-features = false }
  61. bitflags = { version = "2.2.1", default-features = false }
  62. bytes = { version = "1", default-features = false }
  63. cargo_metadata = { version = "0.19.0", default-features = false }
  64. clap = { version = "4", default-features = false }
  65. const-assert = { version = "1.0.1", default-features = false }
  66. dialoguer = { version = "0.11", default-features = false }
  67. diff = { version = "0.1.13", default-features = false }
  68. env_logger = { version = "0.11", default-features = false }
  69. epoll = { version = "4.3.3", default-features = false }
  70. futures = { version = "0.3.28", default-features = false }
  71. glob = { version = "0.3.0", default-features = false }
  72. hashbrown = { version = "0.15.0", default-features = false }
  73. indoc = { version = "2.0", default-features = false }
  74. libc = { version = "0.2.105", default-features = false }
  75. log = { version = "0.4", default-features = false }
  76. netns-rs = { version = "0.1", default-features = false }
  77. network-types = { version = "0.0.7", default-features = false }
  78. nix = { version = "0.29.0", default-features = false }
  79. num_enum = { version = "0.7", default-features = false }
  80. object = { version = "0.36", default-features = false }
  81. octorust = { version = "0.10", default-features = false }
  82. once_cell = { version = "1.20.1", default-features = false }
  83. proc-macro2 = { version = "1", default-features = false }
  84. proc-macro2-diagnostics = { version = "0.10.1", default-features = false }
  85. public-api = { version = "0.44.0", default-features = false }
  86. quote = { version = "1", default-features = false }
  87. rand = { version = "0.9", default-features = false }
  88. rbpf = { version = "0.3.0", default-features = false }
  89. rustdoc-json = { version = "0.9.0", default-features = false }
  90. rustup-toolchain = { version = "0.1.5", default-features = false }
  91. rustversion = { version = "1.0.0", default-features = false }
  92. scopeguard = { version = "1.2.0", default-features = false }
  93. syn = { version = "2", default-features = false }
  94. tempfile = { version = "3", default-features = false }
  95. test-case = { version = "3.1.0", default-features = false }
  96. test-log = { version = "0.2.13", default-features = false }
  97. testing_logger = { version = "0.1.1", default-features = false }
  98. thiserror = { version = "2.0.3", default-features = false }
  99. tokio = { version = "1.24.0", default-features = false }
  100. walkdir = { version = "2", default-features = false }
  101. which = { version = "7.0.0", default-features = false }
  102. xdpilone = { version = "1.0.5", default-features = false }
  103. xz2 = { version = "0.1.7", default-features = false }
  104. [workspace.lints.clippy]
  105. unused_trait_names = "warn"
  106. [workspace.lints.rust]
  107. unused-extern-crates = "warn"
  108. [profile.release.package.integration-ebpf]
  109. codegen-units = 1
  110. debug = 2
  111. [patch.crates-io]
  112. # TODO: Remove when https://github.com/rust-random/getrandom/commit/b75db5cede302bc9734f5bf2b9048a6e05c7f11e appears in a release.
  113. getrandom = { git = "https://github.com/rust-random/getrandom.git", rev = "b75db5cede302bc9734f5bf2b9048a6e05c7f11e" }