Index: third_party/protobuf/protoc-artifacts/README.md |
diff --git a/third_party/protobuf/protoc-artifacts/README.md b/third_party/protobuf/protoc-artifacts/README.md |
index 4320f6516d5e3785839fc791448915b988a812d9..5062920932d9b2b01a989a87cf437d1cb498615f 100644 |
--- a/third_party/protobuf/protoc-artifacts/README.md |
+++ b/third_party/protobuf/protoc-artifacts/README.md |
@@ -22,6 +22,17 @@ 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. |
+## Building from a freshly checked-out source |
+ |
+If you just checked out the Protobuf source from github, you need to |
+generate the configure script. |
+ |
+Under the protobuf project directory: |
+ |
+``` |
+$ ./autogen.sh && ./configure && make |
+``` |
+ |
## To install artifacts locally |
The following command will install the ``protoc`` artifact to your local Maven repository. |
``` |
@@ -43,7 +54,7 @@ Frequently used values are: |
- ``os.detected.name``: ``linux``, ``osx``, ``windows``. |
- ``os.detected.arch``: ``x86_32``, ``x86_64`` |
-For example, MingGW32 only ships with 32-bit compilers, but you can still build |
+For example, MinGW32 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 |
@@ -59,10 +70,14 @@ support. DO NOT close the staging repository until you have done the |
deployment for all platforms. Currently the following platforms are supported: |
- Linux (x86_32 and x86_64) |
- Windows (x86_32 and x86_64) with |
- - Cygwin with MinGW compilers (both x86_32 and x86_64) |
- - MSYS with MinGW32 (x86_32 only) |
+ - Cygwin64 with MinGW compilers (x86_64) |
+ - MSYS with MinGW32 (x86_32) |
- MacOSX (x86_32 and x86_64) |
+As for MSYS2/MinGW64 for Windows: protoc will build, but it insists on |
+adding a dependency of `libwinpthread-1.dll`, which isn't shipped with |
+Windows. |
+ |
Use the following command to deploy artifacts for the host platform to a |
staging repository. |
``` |
@@ -87,6 +102,25 @@ When you have done deployment for all platforms, go to |
https://oss.sonatype.org/#stagingRepositories, verify that the staging |
repository has all the binaries, close and release this repository. |
+## Upload zip packages to github release page. |
+After uploading protoc artifacts to Maven Central repository, run the |
+build-zip.sh script to bulid zip packages for these protoc binaries |
+and upload these zip packages to the download section of the github |
+release. For example: |
+``` |
+$ ./build-zip.sh 3.0.0-beta-4 |
+``` |
+The above command will create 5 zip files: |
+``` |
+dist/protoc-3.0.0-beta-4-win32.zip |
+dist/protoc-3.0.0-beta-4-osx-x86_32.zip |
+dist/protoc-3.0.0-beta-4-osx-x86_64.zip |
+dist/protoc-3.0.0-beta-4-linux-x86_32.zip |
+dist/protoc-3.0.0-beta-4-linux-x86_64.zip |
+``` |
+Before running the script, make sure the artifacts are accessible from: |
+http://repo1.maven.org/maven2/com/google/protobuf/protoc/ |
+ |
### Tips for deploying on Linux |
We build on Centos 6.6 to provide a good compatibility for not very new |
systems. We have provided a ``Dockerfile`` under this directory to build the |
@@ -113,7 +147,7 @@ stored: |
<settings> |
<servers> |
<server> |
- <id>ossrh</id> |
+ <id>sonatype-nexus-staging</id> |
<username>[username]</username> |
<password>[password]</password> |
</server> |