Skip to content

Commit 18d2c69

Browse files
authored
handle removing crates when all tags have been disabled (#1133)
1 parent 485e852 commit 18d2c69

File tree

1 file changed

+18
-7
lines changed
  • services/autorust/codegen/src

1 file changed

+18
-7
lines changed

services/autorust/codegen/src/gen.rs

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,28 @@ pub fn gen_crate(spec: &SpecReadme, run_config: &RunConfig, output_folder: &str)
2626
if package_config.tags.limit.is_none() {
2727
package_config.tags.limit = Some(5);
2828
}
29-
let tags = &package_config.filter_tags(spec_config.tags());
30-
if tags.is_empty() {
31-
println!("not generating {} - no tags", spec.spec());
32-
return Ok(());
33-
}
3429

3530
let src_folder = io::join(output_folder, "src")?;
3631
if src_folder.exists() {
3732
fs::remove_dir_all(&src_folder)?;
3833
}
3934

35+
let readme_path = io::join(output_folder, "README.md")?;
36+
if readme_path.exists() {
37+
std::fs::remove_file(&readme_path)?;
38+
}
39+
40+
let cargo_toml_path = io::join(output_folder, "Cargo.toml")?;
41+
if cargo_toml_path.exists() {
42+
std::fs::remove_file(&cargo_toml_path)?;
43+
}
44+
45+
let tags = &package_config.filter_tags(spec_config.tags());
46+
if tags.is_empty() {
47+
println!("not generating {} - no tags", spec.spec());
48+
return Ok(());
49+
}
50+
4051
let mut operation_totals = HashMap::new();
4152
let mut api_version_totals = HashMap::new();
4253
let mut api_versions = HashMap::new();
@@ -80,7 +91,7 @@ pub fn gen_crate(spec: &SpecReadme, run_config: &RunConfig, output_folder: &str)
8091
};
8192
let default_tag = cargo_toml::get_default_tag(tags, default_tag_name);
8293

83-
cargo_toml::create(package_name, tags, default_tag, has_xml, &io::join(output_folder, "Cargo.toml")?)?;
94+
cargo_toml::create(package_name, tags, default_tag, has_xml, &cargo_toml_path)?;
8495
lib_rs::create(tags, &io::join(src_folder, "lib.rs")?, false)?;
8596
let readme = ReadmeMd {
8697
package_name,
@@ -91,7 +102,7 @@ pub fn gen_crate(spec: &SpecReadme, run_config: &RunConfig, output_folder: &str)
91102
api_version_totals,
92103
api_versions,
93104
};
94-
readme.create(&io::join(output_folder, "README.md")?)?;
105+
readme.create(&readme_path)?;
95106

96107
Ok(())
97108
}

0 commit comments

Comments
 (0)