diff options
Diffstat (limited to 'third_party/protobuf/3.2.0/README.bazel.md')
-rw-r--r-- | third_party/protobuf/3.2.0/README.bazel.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/third_party/protobuf/3.2.0/README.bazel.md b/third_party/protobuf/3.2.0/README.bazel.md new file mode 100644 index 0000000000..75e448d927 --- /dev/null +++ b/third_party/protobuf/3.2.0/README.bazel.md @@ -0,0 +1,34 @@ +# Updating protobuf + +1) Fetch the desired version from https://github.com/google/protobuf, + extract everything into a new directory and change into it. +2) Bazel uses upstream protobuf from source, except for java, as we + currently don't build protobuf java when bootstrapping bazel. So + instead we use already build jars. Go to `search.maven.org` and + search for `com.google.protobuf` and download the jars for protobuf-java + and protobuf-java-util and place them in the new directory. +3) Modify protobuf's `BUILD` file to not build java from source, but to use + the jars instead. To do that, in the BUILD file delete the rules listed + under `Java support`. Then, from the `third_party/protobuf/BUILD file` + copy the rules under "Modifications made by bazel" to the new BUILD file. + Those rules should have the same names as the ones you just deleted. You + will need to update the names of the jars in the rules sources to the + ones you just downloaded. +4) Copy `third_party/protobuf/com_google_protobuf_java.BUILD` to the new + directory. +5) Copy this file to the new directory and update it if you found the + instructions to be wrong or incomplete. +6) Replace the contents in `third_party/protobuf` with the contents in this + directory. +7) Protobuf compiles only with warnings, which we turn into errors. To fix + that, open time_util.cc and remove the constants kMicrosPerMillisecond + and kTimestampFormat. +8) Delete this directory. + +# Current protobuf version + +The current version of protobuf was obtained from @laszlocsomor's protobuf fork +`https://github.com/laszlocsomor/protobuf` at commit `421d90960d`. Once +`https://github.com/google/protobuf/pull/2969` is merged into upstream +protobuf, we no longer need to use @laszlocsomor's fork but can directly clone +upstream. |