#cargo #bazel #testing

构建 runfiles

Bazel 对 cargo 的 runfiles 支持

1 个不稳定版本

0.1.0 2022年12月29日

#508构建工具

Download history 2251/week @ 2024-03-08 2205/week @ 2024-03-15 3892/week @ 2024-03-22 4250/week @ 2024-03-29 3507/week @ 2024-04-05 1505/week @ 2024-04-12 4/week @ 2024-04-19 2/week @ 2024-04-26 143/week @ 2024-05-03 45/week @ 2024-05-10 24/week @ 2024-05-17 14/week @ 2024-05-24 26/week @ 2024-05-31 35/week @ 2024-06-07 23/week @ 2024-06-14 6/week @ 2024-06-21

97 每月下载量

Apache-2.0

12KB
195

Bazel 对 cargo 的 runfiles 支持。

源代码直接从 rules_rust/tools/runfiles/runfiles.rs 复制。测试可能无法正常工作。这主要适用于

  • 引导 cargo_universe。
  • 允许使用 cargo 构建依赖于 runfiles 的内容。
  • 允许在 cargo.toml 中请求对 runfiles 的依赖。
  • 支持 IDE 代码补全。

lib.rs:

Bazel 构建的 Rust 二进制文件和测试的 Runfiles 查找库。

用法

  1. 从您的构建规则依赖此 runfiles 库

      rust_binary(
          name = "my_binary",
          ...
          data = ["//path/to/my/data.txt"],
          deps = ["@rules_rust//tools/runfiles"],
      )
    
  2. 导入 runfiles 库。

    extern crate runfiles;
    
    use runfiles::Runfiles;
    
  3. 创建一个 Runfiles 对象并使用 rlocation 查找 runfile 路径

    
    use runfiles::Runfiles;
    
    let r = Runfiles::create().unwrap();
    let path = r.rlocation("my_workspace/path/to/my/data.txt");
    
    let f = File::open(path).unwrap();
    // ...
    

无运行时依赖