Replace tera template with serde_starlark (#1734)

* Replace tera template with serde_starlark

* Move starlark data structures to crate::utils::starlark

* Fix compatibility with min rust version's clippy

Old clippy:

    warning: unknown lint: `clippy::overly_complex_bool_expr`
      --> src/utils/starlark/glob.rs:23:13
       |
    23 |     #[allow(clippy::overly_complex_bool_expr)]
       |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       |
       = note: `#[warn(unknown_lints)]` on by default

    error: this boolean expression contains a logic bug
      --> src/utils/starlark/glob.rs:28:12
       |
    28 |         if false && self.exclude.is_empty() {
       |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: it would look like the following: `false`
       |
       = note: `#[deny(clippy::logic_bug)]` on by default
    help: this expression can be optimized out by applying boolean operations to the outer expression
      --> src/utils/starlark/glob.rs:28:21
       |
    28 |         if false && self.exclude.is_empty() {
       |                     ^^^^^^^^^^^^^^^^^^^^^^^
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#logic_bug

New clippy:

    warning: lint `clippy::logic_bug` has been renamed to `clippy::overly_complex_bool_expr`
      --> src/utils/starlark/glob.rs:24:13
       |
    24 |     #[allow(clippy::logic_bug)] // clippy 1.64 and older
       |             ^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::overly_complex_bool_expr`
       |
       = note: `#[warn(renamed_and_removed_lints)]` on by default
13 files changed
tree: 7fc6148cdfcb1416487156fd7db01a52b137b415
  1. .bazelci/
  2. .github/
  3. bindgen/
  4. cargo/
  5. crate_universe/
  6. docs/
  7. examples/
  8. proto/
  9. rust/
  10. test/
  11. tools/
  12. util/
  13. wasm_bindgen/
  14. .bazelignore
  15. .bazelrc
  16. .clang-format
  17. .gitignore
  18. ARCHITECTURE.md
  19. AUTHORS
  20. BUILD.bazel
  21. CODEOWNERS
  22. COMPATIBILITY.md
  23. CONTRIBUTING.md
  24. CONTRIBUTORS
  25. LICENSE.txt
  26. README.md
  27. version.bzl
  28. WORKSPACE.bazel
README.md

Rust Rules

  • Postsubmit Build status

Overview

This repository provides rules for building Rust projects with Bazel.

Community

General discussions and announcements take place in the GitHub Discussions, but there are additional places where community members gather to discuss rules_rust.

Documentation

Please refer to the full documentation.