Upgrade to protobuf-3.0.0-beta-2 and protobuf-nano-3.0.0-alpha-5

Update option name that disables protobuf tests.
diff --git a/.travis.yml b/.travis.yml
index 13b2d01..108a878 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,7 +4,7 @@
 
 env:
   global:
-    - PROTOBUF_VERSION=3.0.0-beta-1
+    - PROTOBUF_VERSION=3.0.0-beta-2
     - OPENSSL_VERSION=1.0.2d
     - LDFLAGS=-L/tmp/protobuf-${PROTOBUF_VERSION}/lib
     - CXXFLAGS=-I/tmp/protobuf-${PROTOBUF_VERSION}/include
diff --git a/COMPILING.md b/COMPILING.md
index fd7251a..9fd2257 100644
--- a/COMPILING.md
+++ b/COMPILING.md
@@ -27,13 +27,13 @@
 generation. Most users only need to use `skipCodegen=true` as discussed above.
 
 ### Build Protobuf
-The codegen plugin is C++ code and requires protobuf 3.0.0-beta-1.
+The codegen plugin is C++ code and requires protobuf 3.0.0-beta-2.
 
 For Linux, Mac and MinGW:
 ```
 $ git clone https://github.com/google/protobuf.git
 $ cd protobuf
-$ git checkout v3.0.0-beta-1
+$ git checkout v3.0.0-beta-2
 $ ./autogen.sh
 $ ./configure
 $ make
@@ -72,16 +72,16 @@
 Gradle to find protobuf:
 ```
 .\gradlew install ^
-    -PvcProtobufInclude=C:\path\to\protobuf-3.0.0-beta-1\src ^
-    -PvcProtobufLibs=C:\path\to\protobuf-3.0.0-beta-1\vsprojects\Release ^
+    -PvcProtobufInclude=C:\path\to\protobuf-3.0.0-beta-2\src ^
+    -PvcProtobufLibs=C:\path\to\protobuf-3.0.0-beta-2\vsprojects\Release ^
     -PtargetArch=x86_32
 ```
 
 Since specifying those properties every build is bothersome, you can instead
 create ``<project-root>\gradle.properties`` with contents like:
 ```
