|
|
10 سال پیش | |
|---|---|---|
| .. | ||
| README.md | 10 سال پیش | |
| build-protoc.sh | 10 سال پیش | |
| pom.xml | 10 سال پیش | |
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
build and 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.
The version of the protoc artifact must be the same as the version of the
Protobuf project.
The name of a published protoc artifact is in the following format:
protoc-<version>-<os>-<arch>.exe, e.g., protoc-3.0.0-alpha-3-windows-x86_64.exe.
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.
The following command will install the protoc artifact to your local Maven repository.
$ mvn install
The Maven script will try to detect the OS and the architecture from Java system properties. It's possible to build a protoc binary for an architecture that is different from what Java has detected, as long as you have the proper compilers installed.
You can override the Maven properties os.detected.name and
os.detected.arch to force the script to generate binaries for a specific OS
and/or architecture. Valid values are defined as the return values of
normalizeOs() and normalizeArch() of Detector from
os-maven-plugin.
Frequently used values are:
os.detected.name: linux, osx, windows.os.detected.arch: x86_32, x86_64For example, MingGW32 only ships with 32-bit compilers, but you can still build 32-bit protoc under 64-bit Windows, with the following command:
$ mvn install -Dos.detected.arch=x86_32
Before you can upload artifacts to Maven Central repository, make sure you have read this page on how to configure GPG and Sonatype account.
Use the following command to upload artifacts:
$ mvn clean deploy -P release