Skip to content

Commit 00c1785

Browse files
committed
feat: migrate to bazel 6
1 parent c4e43d9 commit 00c1785

10 files changed

Lines changed: 443 additions & 7 deletions

File tree

rust/.bazelrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build --enable_bzlmod

rust/MODULE.bazel

Lines changed: 364 additions & 0 deletions
Large diffs are not rendered by default.

rust/WORKSPACE.bzlmod

Whitespace-only changes.

rust/cargo-bazel-lock.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"checksum": "6aa0e9d2a6be650c803f3c656bde25ba7be33bc50c5b7471e819389c519300fd",
2+
"checksum": "a9249e8f5069fc2af9656ae999b104dacb8a0c19f854d3987f7838e7cffc33df",
33
"crates": {
44
"addr2line 0.19.0": {
55
"name": "addr2line",

rust/create_crate.bzl

Lines changed: 0 additions & 4 deletions
This file was deleted.

rust/extensions.bzl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
load("//:repositories2.bzl", "crate_bazel_deps")
2+
3+
def _non_module_deps_impl(ctx):
4+
crate_bazel_deps()
5+
6+
7+
pact_ref_deps = module_extension(
8+
implementation = _non_module_deps_impl,
9+
)

rust/extensions2.bzl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
load("@crate_index//:defs.bzl", "crate_repositories")
2+
def _non_module_deps_impl(ctx):
3+
crate_repositories()
4+
5+
6+
blob = module_extension(
7+
implementation = _non_module_deps_impl,
8+
)
9+

rust/pact_verifier/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ rust_library(
77
srcs = glob(
88
["src/*.rs"]
99
),
10-
proc_macro_deps = all_crate_deps(proc_macro = True),
10+
proc_macro_deps = all_crate_deps(package_name = "pact_verifier", proc_macro = True),
1111
deps = ["//pact_matching"] + all_crate_deps(package_name = "pact_verifier"),
1212
)

rust/pact_verifier_cli/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ load("@rules_rust//rust:defs.bzl", "rust_binary")
55
rust_binary(
66
name = "pact_verifier_cli",
77
srcs = glob(["src/*.rs"]),
8-
deps = all_crate_deps(normal = "True") + ["//pact_verifier"],
8+
deps = all_crate_deps(package_name = "pact_verifier_cli", normal = "True") + ["//pact_verifier"],
99
visibility = ["//visibility:public"],
1010

1111
)

rust/repositories2.bzl

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository")
2+
3+
def crate_bazel_deps():
4+
crates_repository(
5+
name = "crate_index",
6+
cargo_lockfile = "//:Cargo.lock",
7+
generator = "@cargo_bazel_bootstrap//:cargo-bazel",
8+
lockfile = "//:cargo-bazel-lock.json",
9+
rust_toolchain_cargo_template = "@rust_host_tools//:bin/cargo",
10+
rust_toolchain_rustc_template = "@rust_host_tools//:bin/rustc",
11+
manifests = [
12+
"//:Cargo.toml",
13+
"//:pact_cli/Cargo.toml",
14+
"//:pact_consumer/Cargo.toml",
15+
"//:pact_ffi/Cargo.toml",
16+
"//:pact_matching/Cargo.toml",
17+
"//:pact_mock_server/Cargo.toml",
18+
"//:pact_mock_server_cli/Cargo.toml",
19+
"//:pact_models/Cargo.toml",
20+
"//:pact_verifier/Cargo.toml",
21+
"//:pact_verifier_cli/Cargo.toml",
22+
],
23+
packages = {
24+
"os_info": crate.spec(
25+
version = "3.5.1",
26+
),
27+
},
28+
annotations = {
29+
"onig_sys": [crate.annotation(
30+
shallow_since="1686508130 +0100"
31+
)],
32+
"onig": [crate.annotation(
33+
shallow_since="1686508130 +0100"
34+
)],
35+
},
36+
render_config = '{"build_file_template": "//:BUILD.{name}-{version}.bazel", "crate_label_template": "@crate_index__{name}-{version}//:{target}", "crate_repository_template": "crate_index__{name}-{version}", "crates_module_template": "//:{file}", "default_package_name": "None", "platforms_template": "@rules_rust//rust/platform:{triple}"}'
37+
)
38+
39+
def render_config(
40+
build_file_template = "//:BUILD.{name}-{version}.bazel",
41+
crate_label_template = "@{repository}__{name}-{version}//:{target}",
42+
crate_repository_template = "{repository}__{name}-{version}",
43+
crates_module_template = "//:{file}",
44+
default_package_name = None,
45+
platforms_template = "@rules_rust//rust/platform:{triple}",
46+
regen_command = None,
47+
vendor_mode = None):
48+
return json.encode(struct(
49+
build_file_template = build_file_template,
50+
crate_label_template = crate_label_template,
51+
crate_repository_template = crate_repository_template,
52+
crates_module_template = crates_module_template,
53+
default_package_name = default_package_name,
54+
platforms_template = platforms_template,
55+
regen_command = regen_command,
56+
vendor_mode = vendor_mode,
57+
))

0 commit comments

Comments
 (0)