aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/protobuf/3.2.0/README.bazel.md
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/protobuf/3.2.0/README.bazel.md')
-rw-r--r--third_party/protobuf/3.2.0/README.bazel.md34
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.