Fix (+) In vendored crates semver metadata (#2579)

- Resolves https://github.com/bazelbuild/rules_rust/issues/2524
- Revendored examples deps.
- Semver Metadata can break vendored dependencies, by cargo vendoring
(foo-1.2.3+1.2.3) for example. The bazel labels will look for
`foo-1.2.3-1.2.3` which does not work.
- Root of the issue is, rules rust uses cargo to vendor the
dependencies, which takes the semver + metadata, and generates the file
path based off that (hence the + for the dependency in the issue)
- Tested by taking that dependency and make sure it loaded using the
`vendor_local_manifests` example
- Did not include that dependency, because it would introduce a sys dep
in CI
- Opted to do it within the scope of the vendor cli. When trying to
change the version in the `render_build_files` call, it fixes the
version in terms of the `outputs` and `files` declared in the vendor cli
file, but then we do not have a handle to the generated vendor files
from cargo, meaning we cant move the contents over near as easily. I
also didn't want to break anything downstream that may rely on that
info.
55 files changed
tree: 2ba7fb44b8c4707725e2bc8c06eaed2b969ff88f
  1. .bazelci/
  2. .bcr/
  3. .github/
  4. bindgen/
  5. cargo/
  6. crate_universe/
  7. docs/
  8. examples/
  9. ffi/
  10. nix/
  11. proto/
  12. rust/
  13. test/
  14. tools/
  15. util/
  16. wasm_bindgen/
  17. .bazelignore
  18. .bazelrc
  19. .clang-format
  20. .envrc
  21. .gitattributes
  22. .gitignore
  23. .prettierrc.toml
  24. .rustfmt.toml
  25. ARCHITECTURE.md
  26. AUTHORS
  27. BUILD.bazel
  28. CODEOWNERS
  29. COMPATIBILITY.md
  30. CONTRIBUTING.md
  31. CONTRIBUTORS
  32. LICENSE.txt
  33. MODULE.bazel
  34. README.md
  35. version.bzl
  36. 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.