Add support for Bzlmod (#8494)

This commit is contained in:
Marcel
2025-01-22 01:53:46 +01:00
committed by GitHub
parent e67310bf1c
commit 0d7bf7e8a7
5 changed files with 116 additions and 7 deletions

1
.gitignore vendored
View File

@@ -153,7 +153,6 @@ cmake-build-debug/
_deps/ _deps/
**/.gradle/** **/.gradle/**
kotlin/**/generated kotlin/**/generated
MODULE.bazel
MODULE.bazel.lock MODULE.bazel.lock
# Ignore the generated docs # Ignore the generated docs

View File

@@ -31,6 +31,7 @@ filegroup(
".bazelignore", ".bazelignore",
".npmrc", ".npmrc",
"BUILD.bazel", "BUILD.bazel",
"MODULE.bazel",
"WORKSPACE", "WORKSPACE",
"build_defs.bzl", "build_defs.bzl",
"package.json", "package.json",

View File

@@ -1,6 +1,72 @@
############################################################################### module(
# Bazel now uses Bzlmod by default to manage external dependencies. name = "flatbuffers",
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel. version = "24.3.25",
# compatibility_level = 1,
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958 repo_name = "com_github_google_flatbuffers",
############################################################################### )
bazel_dep(
name = "aspect_bazel_lib",
version = "1.40.0",
)
bazel_dep(
name = "aspect_rules_esbuild",
version = "0.15.0",
)
bazel_dep(
name = "aspect_rules_js",
version = "1.34.1",
)
bazel_dep(
name = "aspect_rules_ts",
version = "1.4.5",
)
bazel_dep(
name = "grpc",
version = "1.48.1",
repo_name = "com_github_grpc_grpc",
)
bazel_dep(
name = "platforms",
version = "0.0.7",
)
bazel_dep(
name = "rules_cc",
version = "0.0.9",
)
bazel_dep(
name = "rules_go",
version = "0.41.0",
repo_name = "io_bazel_rules_go",
)
bazel_dep(
name = "rules_nodejs",
version = "5.8.3",
)
bazel_dep(
name = "rules_swift",
version = "1.2.0",
repo_name = "build_bazel_rules_swift",
)
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
use_repo(npm, "npm")
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
use_repo(node, "nodejs_linux_amd64")
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext", dev_dependency = True)
rules_ts_ext.deps()
use_repo(rules_ts_ext, "npm_typescript")
non_module_dependencies = use_extension("//:extensions.bzl", "non_module_dependencies", dev_dependency = True)
use_repo(
non_module_dependencies,
"bazel_linux_x86_64",
)

19
extensions.bzl Normal file
View File

@@ -0,0 +1,19 @@
"""Bzlmod extensions"""
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
def _non_module_dependencies_impl(_ctx):
"""Non module dependencies"""
http_file(
name = "bazel_linux_x86_64",
downloaded_file_path = "bazel",
executable = True,
sha256 = "e78fc3394deae5408d6f49a15c7b1e615901969ecf6e50d55ef899996b0b8458",
urls = [
"https://github.com/bazelbuild/bazel/releases/download/6.3.2/bazel-6.3.2-linux-x86_64",
],
)
non_module_dependencies = module_extension(
implementation = _non_module_dependencies_impl,
)

View File

@@ -0,0 +1,24 @@
module(name = "bazel_repository_test")
bazel_dep(name = "flatbuffers", repo_name = "com_github_google_flatbuffers")
local_path_override(
module_name = "com_github_google_flatbuffers",
path = "../../../",
)
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
use_repo(npm, "npm")
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
use_repo(node, "nodejs_linux_amd64")
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext", dev_dependency = True)
rules_ts_ext.deps()
use_repo(rules_ts_ext, "npm_typescript")