mirror of
https://github.com/rust-lang/cargo.git
synced 2025-10-01 11:30:39 +00:00
refactor(toml): Abstract out lib name validation
This commit is contained in:
parent
74e8d760f0
commit
6ef9779752
@ -159,18 +159,14 @@ fn to_lib_target(
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
let Some(mut lib) = lib else { return Ok(None) };
|
let Some(mut lib) = lib else { return Ok(None) };
|
||||||
let name = lib
|
lib.name
|
||||||
.name
|
|
||||||
.get_or_insert_with(|| package_name.replace("-", "_"));
|
.get_or_insert_with(|| package_name.replace("-", "_"));
|
||||||
if name.contains('-') {
|
|
||||||
anyhow::bail!("library target names cannot contain hyphens: {}", name)
|
|
||||||
}
|
|
||||||
|
|
||||||
let lib = &lib;
|
let lib = &lib;
|
||||||
validate_proc_macro(lib, "library", warnings);
|
validate_proc_macro(lib, "library", warnings);
|
||||||
validate_crate_types(lib, "library", warnings);
|
validate_crate_types(lib, "library", warnings);
|
||||||
|
|
||||||
validate_target_name(lib, "library", "lib", warnings)?;
|
validate_lib_name(lib, warnings)?;
|
||||||
|
|
||||||
let path = match (lib.path.as_ref(), inferred) {
|
let path = match (lib.path.as_ref(), inferred) {
|
||||||
(Some(path), _) => package_root.join(&path.0),
|
(Some(path), _) => package_root.join(&path.0),
|
||||||
@ -769,6 +765,16 @@ fn inferred_to_toml_targets(inferred: &[(String, PathBuf)]) -> Vec<TomlTarget> {
|
|||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn validate_lib_name(target: &TomlTarget, warnings: &mut Vec<String>) -> CargoResult<()> {
|
||||||
|
validate_target_name(target, "library", "lib", warnings)?;
|
||||||
|
let name = name_or_panic(target);
|
||||||
|
if name.contains('-') {
|
||||||
|
anyhow::bail!("library target names cannot contain hyphens: {}", name)
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
fn validate_target_name(
|
fn validate_target_name(
|
||||||
target: &TomlTarget,
|
target: &TomlTarget,
|
||||||
target_kind_human: &str,
|
target_kind_human: &str,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user