1load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_vendor") 2load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_test") 3 4crates_vendor( 5 name = "crates_vendor", 6 annotations = { 7 "axum": [crate.annotation( 8 compile_data_glob = ["**/*.md"], 9 )], 10 }, 11 mode = "local", 12 packages = { 13 "axum": crate.spec( 14 version = "0.4.0", 15 ), 16 "hyper": crate.spec( 17 features = ["full"], 18 version = "0.14.22", 19 ), 20 "mime": crate.spec( 21 version = "0.3", 22 ), 23 "serde_json": crate.spec( 24 version = "1.0", 25 ), 26 # TODO: This dependency is added and pinned forward due to the 27 # following issue: https://github.com/hyperium/hyper/issues/3038 28 "socket2": crate.spec( 29 features = ["all"], 30 version = "0.4.7", 31 ), 32 "tokio": crate.spec( 33 features = ["full"], 34 version = "1.27.0", 35 ), 36 "tower": crate.spec( 37 features = ["util"], 38 version = "0.4", 39 ), 40 "tower-http": crate.spec( 41 features = ["trace"], 42 version = "0.2.1", 43 ), 44 "tracing": crate.spec( 45 version = "0.1", 46 ), 47 "tracing-subscriber": crate.spec( 48 version = "0.3", 49 ), 50 }, 51) 52 53rust_binary( 54 name = "vendor_local", 55 srcs = glob(["**/*.rs"]), 56 edition = "2018", 57 deps = [ 58 "//vendor_local_pkgs/crates:axum", 59 "//vendor_local_pkgs/crates:hyper", 60 "//vendor_local_pkgs/crates:mime", 61 "//vendor_local_pkgs/crates:serde_json", 62 "//vendor_local_pkgs/crates:tokio", 63 "//vendor_local_pkgs/crates:tower", 64 "//vendor_local_pkgs/crates:tower-http", 65 "//vendor_local_pkgs/crates:tracing", 66 "//vendor_local_pkgs/crates:tracing-subscriber", 67 ], 68) 69 70rust_test( 71 name = "unit_test", 72 crate = ":vendor_local", 73 edition = "2018", 74) 75