Skip to content

Commit 11fa17f

Browse files
committed
build: use MODULE.bazel instead of WORKSPACE (#2963)
PR Close #2963
1 parent eb1df17 commit 11fa17f

File tree

23 files changed

+4850
-2182
lines changed

23 files changed

+4850
-2182
lines changed

.github/local-actions/branch-manager/main.js

Lines changed: 368 additions & 242 deletions
Large diffs are not rendered by default.

.github/local-actions/labels-sync/main.js

Lines changed: 225 additions & 122 deletions
Large diffs are not rendered by default.

.github/local-actions/lock-closed/main.js

Lines changed: 225 additions & 122 deletions
Large diffs are not rendered by default.

MODULE.bazel

Lines changed: 107 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,109 @@
1-
# TODO: Investigate bzlmod and use it where possible.
2-
1+
"""Rules/toolchains for devinfra with Bazel."""
32
module(
43
name = "devinfra",
5-
)
4+
)
5+
6+
register_toolchains(
7+
"//bazel/git-toolchain:git_linux_toolchain",
8+
"//bazel/git-toolchain:git_macos_x86_toolchain",
9+
"//bazel/git-toolchain:git_macos_arm64_toolchain",
10+
)
11+
12+
bazel_dep(name = "yq.bzl", version = "0.2.0")
13+
bazel_dep(name = "tar.bzl", version = "0.5.1")
14+
bazel_dep(name = "aspect_bazel_lib", version = "2.19.3")
15+
bazel_dep(name = "bazel_skylib", version = "1.8.1")
16+
bazel_dep(name = "aspect_rules_js", version = "2.4.2")
17+
bazel_dep(name = "rules_pkg", version = "1.1.0")
18+
bazel_dep(name = "aspect_rules_jasmine", version = "2.0.0")
19+
bazel_dep(name = "platforms", version = "1.0.0")
20+
bazel_dep(name = "aspect_rules_esbuild", version = "0.22.1")
21+
bazel_dep(name = "aspect_rules_ts", version = "3.6.3")
22+
bazel_dep(name = "rules_nodejs", version = "6.5.0")
23+
bazel_dep(name = "rules_browsers")
24+
git_override(
25+
module_name = "rules_browsers",
26+
commit = "155c3367c0140dc3c8ff0d0ee050f5cc6aa0a643",
27+
remote = "https://github.com/devversion/rules_browsers.git",
28+
)
29+
bazel_dep(name = "rules_sass")
30+
git_override(
31+
module_name = "rules_sass",
32+
commit = "76078d5e9776a0080dcee496e90b88d8a6179c19",
33+
remote = "https://github.com/devversion/rules_sass.git",
34+
)
35+
36+
bazel_dep(name = "rules_angular")
37+
git_override(
38+
module_name = "rules_angular",
39+
commit = "a957283cdef0ade1fc6d1d7404f14577cebd3642",
40+
remote = "https://github.com/devversion/rules_angular.git",
41+
)
42+
43+
yq = use_extension("@yq.bzl//yq:extensions.bzl", "yq")
44+
use_repo(yq, "yq_toolchains")
45+
46+
47+
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext")
48+
rules_ts_ext.deps(
49+
# Obtained by: curl --silent https://registry.npmjs.org/typescript/5.9.2 | jq -r '.dist.integrity'
50+
ts_integrity = "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
51+
ts_version_from = "//bazel:package.json",
52+
)
53+
use_repo(rules_ts_ext, "npm_typescript")
54+
55+
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
56+
node.toolchain(
57+
node_repositories = {
58+
"20.19.0-darwin_arm64": ("node-v20.19.0-darwin-arm64.tar.gz", "node-v20.19.0-darwin-arm64", "c016cd1975a264a29dc1b07c6fbe60d5df0a0c2beb4113c0450e3d998d1a0d9c"),
59+
"20.19.0-darwin_amd64": ("node-v20.19.0-darwin-x64.tar.gz", "node-v20.19.0-darwin-x64", "a8554af97d6491fdbdabe63d3a1cfb9571228d25a3ad9aed2df856facb131b20"),
60+
"20.19.0-linux_arm64": ("node-v20.19.0-linux-arm64.tar.xz", "node-v20.19.0-linux-arm64", "dbe339e55eb393955a213e6b872066880bb9feceaa494f4d44c7aac205ec2ab9"),
61+
"20.19.0-linux_ppc64le": ("node-v20.19.0-linux-ppc64le.tar.xz", "node-v20.19.0-linux-ppc64le", "84937108f005679e60b486ed8e801cebfe923f02b76d8e710463d32f82181f65"),
62+
"20.19.0-linux_s390x": ("node-v20.19.0-linux-s390x.tar.xz", "node-v20.19.0-linux-s390x", "11f8ee99d792a83bba7b29911e0229dd6cd5e88987d7416346067db1cc76d89a"),
63+
"20.19.0-linux_amd64": ("node-v20.19.0-linux-x64.tar.xz", "node-v20.19.0-linux-x64", "b4e336584d62abefad31baecff7af167268be9bb7dd11f1297112e6eed3ca0d5"),
64+
"20.19.0-windows_amd64": ("node-v20.19.0-win-x64.zip", "node-v20.19.0-win-x64", "be72284c7bc62de07d5a9fd0ae196879842c085f11f7f2b60bf8864c0c9d6a4f"),
65+
},
66+
node_version = "20.19.0",
67+
)
68+
use_repo(node, "nodejs_toolchains")
69+
70+
71+
rules_angular = use_extension("@rules_angular//setup:extensions.bzl", "rules_angular")
72+
rules_angular.setup(
73+
name = "dev_infra_rules_angular_configurable_deps",
74+
angular_compiler_cli = "//:node_modules/@angular/compiler-cli",
75+
typescript = "//:node_modules/typescript-local",
76+
)
77+
use_repo(rules_angular, **{"rules_angular_configurable_deps":"dev_infra_rules_angular_configurable_deps"})
78+
79+
80+
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
81+
82+
npm.npm_translate_lock(
83+
name = "devinfra_npm",
84+
data = [
85+
"@devinfra//:package.json",
86+
"@devinfra//bazel:package.json",
87+
"@devinfra//.github/local-actions/branch-manager:package.json",
88+
"@devinfra//.github/local-actions/labels-sync:package.json",
89+
"@devinfra//.github/local-actions/lock-closed:package.json",
90+
"@devinfra//github-actions/google-internal-tests:package.json",
91+
"@devinfra//github-actions/pull-request-labeling:package.json",
92+
"@devinfra//github-actions/unified-status-check:package.json",
93+
"@devinfra//github-actions/previews/pack-and-upload-artifact:package.json",
94+
"@devinfra//github-actions/previews/upload-artifacts-to-firebase:package.json",
95+
"@devinfra//github-actions/post-approval-changes:package.json",
96+
"@devinfra//github-actions/branch-manager:package.json",
97+
"@devinfra//github-actions/saucelabs:package.json",
98+
"@devinfra//github-actions/browserstack:package.json",
99+
"@devinfra//github-actions/bazel/configure-remote:package.json",
100+
"@devinfra//github-actions/org-file-sync:package.json",
101+
"@devinfra//github-actions/feature-request:package.json",
102+
"@devinfra//ng-dev:package.json",
103+
"@devinfra//bazel/spec-bundling/test:package.json",
104+
"@devinfra//:pnpm-workspace.yaml",
105+
],
106+
pnpm_lock = "@devinfra//:pnpm-lock.yaml",
107+
npmrc = "@devinfra//:.npmrc",
108+
)
109+
use_repo(npm, "devinfra_npm")

0 commit comments

Comments
 (0)