Cargo.toml 4.6 KB

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