1load("@bazel_skylib//rules:write_file.bzl", "write_file") 2load("//crate_universe:defs.bzl", "crate", "render_config", "splicing_config") 3 4# buildifier: disable=bzl-visibility 5load("//crate_universe/private:generate_utils.bzl", "compile_config") 6 7# buildifier: disable=bzl-visibility 8load("//crate_universe/private:splicing_utils.bzl", "compile_splicing_manifest") 9 10write_file( 11 name = "config", 12 out = "config.json", 13 content = [json.encode( 14 compile_config( 15 cargo_config = None, 16 crate_annotations = { 17 "rand": [crate.annotation( 18 crate_features = ["small_rng"], 19 version = "0.8.5", 20 )], 21 }, 22 generate_binaries = False, 23 generate_build_scripts = False, 24 generate_target_compatible_with = True, 25 render_config = json.decode(render_config( 26 platforms_template = "//custom/platform:{triple}", 27 regen_command = "cargo_bazel_regen_command", 28 )), 29 repository_name = "mock_config", 30 supported_platform_triples = [ 31 "x86_64-unknown-linux-gnu", 32 "x86_64-pc-windows-msvc", 33 "x86_64-apple-darwin", 34 ], 35 ), 36 ).strip()], 37 newline = "unix", 38) 39 40write_file( 41 name = "splicing_manifest", 42 out = "splicing_manifest.json", 43 content = [json.encode(compile_splicing_manifest( 44 cargo_config_path = "/tmp/abs/path/workspace/.cargo/config.toml", 45 manifests = { 46 "${build_workspace_directory}/submod/Cargo.toml": "//submod:Cargo.toml", 47 "${output_base}/external_crate/Cargo.toml": "@external_crate//:Cargo.toml", 48 "/tmp/abs/path/workspace/Cargo.toml": "//:Cargo.toml", 49 }, 50 packages = { 51 "cargo_toml": crate.spec( 52 git = "https://gitlab.com/crates.rs/cargo_toml.git", 53 tag = "v0.15.2", 54 ), 55 "cfg-if": crate.spec( 56 git = "https://github.com/rust-lang/cfg-if.git", 57 rev = "b9c2246a", 58 ), 59 "log": crate.spec( 60 branch = "master", 61 git = "https://github.com/rust-lang/log.git", 62 ), 63 "rand": crate.spec( 64 default_features = False, 65 features = ["small_rng"], 66 version = "0.8.5", 67 ), 68 }, 69 splicing_config = dict(json.decode(splicing_config( 70 resolver_version = "2", 71 ))), 72 )).strip()], 73 newline = "unix", 74) 75 76filegroup( 77 name = "serialized_configs", 78 srcs = [ 79 "config.json", 80 "splicing_manifest.json", 81 ], 82 visibility = ["//crate_universe:__pkg__"], 83) 84