File
Blob: build/deps/formatters/BUILD
| 1 | load("@bazel_skylib//rules:native_binary.bzl", "native_binary") |
| 2 | load("@npm//:prettier/package_json.bzl", prettier = "bin") |
| 3 | |
| 4 | config_setting( |
| 5 | name = "linux_amd64", |
| 6 | constraint_values = [ |
| 7 | "@platforms//os:linux", |
| 8 | "@platforms//cpu:x86_64", |
| 9 | ], |
| 10 | ) |
| 11 | |
| 12 | config_setting( |
| 13 | name = "linux_arm64", |
| 14 | constraint_values = [ |
| 15 | "@platforms//os:linux", |
| 16 | "@platforms//cpu:arm64", |
| 17 | ], |
| 18 | ) |
| 19 | |
| 20 | config_setting( |
| 21 | name = "darwin_amd64", |
| 22 | constraint_values = [ |
| 23 | "@platforms//os:macos", |
| 24 | "@platforms//cpu:x86_64", |
| 25 | ], |
| 26 | ) |
| 27 | |
| 28 | config_setting( |
| 29 | name = "darwin_arm64", |
| 30 | constraint_values = [ |
| 31 | "@platforms//os:macos", |
| 32 | "@platforms//cpu:arm64", |
| 33 | ], |
| 34 | ) |
| 35 | |
| 36 | config_setting( |
| 37 | name = "windows_amd64", |
| 38 | constraint_values = [ |
| 39 | "@platforms//os:windows", |
| 40 | "@platforms//cpu:x86_64", |
| 41 | ], |
| 42 | ) |
| 43 | |
| 44 | native_binary( |
| 45 | name = "clang-format@rule", |
| 46 | src = select({ |
| 47 | ":linux_amd64": "@clang-format-linux-amd64//file:file", |
| 48 | ":linux_arm64": "@clang-format-linux-arm64//file:file", |
| 49 | ":darwin_arm64": "@clang-format-darwin-arm64//file:file", |
| 50 | "//conditions:default": "@clang-format-linux-amd64//file:file", |
| 51 | }), |
| 52 | out = "clang-format", |
| 53 | tags = ["manual"], |
| 54 | visibility = ["//visibility:public"], |
| 55 | ) |
| 56 | |
| 57 | native_binary( |
| 58 | name = "ruff@rule", |
| 59 | src = select({ |
| 60 | ":linux_amd64": "@ruff-linux-amd64//:file", |
| 61 | ":linux_arm64": "@ruff-linux-arm64//:file", |
| 62 | ":darwin_arm64": "@ruff-darwin-arm64//:file", |
| 63 | "//conditions:default": "@ruff-linux-amd64//:file", |
| 64 | }), |
| 65 | out = "ruff", |
| 66 | tags = ["manual"], |
| 67 | visibility = ["//visibility:public"], |
| 68 | ) |
| 69 | |
| 70 | native_binary( |
| 71 | name = "buildifier@rule", |
| 72 | src = select({ |
| 73 | ":linux_amd64": "@buildifier-linux-amd64//file:file", |
| 74 | ":linux_arm64": "@buildifier-linux-arm64//file:file", |
| 75 | ":darwin_amd64": "@buildifier-darwin-amd64//file:file", |
| 76 | ":darwin_arm64": "@buildifier-darwin-arm64//file:file", |
| 77 | ":windows_amd64": "@buildifier-windows-amd64//file:file", |
| 78 | "//conditions:default": "@buildifier-linux-amd64//file:file", |
| 79 | }), |
| 80 | out = "buildifier", |
| 81 | tags = ["manual"], |
| 82 | visibility = ["//visibility:public"], |
| 83 | ) |
| 84 | |
| 85 | native_binary( |
| 86 | name = "rustfmt@rule", |
| 87 | src = select({ |
| 88 | ":linux_amd64": "@rustfmt-standalone-linux-amd64//:rustfmt", |
| 89 | ":linux_arm64": "@rustfmt-standalone-linux-arm64//:rustfmt", |
| 90 | ":darwin_arm64": "@rustfmt-standalone-darwin-arm64//:rustfmt", |
| 91 | "//conditions:default": "@rustfmt-standalone-linux-amd64//:rustfmt", |
| 92 | }), |
| 93 | out = "rustfmt", |
| 94 | tags = ["manual"], |
| 95 | visibility = ["//visibility:public"], |
| 96 | ) |
| 97 | |
| 98 | prettier.prettier_binary( |
| 99 | name = "prettier@rule", |
| 100 | # Include this js_library and its dependencies in the runfiles (runtime dependencies) |
| 101 | data = ["//:prettierrc"], |
| 102 | # Allow the binary to be run outside bazel |
| 103 | env = {"BAZEL_BINDIR": "."}, |
| 104 | fixed_args = [ |
| 105 | # `require` statements in the config file will be resolved relative to its location |
| 106 | # Therefore to make it hermetic, prettier must be pointed at the copy of the config file |
| 107 | # in the runfiles folder rather than the one in the source folder. |
| 108 | "--config=\"$$JS_BINARY__RUNFILES\"/$(rlocationpath //:prettierrc)", |
| 109 | "--log-level=warn", |
| 110 | ], |
| 111 | ) |