Cargo.toml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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. #
  43. # RUSTFLAGS="--cfg bpf_target_arch={aarch64,arm,loongarch64,mips,powerpc64,riscv64,s390x,x86_64}"
  44. # ...
  45. # --target bpfe{b,l}-unknown-none
  46. ]
  47. [workspace.package]
  48. authors = ["Aya Contributors"]
  49. edition = "2024"
  50. homepage = "https://aya-rs.dev"
  51. license = "MIT OR Apache-2.0"
  52. repository = "https://github.com/aya-rs/aya"
  53. rust-version = "1.85.0"
  54. # NOTE(vadorovsky): Neither cargo-udeps nor cargo-machete are able to detect
  55. # unused crates defined in this section. It would be nice to teach either of
  56. # them to do that, but in the meantime we need to be careful.
  57. [workspace.dependencies]
  58. anyhow = { version = "1", default-features = false }
  59. ar = { version = "0.9", default-features = false }
  60. assert_matches = { version = "1.5.0", default-features = false }
  61. base64 = { version = "0.22.1", default-features = false }
  62. bindgen = { version = "0.72", default-features = false }
  63. bitflags = { version = "2.2.1", default-features = false }
  64. bytes = { version = "1", default-features = false }
  65. cargo_metadata = { version = "0.23.0", default-features = false }
  66. clap = { version = "4", default-features = false }
  67. const-assert = { version = "1.0.1", default-features = false }
  68. dialoguer = { version = "0.12", default-features = false }
  69. diff = { version = "0.1.13", default-features = false }
  70. env_logger = { version = "0.11", default-features = false }
  71. epoll = { version = "4.3.3", default-features = false }
  72. futures = { version = "0.3.28", default-features = false }
  73. glob = { version = "0.3.0", default-features = false }
  74. hashbrown = { version = "0.16.0", default-features = false }
  75. indoc = { version = "2.0", default-features = false }
  76. libc = { version = "0.2.105", default-features = false }
  77. log = { version = "0.4", default-features = false }
  78. network-types = { version = "0.1.0", default-features = false }
  79. nix = { version = "0.30.1", default-features = false }
  80. num_enum = { version = "0.7", default-features = false }
  81. object = { version = "0.37", 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. procfs = { version = "0.18.0", default-features = false }
  86. public-api = { version = "0.50.0", default-features = false }
  87. quote = { version = "1", default-features = false }
  88. rand = { version = "0.9", default-features = false }
  89. rbpf = { version = "0.3.0", default-features = false }
  90. rustdoc-json = { version = "0.9.0", default-features = false }
  91. rustup-toolchain = { version = "0.1.5", default-features = false }
  92. rustversion = { version = "1.0.0", default-features = false }
  93. scopeguard = { version = "1.2.0", default-features = false }
  94. syn = { version = "2", default-features = false }
  95. tar = { version = "0.4.44", default-features = false }
  96. tempfile = { version = "3", default-features = false }
  97. test-case = { version = "3.1.0", default-features = false }
  98. test-log = { version = "0.2.13", default-features = false }
  99. testing_logger = { version = "0.1.1", default-features = false }
  100. thiserror = { version = "2.0.3", default-features = false }
  101. tokio = { version = "1.24.0", default-features = false }
  102. walkdir = { version = "2", default-features = false }
  103. which = { version = "8.0.0", default-features = false }
  104. xdpilone = { version = "1.0.5", default-features = false }
  105. xz2 = { version = "0.1.7", default-features = false }
  106. [workspace.lints.clippy]
  107. all = "warn"
  108. as_ptr_cast_mut = "warn"
  109. as_underscore = "warn"
  110. cast_lossless = "warn"
  111. #cast_possible_truncation = "warn"
  112. #cast_possible_wrap = "warn"
  113. cast_precision_loss = "warn"
  114. #cast_sign_loss = "warn"
  115. char_lit_as_u8 = "warn"
  116. fn_to_numeric_cast = "warn"
  117. fn_to_numeric_cast_with_truncation = "warn"
  118. mut_mut = "warn"
  119. needless_bitwise_bool = "warn"
  120. needless_lifetimes = "warn"
  121. no_mangle_with_rust_abi = "warn"
  122. ptr_as_ptr = "warn"
  123. ptr_cast_constness = "warn"
  124. ref_as_ptr = "warn"
  125. unnecessary_cast = "warn"
  126. unused_trait_names = "warn"
  127. use_self = "warn"
  128. [workspace.lints.rust]
  129. absolute_paths_not_starting_with_crate = "warn"
  130. deprecated_in_future = "warn"
  131. elided_lifetimes_in_paths = "warn"
  132. explicit_outlives_requirements = "warn"
  133. ffi_unwind_calls = "warn"
  134. keyword_idents = "warn"
  135. #let_underscore_drop = "warn"
  136. macro_use_extern_crate = "warn"
  137. meta_variable_misuse = "warn"
  138. missing_abi = "warn"
  139. #missing_copy_implementations = "warn"
  140. non_ascii_idents = "warn"
  141. noop_method_call = "warn"
  142. single_use_lifetimes = "warn"
  143. trivial_numeric_casts = "warn"
  144. unreachable_pub = "warn"
  145. unsafe_op_in_unsafe_fn = "warn"
  146. unstable_features = "warn"
  147. unused_crate_dependencies = "warn"
  148. unused_extern_crates = "warn"
  149. unused_import_braces = "warn"
  150. unused_lifetimes = "warn"
  151. unused_macro_rules = "warn"
  152. #unused_qualifications = "warn" # https://github.com/rust-lang/rust/commit/9ccc7b7 added size_of to the prelude, but we need to continue to qualify it so that we build on older compilers.
  153. #unused_results = "warn"