Skip to content

examples: Generate code to its own dedicated dir#2663

Open
ejona86 wants to merge 1 commit into
grpc:masterfrom
ejona86:separate-generated
Open

examples: Generate code to its own dedicated dir#2663
ejona86 wants to merge 1 commit into
grpc:masterfrom
ejona86:separate-generated

Conversation

@ejona86
Copy link
Copy Markdown
Member

@ejona86 ejona86 commented May 28, 2026

This allows us to delete the directory before re-generating code to avoid stale files from prior builds. This model works well if checking in the code or outputing to OUT_DIR; you'd only change between grpc::include_generated_proto! and grpc::include_proto!.

@dfawley, note that I excluded from this PR the change to input()/include() and such. This PR produces identical codegen output, just at the different location; the other changes change the generated code source.

This allows us to delete the directory before re-generating code to
avoid stale files from prior builds. This model works well if checking
in the code or outputing to OUT_DIR; you'd only change between
grpc::include_generated_proto! and grpc::include_proto!.
@ejona86 ejona86 requested a review from dfawley May 28, 2026 22:55
Comment thread examples/build.rs

let generated_dir = manifest_dir.join("generated");
if generated_dir.exists() {
std::fs::remove_dir_all(&generated_dir).unwrap();
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: this should expect() instead with a message about how it failed trying to clear out your generated directory, so go clean it up by hand (or whatever we want the user to do). Note the recommended style for Result::expect() messages: https://doc.rust-lang.org/std/result/enum.Result.html#recommended-message-style

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants