[rust] Tolerate not having a crate in crate_id_to_info
Host-only deps can be in this state.
Testing: built
Change-Id: I1f70815d017f37d9382d1d956bfbe3be14449d8b
diff --git a/rust/compile_3p_crates.py b/rust/compile_3p_crates.py
index b723bd9..ad9a03e 100755
--- a/rust/compile_3p_crates.py
+++ b/rust/compile_3p_crates.py
@@ -224,15 +224,16 @@
if package["name"] == "fuchsia-third-party":
for crate_id in package["dependencies"]:
crate_id = pathless_crate_id(crate_id)
- crate_info = crate_id_to_info[crate_id]
- crate_name = crate_info["crate_name"]
- package_name = package_name_from_crate_id(crate_id)
- if package_name in cargo_dependencies:
- crate_info["cargo_dependency_toml"] = cargo_dependencies[package_name]
- crates[package_name] = crate_info
- elif package_name not in other_target_deps:
- print (package_name + " not found in Cargo.toml dependencies section")
- return 1
+ if crate_id in crate_id_to_info:
+ crate_info = crate_id_to_info[crate_id]
+ crate_name = crate_info["crate_name"]
+ package_name = package_name_from_crate_id(crate_id)
+ if package_name in cargo_dependencies:
+ crate_info["cargo_dependency_toml"] = cargo_dependencies[package_name]
+ crates[package_name] = crate_info
+ elif package_name not in other_target_deps:
+ print (package_name + " not found in Cargo.toml dependencies section")
+ return 1
# normalize paths for patches
patches = cargo_toml["patch"]["crates-io"]