|
1 | 1 | bazel_dep(name = "toolchains_protoc", version = "0.0.0")
|
2 | 2 | bazel_dep(name = "aspect_bazel_lib", version = "2.11.0")
|
| 3 | +bazel_dep(name = "aspect_rules_js", version = "2.2.0") |
3 | 4 | bazel_dep(name = "aspect_rules_py", version = "1.3.2")
|
| 5 | +bazel_dep(name = "aspect_rules_ts", version = "3.5.1") |
4 | 6 | bazel_dep(name = "platforms", version = "0.0.11")
|
5 | 7 | bazel_dep(name = "protobuf", version = "29.3")
|
6 | 8 | bazel_dep(name = "rules_java", version = "8.6.3")
|
7 | 9 | bazel_dep(name = "rules_proto", version = "7.1.0")
|
8 | 10 | bazel_dep(name = "rules_python", version = "1.2.0-rc0")
|
| 11 | +bazel_dep(name = "rules_rust", version = "0.59.1") |
| 12 | +bazel_dep(name = "rules_rust_prost", version = "0.59.1") |
9 | 13 | bazel_dep(name = "rules_go", version = "0.53.0")
|
10 | 14 | bazel_dep(name = "rules_uv", version = "0.56.0")
|
11 | 15 |
|
@@ -72,3 +76,97 @@ http_jar(
|
72 | 76 | sha256 = "0532ad1024d62361561acaedb974d7d16889e7670b36e23e9321dd6b9d334ef9",
|
73 | 77 | urls = ["https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/4.27.0-RC3/protobuf-java-4.27.0-RC3.jar"],
|
74 | 78 | )
|
| 79 | + |
| 80 | +####### RUST ########## |
| 81 | +RUST_EDITION = "2021" |
| 82 | + |
| 83 | +RUST_VERSION = "1.79.0" |
| 84 | + |
| 85 | +rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") |
| 86 | +rust.toolchain( |
| 87 | + edition = RUST_EDITION, |
| 88 | + versions = [RUST_VERSION], |
| 89 | +) |
| 90 | +use_repo(rust, "rust_toolchains") |
| 91 | + |
| 92 | +register_toolchains("@rust_toolchains//:all") |
| 93 | + |
| 94 | +# Proto toolchain |
| 95 | + |
| 96 | +crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate") |
| 97 | + |
| 98 | +# protobuf / gRPC dependencies |
| 99 | +crate.spec( |
| 100 | + package = "prost", |
| 101 | + version = "0.13.1", |
| 102 | +) |
| 103 | +crate.spec( |
| 104 | + default_features = False, |
| 105 | + package = "prost-types", |
| 106 | + version = "0.13.1", |
| 107 | +) |
| 108 | +crate.spec( |
| 109 | + features = ["transport"], |
| 110 | + package = "tonic", |
| 111 | + version = "0.12.1", |
| 112 | +) |
| 113 | +crate.spec( |
| 114 | + package = "tonic-build", |
| 115 | + version = "0.12.1", |
| 116 | +) |
| 117 | +crate.spec( |
| 118 | + package = "protoc-gen-prost", |
| 119 | + version = "0.4.0", |
| 120 | +) |
| 121 | +crate.annotation( |
| 122 | + crate = "protoc-gen-prost", |
| 123 | + gen_binaries = ["protoc-gen-prost"], |
| 124 | +) |
| 125 | +crate.spec( |
| 126 | + package = "protoc-gen-tonic", |
| 127 | + version = "0.4.0", |
| 128 | +) |
| 129 | +crate.annotation( |
| 130 | + crate = "protoc-gen-tonic", |
| 131 | + gen_binaries = ["protoc-gen-tonic"], |
| 132 | +) |
| 133 | +crate.spec( |
| 134 | + default_features = False, |
| 135 | + features = [ |
| 136 | + "macros", |
| 137 | + "net", |
| 138 | + "rt-multi-thread", |
| 139 | + "signal", |
| 140 | + ], |
| 141 | + package = "tokio", |
| 142 | + version = "1.38", |
| 143 | +) |
| 144 | +crate.from_specs() |
| 145 | +use_repo(crate, "crates") |
| 146 | + |
| 147 | +####### TYPESCRIPT ########## |
| 148 | +npm = use_extension( |
| 149 | + "@aspect_rules_js//npm:extensions.bzl", |
| 150 | + "npm", |
| 151 | + dev_dependency = True, |
| 152 | +) |
| 153 | + |
| 154 | +pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") |
| 155 | + |
| 156 | +npm.npm_translate_lock( |
| 157 | + name = "npm", |
| 158 | + pnpm_lock = "//:pnpm-lock.yaml", |
| 159 | +) |
| 160 | +use_repo(npm, "npm") |
| 161 | + |
| 162 | +use_repo(pnpm, "pnpm") |
| 163 | + |
| 164 | +rules_ts_ext = use_extension( |
| 165 | + "@aspect_rules_ts//ts:extensions.bzl", |
| 166 | + "ext", |
| 167 | + dev_dependency = True, |
| 168 | +) |
| 169 | +rules_ts_ext.deps( |
| 170 | + ts_version_from = "//:package.json", |
| 171 | +) |
| 172 | +use_repo(rules_ts_ext, "npm_typescript") |
0 commit comments