stingergraph / stinger

The STINGER in-memory graph store and dynamic graph analysis platform. Millions to billions of vertices and edges at thousands to millions of updates per second.
http://www.stingergraph.com
Other
210 stars 67 forks source link

Upgrade protobufs to latest stable version #183

Closed tgoodyear closed 7 years ago

tgoodyear commented 8 years ago

The latest release of 2.x is 2.6.1, released Oct 2014. 2.7 also exists and claims to be non-breaking.

Protobufs 3.0 hit their GA release last month, we should consider moving to this as a longer term plan.

ehein6 commented 8 years ago

I would further suggest that CMake should search the system for an installed version of the protobuf compiler, and skip downloading/installing/building protobufs if it finds one.

tgoodyear commented 8 years ago

Can CMake behave in a Go-like fashion where you provide the name/Git URL of a package and it uses it if present and downloads/compiles/installs it otherwise?

ehein6 commented 8 years ago

The second half is implemented already. I think something like find_package could be used to look for protoc in the usual locations.

edit: just implemented this in #185

ehein6 commented 8 years ago

From https://github.com/google/protobuf/releases/tag/v3.0.0

A new notion "syntax" is introduced to specify whether a .proto file uses proto2 or proto3:

// foo.proto syntax = "proto3"; message Bar {...} If omitted, the protocol buffer compiler generates a warning and "proto2" is used as the default. This warning will be turned into an error in a future release.

We recommend that new Protocol Buffers users use proto3. However, we do not generally recommend that existing users migrate from proto2 from proto3 due to API incompatibility, and we will continue to support proto2 for a long time.

I think we should add syntax = "proto2"; to the top of all the proto files and then upgrade to the version 3.0.0 release.