This makes cartographer compatible with
`--incompatible_blacklisted_protos_requires_proto_info`.
See https://github.com/bazelbuild/bazel/issues/11694
Signed-off-by: Yannic Bonenberger <contact@yannic-bonenberger.com>
Protobuf 3.5 would require a Bazel flag
bazel build --incompatible_package_name_is_a_function=false
for Bazel 0.21 because its bazel syntax is old.
Rather than building with this flag, let's just update
the protobuf version.
Also, fix lint.
- `--force_pic` speeds up the build ~1.5x on my machine.
- Marking internal_client_server_test as flaky avoids misleading
failures in some environments.
- Updating rules_boost avoids spamming stdout with configure script
messages.
This doesn't work when cartographer is an external workspace, due to a
limitation in cc_grpc_library. However, the //cartographer target will
still work it is external, and cartographer_grpc users can vendor the
repository.
This does not include cartographer_grpc, nor any of the binaries
(*_main.cc). It has been tested with Bazel 0.9.0 on Ubuntu 14.04 with
the latest (at time of writing) dazel/dazel container, by running:
```
bazel build //...
bazel test //...
```
While this is a large CL, the files under third_party are not new - they have been through internal review, and this is their open-source release. The other files come to 212 lines of code.