Publish pre-compiled protoc artifacts
protoc is the compiler for .proto files. It generates language bindings
for the messages and/or RPC services from .proto files.
Because protoc is a native executable, the scripts under this directory
publish a protoc executable (a.k.a. artifact) to Maven repositories. The
artifact can be used by build automation tools so that users would not need to
compile and install protoc for their systems.
If you would like us to publish protoc artifact for a new platform, please open an issue to request it.
Maven Location
The published protoc artifacts are available on Maven here:
https://repo.maven.apache.org/maven2/com/google/protobuf/protoc/
Versioning
The version of the protoc artifact must be the same as the version of the
Protobuf project.
Artifact name
The name of a published protoc artifact is in the following format:
protoc-<version>-<os>-<arch>.exe, e.g., protoc-3.6.1-linux-x86_64.exe.
Note that artifacts for linux/macos also have the .exe suffix but they are
not windows binaries.
System requirement
Install Apache Maven if you don't have it.
The scripts only work under Unix-like environments, e.g., Linux, MacOSX, and
Cygwin or MinGW for Windows. Please see README.md of the Protobuf project
for how to set up the build environment.
Tested build environments
We have successfully built artifacts on the following environments:
- Linux x86_32 and x86_64:
- Centos 6.9 (within Docker 1.6.1)
- Ubuntu 14.04.5 64-bit
- Linux aarch_64: Cross compiled with
g++-aarch64-linux-gnuon Ubuntu 14.04.5 64-bit - Mac OS X x86_32 and x86_64: Mac OS X 10.9.5