in tools/sdk-versioner/src/main.rs [80:103]
fn update_manifest(manifest_path: &Path, opt: &Opt) -> anyhow::Result<()> {
println!("Updating {:?}...", manifest_path);
let mut metadata: Value = toml::from_slice(&fs::read(manifest_path)?)?;
let mut changed = false;
for set in ["dependencies", "dev-dependencies", "build-dependencies"] {
if let Some(dependencies) = metadata.get_mut(set) {
if !dependencies.is_table() {
bail!(
"Unexpected non-table value named `{}` in {:?}",
set,
manifest_path
);
}
changed = update_dependencies(dependencies.as_table_mut().unwrap(), opt)? || changed;
}
}
if changed {
fs::write(manifest_path, &toml::to_vec(&metadata)?)?;
}
Ok(())
}