Merge pull request 'Clean up generated files before regenerating' (#3) from TBK/proto:cleanup_generated into main

Reviewed-on: https://codeberg.org/steam-vent/proto/pulls/3
Reviewed-by: Robin Appelman <icewind@noreply.codeberg.org>
This commit is contained in:
Robin Appelman 2025-10-18 20:56:54 +02:00
commit 60896d6378

View file

@ -47,6 +47,24 @@ fn main() {
let mut protos = get_protos(&args.protos).collect::<Vec<_>>(); let mut protos = get_protos(&args.protos).collect::<Vec<_>>();
protos.sort(); protos.sort();
// Clean up old generated files before generating new ones
if args.target.exists() {
for entry in WalkDir::new(&args.target)
.into_iter()
.filter_map(|e| e.ok())
.filter(|e| e.path().is_file())
.filter(|e| e.path().extension().and_then(|s| s.to_str()) == Some("rs"))
{
std::fs::remove_file(entry.path()).unwrap_or_else(|e| {
panic!(
"Failed to remove old generated file {:?}: {}",
entry.path(),
e
)
});
}
}
let kinds = get_kinds(&args.protos, &protos); let kinds = get_kinds(&args.protos, &protos);
let service_generator = ServiceGenerator::new(kinds); let service_generator = ServiceGenerator::new(kinds);
let service_files = service_generator.files.clone(); let service_files = service_generator.files.clone();