|  | #!/bin/sh -ex | 
|  |  | 
|  | cd "$(dirname "$0")" | 
|  |  | 
|  | die() { | 
|  | echo "$@" >&2 | 
|  | exit 1 | 
|  | } | 
|  |  | 
|  | protoc_ver=$(protoc --version) | 
|  | case "$protoc_ver" in | 
|  | "libprotoc 3"*) ;; | 
|  | *) | 
|  | die "you need to use protobuf 3 to regenerate .rs from .proto" | 
|  | ;; | 
|  | esac | 
|  |  | 
|  | cargo build --manifest-path=../protobuf-codegen/Cargo.toml | 
|  | cargo build --manifest-path=../protoc-bin/Cargo.toml --bin protoc-bin-print-paths | 
|  |  | 
|  | eval "$(cargo run --manifest-path=../protoc-bin/Cargo.toml --bin protoc-bin-print-paths)" | 
|  |  | 
|  | test -n "$PROTOC" | 
|  |  | 
|  | where_am_i=$( | 
|  | cd .. | 
|  | pwd | 
|  | ) | 
|  |  | 
|  | rm -rf tmp-generated | 
|  | mkdir tmp-generated | 
|  |  | 
|  | case $(uname) in | 
|  | Linux) | 
|  | exe_suffix="" | 
|  | ;; | 
|  | MSYS_NT*) | 
|  | exe_suffix=".exe" | 
|  | ;; | 
|  | esac | 
|  |  | 
|  | "$PROTOC" \ | 
|  | --plugin=protoc-gen-rust="$where_am_i/target/debug/protoc-gen-rust$exe_suffix" \ | 
|  | --rust_out tmp-generated \ | 
|  | --rust_opt 'inside_protobuf=true gen_mod_rs=false' \ | 
|  | -I../proto \ | 
|  | ../proto/google/protobuf/*.proto \ | 
|  | ../proto/google/protobuf/compiler/*.proto \ | 
|  | ../proto/rustproto.proto \ | 
|  | ../proto/doctest_pb.proto | 
|  |  | 
|  | mv \ | 
|  | tmp-generated/descriptor.rs \ | 
|  | tmp-generated/plugin.rs \ | 
|  | tmp-generated/rustproto.rs \ | 
|  | tmp-generated/doctest_pb.rs \ | 
|  | src/ | 
|  | mv tmp-generated/well_known_types_mod.rs src/well_known_types/mod.rs | 
|  | mv tmp-generated/*.rs src/well_known_types/ | 
|  |  | 
|  | # vim: set ts=4 sw=4 et: |