Remove generated code from shim-protos (and fix CI) #98
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While working on #97 I found an interesting issue. Since we currently commit all generated code, we should pin protobuf version to be exactly
3.1.0
. Otherwise, whenever Protobuf crate gets updated,shim-protos
will be broken with something like:This is because, according to semver, when we define
protobuf = "3.1.0"
in Cargo.toml, cargo may use any newer version up to < 2.0.0.Another approach, more preferable in Rust, is to exclude any generated code from repo, and use
include!
macro instead. See bindgen example: https://rust-lang.github.io/rust-bindgen/tutorial-4.htmlThe only thing to keep in mind about
include!
macro is that it does not support any form of#![allow(XYZ)]
attributes, so we have to remote those to build time (and define at crate level) - rust-lang/rfcs#752Signed-off-by: Maksym Pavlenko pavlenko.maksym@gmail.com