UebelAndre | 1fe2315 | 2021-01-27 02:30:05 -0800 | [diff] [blame] | 1 | """A module defining dependencies of the `rules_rust` tests""" |
UebelAndre | 8826d30 | 2021-01-21 06:05:17 -0800 | [diff] [blame] | 2 | |
UebelAndre | 998529b | 2021-08-03 06:10:04 -0700 | [diff] [blame] | 3 | load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| 4 | load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") |
Javier G. Sogo | 1b19a46 | 2023-09-09 17:42:30 +0200 | [diff] [blame] | 5 | load("//test/generated_inputs:external_repo.bzl", "generated_inputs_in_external_repo") |
UebelAndre | 8826d30 | 2021-01-21 06:05:17 -0800 | [diff] [blame] | 6 | load("//test/load_arbitrary_tool:load_arbitrary_tool_test.bzl", "load_arbitrary_tool_test") |
UebelAndre | 9283493 | 2023-02-02 08:10:34 -0800 | [diff] [blame] | 7 | load("//test/unit/toolchain:toolchain_test_utils.bzl", "rules_rust_toolchain_test_target_json_repository") |
UebelAndre | 8826d30 | 2021-01-21 06:05:17 -0800 | [diff] [blame] | 8 | |
UebelAndre | 998529b | 2021-08-03 06:10:04 -0700 | [diff] [blame] | 9 | _LIBC_BUILD_FILE_CONTENT = """\ |
Alex Saveau | d7db4d3 | 2021-10-29 12:48:40 -0700 | [diff] [blame] | 10 | load("@rules_rust//rust:defs.bzl", "rust_library") |
UebelAndre | 998529b | 2021-08-03 06:10:04 -0700 | [diff] [blame] | 11 | |
| 12 | rust_library( |
| 13 | name = "libc", |
| 14 | srcs = glob(["src/**/*.rs"]), |
UebelAndre | 1aea1a6 | 2021-08-24 13:19:31 -0700 | [diff] [blame] | 15 | edition = "2015", |
UebelAndre | bddc4bd | 2022-05-03 06:28:17 -0700 | [diff] [blame] | 16 | rustc_flags = [ |
| 17 | # In most cases, warnings in 3rd party crates are not interesting as |
| 18 | # they're out of the control of consumers. The flag here silences |
| 19 | # warnings. For more details see: |
| 20 | # https://doc.rust-lang.org/rustc/lints/levels.html |
| 21 | "--cap-lints=allow", |
| 22 | ], |
UebelAndre | 998529b | 2021-08-03 06:10:04 -0700 | [diff] [blame] | 23 | visibility = ["//visibility:public"], |
| 24 | ) |
| 25 | """ |
| 26 | |
UebelAndre | d0a8586 | 2021-06-24 08:34:12 -0700 | [diff] [blame] | 27 | def rules_rust_test_deps(): |
Matt | 44ffccb | 2023-12-13 00:52:58 +1100 | [diff] [blame] | 28 | """Load dependencies for rules_rust tests |
UebelAndre | 8826d30 | 2021-01-21 06:05:17 -0800 | [diff] [blame] | 29 | |
Matt | 44ffccb | 2023-12-13 00:52:58 +1100 | [diff] [blame] | 30 | Returns: |
| 31 | list[struct(repo=str, is_dev_dep=bool)]: A list of the repositories |
| 32 | defined by this macro. |
| 33 | """ |
UebelAndre | 998529b | 2021-08-03 06:10:04 -0700 | [diff] [blame] | 34 | |
Matt | 44ffccb | 2023-12-13 00:52:58 +1100 | [diff] [blame] | 35 | direct_deps = load_arbitrary_tool_test() |
| 36 | direct_deps.extend(generated_inputs_in_external_repo()) |
Javier G. Sogo | 1b19a46 | 2023-09-09 17:42:30 +0200 | [diff] [blame] | 37 | |
UebelAndre | 998529b | 2021-08-03 06:10:04 -0700 | [diff] [blame] | 38 | maybe( |
| 39 | http_archive, |
| 40 | name = "libc", |
| 41 | build_file_content = _LIBC_BUILD_FILE_CONTENT, |
| 42 | sha256 = "1ac4c2ac6ed5a8fb9020c166bc63316205f1dc78d4b964ad31f4f21eb73f0c6d", |
| 43 | strip_prefix = "libc-0.2.20", |
| 44 | urls = [ |
| 45 | "https://mirror.bazel.build/github.com/rust-lang/libc/archive/0.2.20.zip", |
| 46 | "https://github.com/rust-lang/libc/archive/0.2.20.zip", |
| 47 | ], |
| 48 | ) |
UebelAndre | 9283493 | 2023-02-02 08:10:34 -0800 | [diff] [blame] | 49 | |
| 50 | maybe( |
| 51 | rules_rust_toolchain_test_target_json_repository, |
| 52 | name = "rules_rust_toolchain_test_target_json", |
| 53 | target_json = Label("//test/unit/toolchain:toolchain-test-triple.json"), |
| 54 | ) |
freeformstu | 7f751cd | 2023-07-05 07:20:52 -0700 | [diff] [blame] | 55 | |
| 56 | maybe( |
| 57 | http_archive, |
| 58 | name = "com_google_googleapis", |
| 59 | urls = [ |
| 60 | "https://github.com/googleapis/googleapis/archive/18becb1d1426feb7399db144d7beeb3284f1ccb0.zip", |
| 61 | ], |
| 62 | strip_prefix = "googleapis-18becb1d1426feb7399db144d7beeb3284f1ccb0", |
| 63 | sha256 = "b8c487191eb942361af905e40172644eab490190e717c3d09bf83e87f3994fff", |
| 64 | ) |
Matt | 44ffccb | 2023-12-13 00:52:58 +1100 | [diff] [blame] | 65 | |
| 66 | direct_deps.extend([ |
| 67 | struct(repo = "libc", is_dev_dep = True), |
| 68 | struct(repo = "rules_rust_toolchain_test_target_json", is_dev_dep = True), |
| 69 | struct(repo = "com_google_googleapis", is_dev_dep = True), |
| 70 | ]) |
| 71 | |
| 72 | return direct_deps |