Cargo.toml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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. ar = { version = "0.9", default-features = false }
  58. assert_matches = { version = "1.5.0", default-features = false }
  59. base64 = { version = "0.22.1", default-features = false }
  60. bindgen = { version = "0.72", default-features = false }
  61. bitflags = { version = "2.2.1", default-features = false }
  62. bytes = { version = "1", default-features = false }
  63. cargo_metadata = { version = "0.23.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.12", 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.16.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. network-types = { version = "0.1.0", default-features = false }
  77. nix = { version = "0.30.1", default-features = false }
  78. num_enum = { version = "0.7", default-features = false }
  79. object = { version = "0.37", default-features = false }
  80. once_cell = { version = "1.20.1", default-features = false }
  81. proc-macro2 = { version = "1", default-features = false }
  82. proc-macro2-diagnostics = { version = "0.10.1", default-features = false }
  83. procfs = { version = "0.18.0", default-features = false }
  84. public-api = { version = "0.50.0", default-features = false }
  85. quote = { version = "1", default-features = false }
  86. rand = { version = "0.9", default-features = false }
  87. rbpf = { version = "0.3.0", default-features = false }
  88. rustdoc-json = { version = "0.9.0", default-features = false }
  89. rustup-toolchain = { version = "0.1.5", default-features = false }
  90. rustversion = { version = "1.0.0", default-features = false }
  91. scopeguard = { version = "1.2.0", default-features = false }
  92. syn = { version = "2", default-features = false }
  93. tar = { version = "0.4.44", 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 = "8.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. all = "warn"
  106. as_ptr_cast_mut = "warn"
  107. as_underscore = "warn"
  108. cast_lossless = "warn"
  109. #cast_possible_truncation = "warn"
  110. #cast_possible_wrap = "warn"
  111. cast_precision_loss = "warn"
  112. #cast_sign_loss = "warn"
  113. char_lit_as_u8 = "warn"
  114. fn_to_numeric_cast = "warn"
  115. fn_to_numeric_cast_with_truncation = "warn"
  116. mut_mut = "warn"
  117. needless_bitwise_bool = "warn"
  118. needless_lifetimes = "warn"
  119. no_mangle_with_rust_abi = "warn"
  120. ptr_as_ptr = "warn"
  121. ptr_cast_constness = "warn"
  122. ref_as_ptr = "warn"
  123. unnecessary_cast = "warn"
  124. unused_trait_names = "warn"
  125. use_self = "warn"
  126. [workspace.lints.rust]
  127. absolute_paths_not_starting_with_crate = "warn"
  128. deprecated_in_future = "warn"
  129. elided_lifetimes_in_paths = "warn"
  130. explicit_outlives_requirements = "warn"
  131. ffi_unwind_calls = "warn"
  132. keyword_idents = "warn"
  133. #let_underscore_drop = "warn"
  134. macro_use_extern_crate = "warn"
  135. meta_variable_misuse = "warn"
  136. missing_abi = "warn"
  137. #missing_copy_implementations = "warn"
  138. non_ascii_idents = "warn"
  139. noop_method_call = "warn"
  140. single_use_lifetimes = "warn"
  141. trivial_numeric_casts = "warn"
  142. unreachable_pub = "warn"
  143. unsafe_op_in_unsafe_fn = "warn"
  144. unstable_features = "warn"
  145. unused_crate_dependencies = "warn"
  146. unused_extern_crates = "warn"
  147. unused_import_braces = "warn"
  148. unused_lifetimes = "warn"
  149. unused_macro_rules = "warn"
  150. #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.
  151. #unused_results = "warn"