-vcProtobufInclude=C:\\path\\to\\protobuf-3.0.0-beta-1\\src
-vcProtobufLibs=C:\\path\\to\\protobuf-3.0.0-beta-1\\vsprojects\\Release
+vcProtobufInclude=C:\\path\\to\\protobuf-3.0.0-beta-2\\src
+vcProtobufLibs=C:\\path\\to\\protobuf-3.0.0-beta-2\\vsprojects\\Release
 targetArch=x86_32
 ```
 
diff --git a/README.md b/README.md
index 2bc3a6f..ab234c9 100644
--- a/README.md
+++ b/README.md
@@ -90,7 +90,7 @@
           protobuf-java directly, you will be transitively depending on the
           protobuf-java version that grpc depends on.
         -->
-        <protocArtifact>com.google.protobuf:protoc:3.0.0-beta-1:exe:${os.detected.classifier}</protocArtifact>
+        <protocArtifact>com.google.protobuf:protoc:3.0.0-beta-2:exe:${os.detected.classifier}</protocArtifact>
         <pluginId>grpc-java</pluginId>
         <pluginArtifact>io.grpc:protoc-gen-grpc-java:0.9.0:exe:${os.detected.classifier}</pluginArtifact>
       </configuration>
@@ -129,7 +129,7 @@
     // The version of protoc must match protobuf-java. If you don't depend on
     // protobuf-java directly, you will be transitively depending on the
     // protobuf-java version that grpc depends on.
-    artifact = "com.google.protobuf:protoc:3.0.0-beta-1"
+    artifact = "com.google.protobuf:protoc:3.0.0-beta-2"
   }
   plugins {
     grpc {
diff --git a/android-interop-testing/app/build.gradle b/android-interop-testing/app/build.gradle
index a195e5d..6b04b14 100644
--- a/android-interop-testing/app/build.gradle
+++ b/android-interop-testing/app/build.gradle
@@ -28,7 +28,7 @@
 
 protobuf {
     protoc {
-        artifact = 'com.google.protobuf:protoc:3.0.0-beta-1'
+        artifact = 'com.google.protobuf:protoc:3.0.0-beta-2'
     }
     plugins {
         grpc {
diff --git a/benchmarks/src/generated/main/java/io/grpc/testing/ClientConfig.java b/benchmarks/src/generated/main/java/io/grpc/testing/ClientConfig.java
index 33c12ef..9a917ad 100644
--- a/benchmarks/src/generated/main/java/io/grpc/testing/ClientConfig.java
+++ b/benchmarks/src/generated/main/java/io/grpc/testing/ClientConfig.java
@@ -50,7 +50,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
             if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
               serverTargets_ = new com.google.protobuf.LazyStringArrayList();
               mutable_bitField0_ |= 0x00000001;
diff --git a/build.gradle b/build.gradle
index 3c38e9a..ba8851b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,8 +54,8 @@
         protocPluginBaseName = 'protoc-gen-grpc-java'
         javaPluginPath = "$rootDir/compiler/build/exe/java_plugin/$protocPluginBaseName$exeSuffix"
 
-        protobufVersion = '3.0.0-beta-1'
-        protobufNanoVersion = '3.0.0-alpha-4'
+        protobufVersion = '3.0.0-beta-2'
+        protobufNanoVersion = '3.0.0-alpha-5'
 
         configureProtoCompilation = {
           String generatedSourcePath = "${projectDir}/src/generated"
diff --git a/buildscripts/jenkins-pre.bat b/buildscripts/jenkins-pre.bat
index dbe4d03..f0e6785 100644
--- a/buildscripts/jenkins-pre.bat
+++ b/buildscripts/jenkins-pre.bat
@@ -13,5 +13,5 @@
 set ESCWORKSPACE=%WORKSPACE:\=\\%
 
 echo targetArch=x86_32> gradle.properties
-echo vcProtobufLibs=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-3.0.0-beta-1\\cmake\\build\\Release>> gradle.properties
-echo vcProtobufInclude=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-3.0.0-beta-1\\cmake\\build\\include>> gradle.properties
+echo vcProtobufLibs=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-3.0.0-beta-2\\cmake\\build\\Release>> gradle.properties
+echo vcProtobufInclude=%ESCWORKSPACE%\\grpc-java-helper\\protobuf-3.0.0-beta-2\\cmake\\build\\include>> gradle.properties
diff --git a/buildscripts/make_dependencies.bat b/buildscripts/make_dependencies.bat
index 403efe8..828dfcf 100644
--- a/buildscripts/make_dependencies.bat
+++ b/buildscripts/make_dependencies.bat
@@ -5,7 +5,7 @@
 REM   7za.exe in current directory or PATH
 REM   Install http://slproweb.com/download/Win64OpenSSL_Light-1_0_2d.exe
 
-set PROTOBUF_VER=3.0.0-beta-1
+set PROTOBUF_VER=3.0.0-beta-2
 set CMAKE_NAME=cmake-3.3.2-win32-x86
 
 if not exist "protobuf-%PROTOBUF_VER%\cmake\build\Release\" (
@@ -26,10 +26,10 @@
 powershell -command "& { iwr https://github.com/google/protobuf/archive/v%PROTOBUF_VER%.zip -OutFile protobuf.zip }"
 7za X protobuf.zip
 del protobuf.zip
-pushd protobuf-3.0.0-beta-1\cmake
+pushd protobuf-3.0.0-beta-2\cmake
 mkdir build
 cd build
-cmake -DBUILD_TESTING=OFF ..
+cmake -Dprotobuf_BUILD_TESTS=OFF ..
 msbuild /maxcpucount /p:Configuration=Release libprotoc.vcxproj
 call extract_includes.bat
 popd
diff --git a/buildscripts/make_dependencies.sh b/buildscripts/make_dependencies.sh
index f4cb25b..a1f761d 100755
--- a/buildscripts/make_dependencies.sh
+++ b/buildscripts/make_dependencies.sh
@@ -7,6 +7,11 @@
 INSTALL_DIR=/tmp/protobuf-${PROTOBUF_VERSION}
 mkdir -p $DOWNLOAD_DIR
 
+# We may have set this elsewhere in order to allow gRPC find our custom
+# built openssl to run ALPN, but it may be incompatible with wget which
+# uses the system openssl. We unset this variable for this script.
+export -n LD_LIBRARY_PATH
+
 # Make protoc
 # Can't check for presence of directory as cache auto-creates it.
 if [ -f ${INSTALL_DIR}/bin/protoc ]; then
diff --git a/compiler/Dockerfile b/compiler/Dockerfile
index 1c4bb49..759afbf 100644
--- a/compiler/Dockerfile
+++ b/compiler/Dockerfile
@@ -2,7 +2,7 @@
 
 RUN scl enable devtoolset-1.1 'bash -c "cd /protobuf && \
     git fetch && \
-    git checkout v3.0.0-beta-1 && \
+    git checkout v3.0.0-beta-2 && \
     ./autogen.sh && \
     CXXFLAGS=-m32 ./configure --disable-shared --prefix=/protobuf-32 -j$(nproc) && \
     make clean && make && make install"'
diff --git a/compiler/README.md b/compiler/README.md
index ce89ca5..e78c08d 100644
--- a/compiler/README.md
+++ b/compiler/README.md
@@ -13,7 +13,7 @@
 
 * Linux, Mac OS X with Clang, or Windows with MSYS2
 * Java 7 or up
-* [Protobuf](https://github.com/google/protobuf) 3.0.0-beta-1 or up
+* [Protobuf](https://github.com/google/protobuf) 3.0.0-beta-2 or up
 
 ## Compiling and testing the codegen
 Change to the `compiler` directory:
diff --git a/examples/android/app/build.gradle b/examples/android/app/build.gradle
index 30dcd73..192044a 100644
--- a/examples/android/app/build.gradle
+++ b/examples/android/app/build.gradle
@@ -25,7 +25,7 @@
 
 protobuf {
     protoc {
-        artifact = 'com.google.protobuf:protoc:3.0.0-beta-1'
+        artifact = 'com.google.protobuf:protoc:3.0.0-beta-2'
     }
     plugins {
         grpc {
diff --git a/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloRequest.java b/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloRequest.java
index 316b996..d8e53c1 100644
--- a/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloRequest.java
+++ b/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloRequest.java
@@ -47,7 +47,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             name_ = s;
             break;
diff --git a/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloResponse.java b/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloResponse.java
index e31e45d..13a6ff9 100644
--- a/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloResponse.java
+++ b/examples/src/generated/main/java/io/grpc/examples/helloworld/HelloResponse.java
@@ -47,7 +47,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             message_ = s;
             break;
diff --git a/examples/src/generated/main/java/io/grpc/examples/routeguide/Feature.java b/examples/src/generated/main/java/io/grpc/examples/routeguide/Feature.java
index 827d309..be77f97 100644
--- a/examples/src/generated/main/java/io/grpc/examples/routeguide/Feature.java
+++ b/examples/src/generated/main/java/io/grpc/examples/routeguide/Feature.java
@@ -48,7 +48,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             name_ = s;
             break;
diff --git a/examples/src/generated/main/java/io/grpc/examples/routeguide/RouteNote.java b/examples/src/generated/main/java/io/grpc/examples/routeguide/RouteNote.java
index 867cfc1..1b38c0a 100644
--- a/examples/src/generated/main/java/io/grpc/examples/routeguide/RouteNote.java
+++ b/examples/src/generated/main/java/io/grpc/examples/routeguide/RouteNote.java
@@ -60,7 +60,7 @@
             break;
           }
           case 18: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             message_ = s;
             break;
diff --git a/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceRequest.java b/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceRequest.java
index 6743a0a..47dc984 100644
--- a/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceRequest.java
+++ b/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceRequest.java
@@ -43,7 +43,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             name_ = s;
             break;
diff --git a/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceResponse.java b/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceResponse.java
index 0857dca..8abf0ce 100644
--- a/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceResponse.java
+++ b/grpclb/src/generated/main/java/io/grpc/grpclb/InitialLoadBalanceResponse.java
@@ -42,7 +42,7 @@
             break;
           }
           case 18: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
             initialResponseTypeCase_ = 2;
             initialResponseType_ = s;
             break;
diff --git a/grpclb/src/generated/main/java/io/grpc/grpclb/Server.java b/grpclb/src/generated/main/java/io/grpc/grpclb/Server.java
index 5f3ee8e..a1bc3d0 100644
--- a/grpclb/src/generated/main/java/io/grpc/grpclb/Server.java
+++ b/grpclb/src/generated/main/java/io/grpc/grpclb/Server.java
@@ -46,7 +46,7 @@
             break;
           }
           case 10: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             ipAddress_ = s;
             break;
@@ -57,7 +57,7 @@
             break;
           }
           case 26: {
-            String s = input.readStringRequireUtf8();
+            java.lang.String s = input.readStringRequireUtf8();
 
             loadBalanceToken_ = s;
             break;
diff --git a/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java b/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java
index 4827673..18124a7 100644
--- a/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java
+++ b/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java
@@ -1738,13 +1738,13 @@
               break;
             }
             case 18: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               username_ = s;
               break;
             }
             case 26: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               oauthScope_ = s;
               break;
@@ -2583,7 +2583,7 @@
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               value_ = s;
               break;