diff --git a/examples/build.rs b/examples/build.rs index 8c0aedade..37394a74d 100644 --- a/examples/build.rs +++ b/examples/build.rs @@ -47,10 +47,16 @@ fn main() { let grpc_routeguide = env::var_os("CARGO_FEATURE_GRPC_ROUTEGUIDE").is_some(); if (grpc_helloworld || grpc_routeguide) && env::var_os("GRPC_RUST_REGENERATE_PROTO").is_some() { - let manifest_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()); + let manifest_dir = PathBuf::from(env::var_os("CARGO_MANIFEST_DIR").unwrap()); + + let generated_dir = manifest_dir.join("generated"); + if generated_dir.exists() { + std::fs::remove_dir_all(&generated_dir) + .expect("All files in generated/ directory should be deletable"); + } grpc_protobuf_build::CodeGen::new() - .output_dir(manifest_dir.join("src/grpc-helloworld/generated")) + .output_dir(generated_dir.join("helloworld")) .input("helloworld.proto") .include(manifest_dir.join("proto/helloworld")) .client_only() @@ -58,7 +64,7 @@ fn main() { .unwrap(); grpc_protobuf_build::CodeGen::new() - .output_dir(manifest_dir.join("src/grpc-routeguide/generated")) + .output_dir(generated_dir.join("routeguide")) .input("route_guide.proto") .include(manifest_dir.join("proto/routeguide")) .client_only() diff --git a/examples/src/grpc-helloworld/generated/generated.rs b/examples/generated/helloworld/generated.rs similarity index 100% rename from examples/src/grpc-helloworld/generated/generated.rs rename to examples/generated/helloworld/generated.rs diff --git a/examples/src/grpc-helloworld/generated/helloworld.u.pb.rs b/examples/generated/helloworld/helloworld.u.pb.rs similarity index 100% rename from examples/src/grpc-helloworld/generated/helloworld.u.pb.rs rename to examples/generated/helloworld/helloworld.u.pb.rs diff --git a/examples/src/grpc-helloworld/generated/helloworld_grpc.pb.rs b/examples/generated/helloworld/helloworld_grpc.pb.rs similarity index 100% rename from examples/src/grpc-helloworld/generated/helloworld_grpc.pb.rs rename to examples/generated/helloworld/helloworld_grpc.pb.rs diff --git a/examples/src/grpc-routeguide/generated/generated.rs b/examples/generated/routeguide/generated.rs similarity index 100% rename from examples/src/grpc-routeguide/generated/generated.rs rename to examples/generated/routeguide/generated.rs diff --git a/examples/src/grpc-routeguide/generated/route_guide.u.pb.rs b/examples/generated/routeguide/route_guide.u.pb.rs similarity index 100% rename from examples/src/grpc-routeguide/generated/route_guide.u.pb.rs rename to examples/generated/routeguide/route_guide.u.pb.rs diff --git a/examples/src/grpc-routeguide/generated/route_guide_grpc.pb.rs b/examples/generated/routeguide/route_guide_grpc.pb.rs similarity index 100% rename from examples/src/grpc-routeguide/generated/route_guide_grpc.pb.rs rename to examples/generated/routeguide/route_guide_grpc.pb.rs diff --git a/examples/src/grpc-helloworld/client.rs b/examples/src/grpc-helloworld/client.rs index bf71edfce..87fba7e6c 100644 --- a/examples/src/grpc-helloworld/client.rs +++ b/examples/src/grpc-helloworld/client.rs @@ -1,8 +1,7 @@ #[allow(unused)] mod generated { pub mod helloworld { - include!("generated/generated.rs"); // Contains messages - include!("generated/helloworld_grpc.pb.rs"); // Contains grpc stubs + grpc::include_generated_proto!("generated/helloworld", "helloworld"); } } diff --git a/examples/src/grpc-routeguide/client.rs b/examples/src/grpc-routeguide/client.rs index 755cf48a6..a94ff2ef2 100644 --- a/examples/src/grpc-routeguide/client.rs +++ b/examples/src/grpc-routeguide/client.rs @@ -3,8 +3,7 @@ use protobuf::proto; #[allow(unused)] mod generated { pub mod routeguide { - include!("generated/generated.rs"); // Contains messages - include!("generated/route_guide_grpc.pb.rs"); // Contains grpc stubs + grpc::include_generated_proto!("generated/routeguide", "route_guide"); } }