Skip to content

Commit 0d7bf7e

Browse files
authored
Add support for Bzlmod (#8494)
1 parent e67310b commit 0d7bf7e

File tree

5 files changed

+116
-7
lines changed

5 files changed

+116
-7
lines changed

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ cmake-build-debug/
153153
_deps/
154154
**/.gradle/**
155155
kotlin/**/generated
156-
MODULE.bazel
157156
MODULE.bazel.lock
158157

159158
# Ignore the generated docs

BUILD.bazel

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ filegroup(
3131
".bazelignore",
3232
".npmrc",
3333
"BUILD.bazel",
34+
"MODULE.bazel",
3435
"WORKSPACE",
3536
"build_defs.bzl",
3637
"package.json",

MODULE.bazel

+72-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,72 @@
1-
###############################################################################
2-
# Bazel now uses Bzlmod by default to manage external dependencies.
3-
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
4-
#
5-
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
6-
###############################################################################
1+
module(
2+
name = "flatbuffers",
3+
version = "24.3.25",
4+
compatibility_level = 1,
5+
repo_name = "com_github_google_flatbuffers",
6+
)
7+
8+
bazel_dep(
9+
name = "aspect_bazel_lib",
10+
version = "1.40.0",
11+
)
12+
bazel_dep(
13+
name = "aspect_rules_esbuild",
14+
version = "0.15.0",
15+
)
16+
bazel_dep(
17+
name = "aspect_rules_js",
18+
version = "1.34.1",
19+
)
20+
bazel_dep(
21+
name = "aspect_rules_ts",
22+
version = "1.4.5",
23+
)
24+
bazel_dep(
25+
name = "grpc",
26+
version = "1.48.1",
27+
repo_name = "com_github_grpc_grpc",
28+
)
29+
bazel_dep(
30+
name = "platforms",
31+
version = "0.0.7",
32+
)
33+
bazel_dep(
34+
name = "rules_cc",
35+
version = "0.0.9",
36+
)
37+
bazel_dep(
38+
name = "rules_go",
39+
version = "0.41.0",
40+
repo_name = "io_bazel_rules_go",
41+
)
42+
bazel_dep(
43+
name = "rules_nodejs",
44+
version = "5.8.3",
45+
)
46+
bazel_dep(
47+
name = "rules_swift",
48+
version = "1.2.0",
49+
repo_name = "build_bazel_rules_swift",
50+
)
51+
52+
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
53+
npm.npm_translate_lock(
54+
name = "npm",
55+
npmrc = "//:.npmrc",
56+
pnpm_lock = "//:pnpm-lock.yaml",
57+
verify_node_modules_ignored = "//:.bazelignore",
58+
)
59+
use_repo(npm, "npm")
60+
61+
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
62+
use_repo(node, "nodejs_linux_amd64")
63+
64+
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext", dev_dependency = True)
65+
rules_ts_ext.deps()
66+
use_repo(rules_ts_ext, "npm_typescript")
67+
68+
non_module_dependencies = use_extension("//:extensions.bzl", "non_module_dependencies", dev_dependency = True)
69+
use_repo(
70+
non_module_dependencies,
71+
"bazel_linux_x86_64",
72+
)

extensions.bzl

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
"""Bzlmod extensions"""
2+
3+
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
4+
5+
def _non_module_dependencies_impl(_ctx):
6+
"""Non module dependencies"""
7+
http_file(
8+
name = "bazel_linux_x86_64",
9+
downloaded_file_path = "bazel",
10+
executable = True,
11+
sha256 = "e78fc3394deae5408d6f49a15c7b1e615901969ecf6e50d55ef899996b0b8458",
12+
urls = [
13+
"https://github.com/bazelbuild/bazel/releases/download/6.3.2/bazel-6.3.2-linux-x86_64",
14+
],
15+
)
16+
17+
non_module_dependencies = module_extension(
18+
implementation = _non_module_dependencies_impl,
19+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module(name = "bazel_repository_test")
2+
3+
bazel_dep(name = "flatbuffers", repo_name = "com_github_google_flatbuffers")
4+
5+
local_path_override(
6+
module_name = "com_github_google_flatbuffers",
7+
path = "../../../",
8+
)
9+
10+
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
11+
npm.npm_translate_lock(
12+
name = "npm",
13+
npmrc = "//:.npmrc",
14+
pnpm_lock = "//:pnpm-lock.yaml",
15+
verify_node_modules_ignored = "//:.bazelignore",
16+
)
17+
use_repo(npm, "npm")
18+
19+
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
20+
use_repo(node, "nodejs_linux_amd64")
21+
22+
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext", dev_dependency = True)
23+
rules_ts_ext.deps()
24+
use_repo(rules_ts_ext, "npm_typescript")

0 commit comments

Comments
 (0)