* fix(build): Prevent duplicated client/server generated code The tonic-build process collects up RPC services as they are provided by prost, before writing them out as part of the finalization step for a given protocol buffer package. In the case of imported protocol buffer packages, there may be RPC services included by import in addition to those in the top-level package. Therefore it is necessary to make sure each set of client/server services gathered by tonic-build is cleared after the finalization process for a given protocol buffer package, otherwise they will be incorrectly aggregated as the generation process proceeds through the subsequent packages. * Test case for duplicated client/server generated code A simple test case that will fail to build without a fix to prevent RPC services being duplicated into inappropriate modules (that related to particular protocol buffer packages). * Additional test case for included_service Introduces an additional case that captures making sure services defined before including a package with additional services doesn't incidentially clear such precursor services from the including package. * Fix unnecessary newline to keep `cargo fmt` happy
17 lines
382 B
TOML
17 lines
382 B
TOML
[package]
|
|
name = "included_service"
|
|
version = "0.1.0"
|
|
authors = ["Lucio Franco <[email protected]>"]
|
|
edition = "2018"
|
|
publish = false
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
tonic = { path = "../../tonic" }
|
|
bytes = "0.4"
|
|
prost = "0.5"
|
|
|
|
[build-dependencies]
|
|
tonic-build = { path = "../../tonic-build" }
|