Skip to content

Commit fe6453c

Browse files
authored
Fix + for semver meta (#3277)
- Currently if a repo is pulled with metadata on the semver, there is a mismatch between whats in the `rules_rust/crates_index.BUILD` file and whats generated when you query `bazel query @crates_index//:*`. The build file will have ``` alias( name = "serde_yaml", actual = "@crates_index__serde_yaml-0.9.34-deprecated//:serde_yaml, tags = ["manual"], ) ``` but the crates_index will have `serde_yaml-0.9.34+deprecated` ### current error ``` ERROR: /Users/<user>/Programming/some_project/a_dir/BUILD:6:13: no such target '@@rules_rust~~crate~crates_index//:some_crate-1.3.338-build-250213-01-release': target 'some_crate-1.3.338-build-250213-01-release' not declared in package '' defined by /private/var/tmp/_bazel_<user>/79b277eea1629c6c0e66b29d7b082943/external/rules_rust~~crate~crates_index/BUILD.bazel (did you mean some_crate-1.3.338+build-250213-01-release?) and referenced by '/some_project ``` - Added a `serde_yaml` dependency that has the semver metadata on it.
1 parent fc86188 commit fe6453c

File tree

5 files changed

+757
-69
lines changed

5 files changed

+757
-69
lines changed

crate_universe/src/rendering/template_engine.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,13 +267,13 @@ fn crate_alias_fn_generator(template: String, repository_name: String) -> impl t
267267
let version = parse_tera_param!("version", String, args);
268268
let target = parse_tera_param!("target", String, args);
269269

270-
match to_value(sanitize_repository_name(&render_crate_bazel_label(
270+
match to_value(render_crate_bazel_label(
271271
&template,
272272
&repository_name,
273273
&name,
274274
&version,
275275
&target,
276-
))) {
276+
)) {
277277
Ok(v) => Ok(v),
278278
Err(_) => Err(tera::Error::msg("Failed to generate crate's label")),
279279
}

examples/crate_universe/cargo_aliases/Cargo.Bazel.lock

Lines changed: 95 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)