Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump protobuf to 3.21.1 #9311

Merged
merged 6 commits into from Jun 30, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions COMPILING.md
Expand Up @@ -44,11 +44,11 @@ This section is only necessary if you are making changes to the code
generation. Most users only need to use `skipCodegen=true` as discussed above.

### Build Protobuf
The codegen plugin is C++ code and requires protobuf 3.19.2 or later.
The codegen plugin is C++ code and requires protobuf 3.21.1 or later.

For Linux, Mac and MinGW:
```
$ PROTOBUF_VERSION=3.19.2
$ PROTOBUF_VERSION=3.21.1
$ curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v$PROTOBUF_VERSION/protobuf-all-$PROTOBUF_VERSION.tar.gz
$ tar xzf protobuf-all-$PROTOBUF_VERSION.tar.gz
$ cd protobuf-$PROTOBUF_VERSION
Expand Down
4 changes: 2 additions & 2 deletions buildscripts/kokoro/windows32.bat
Expand Up @@ -26,8 +26,8 @@ cd "%WORKSPACE%"

SET TARGET_ARCH=x86_32
SET FAIL_ON_WARNINGS=true
SET VC_PROTOBUF_LIBS=%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\cmake\\build\\Release
SET VC_PROTOBUF_INCLUDE=%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\cmake\\build\\include
SET VC_PROTOBUF_LIBS=%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\build\\Release
SET VC_PROTOBUF_INCLUDE=%ESCWORKSPACE%\\grpc-java-helper32\\protobuf-%PROTOBUF_VER%\\build\\include
SET GRADLE_FLAGS=-PtargetArch=%TARGET_ARCH% -PfailOnWarnings=%FAIL_ON_WARNINGS% -PvcProtobufLibs=%VC_PROTOBUF_LIBS% -PvcProtobufInclude=%VC_PROTOBUF_INCLUDE% -PskipAndroid=true

cmd.exe /C "%WORKSPACE%\gradlew.bat %GRADLE_FLAGS% build"
Expand Down
4 changes: 2 additions & 2 deletions buildscripts/kokoro/windows64.bat
Expand Up @@ -25,8 +25,8 @@ cd "%WORKSPACE%"

SET TARGET_ARCH=x86_64
SET FAIL_ON_WARNINGS=true
SET VC_PROTOBUF_LIBS=%ESCWORKSPACE%\\grpc-java-helper64\\protobuf-%PROTOBUF_VER%\\cmake\\build\\Release
SET VC_PROTOBUF_INCLUDE=%ESCWORKSPACE%\\grpc-java-helper64\\protobuf-%PROTOBUF_VER%\\cmake\\build\\include
SET VC_PROTOBUF_LIBS=%ESCWORKSPACE%\\grpc-java-helper64\\protobuf-%PROTOBUF_VER%\\build\\Release
SET VC_PROTOBUF_INCLUDE=%ESCWORKSPACE%\\grpc-java-helper64\\protobuf-%PROTOBUF_VER%\\build\\include
SET GRADLE_FLAGS=-PtargetArch=%TARGET_ARCH% -PfailOnWarnings=%FAIL_ON_WARNINGS% -PvcProtobufLibs=%VC_PROTOBUF_LIBS% -PvcProtobufInclude=%VC_PROTOBUF_INCLUDE% -PskipAndroid=true

@rem make sure no daemons have any files open
Expand Down
16 changes: 10 additions & 6 deletions buildscripts/make_dependencies.bat
@@ -1,12 +1,14 @@
set PROTOBUF_VER=3.19.2
set PROTOBUF_VER=21.1
@rem Workaround https://github.com/protocolbuffers/protobuf/issues/10172
set PROTOBUF_VER_ISSUE_10172=3.%PROTOBUF_VER%
set CMAKE_NAME=cmake-3.3.2-win32-x86

if not exist "protobuf-%PROTOBUF_VER%\cmake\build\Release\" (
if not exist "protobuf-%PROTOBUF_VER%\build\Release\" (
call :installProto || exit /b 1
)

echo Compile gRPC-Java with something like:
echo -PtargetArch=x86_32 -PvcProtobufLibs=%cd%\protobuf-%PROTOBUF_VER%\cmake\build\Release -PvcProtobufInclude=%cd%\protobuf-%PROTOBUF_VER%\cmake\build\include
echo -PtargetArch=x86_32 -PvcProtobufLibs=%cd%\protobuf-%PROTOBUF_VER%\build\Release -PvcProtobufInclude=%cd%\protobuf-%PROTOBUF_VER%\build\include
goto :eof


Expand All @@ -23,10 +25,12 @@ set PATH=%PATH%;%cd%\%CMAKE_NAME%\bin
powershell -command "$ErrorActionPreference = 'stop'; & { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; iwr https://github.com/google/protobuf/archive/v%PROTOBUF_VER%.zip -OutFile protobuf.zip }" || exit /b 1
powershell -command "$ErrorActionPreference = 'stop'; & { Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::ExtractToDirectory('protobuf.zip', '.') }" || exit /b 1
del protobuf.zip
pushd protobuf-%PROTOBUF_VER%\cmake
mkdir build
cd build
rename protobuf-%PROTOBUF_VER_ISSUE_10172% protobuf-%PROTOBUF_VER%
mkdir protobuf-%PROTOBUF_VER%\build
pushd protobuf-%PROTOBUF_VER%\build

@rem Workaround https://github.com/protocolbuffers/protobuf/issues/10174
powershell -command "(Get-Content ..\cmake\extract_includes.bat.in) -replace '\.\.\\', '' | Out-File -encoding ascii ..\cmake\extract_includes.bat.in"
@rem cmake does not detect x86_64 from the vcvars64.bat variables.
@rem If vcvars64.bat has set PLATFORM to X64, then inform cmake to use the Win64 version of VS
if "%PLATFORM%" == "X64" (
Expand Down
5 changes: 4 additions & 1 deletion buildscripts/make_dependencies.sh
Expand Up @@ -3,7 +3,9 @@
# Build protoc
set -evux -o pipefail

PROTOBUF_VERSION=3.19.2
PROTOBUF_VERSION=21.1
# https://github.com/protocolbuffers/protobuf/issues/10172
PROTOBUF_VERSION_ISSUE_10172=3.$PROTOBUF_VERSION

# ARCH is x86_64 bit unless otherwise specified.
ARCH="${ARCH:-x86_64}"
Expand All @@ -28,6 +30,7 @@ if [ -f ${INSTALL_DIR}/bin/protoc ]; then
else
if [[ ! -d "$DOWNLOAD_DIR"/protobuf-"${PROTOBUF_VERSION}" ]]; then
curl -Ls https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protobuf-all-${PROTOBUF_VERSION}.tar.gz | tar xz -C $DOWNLOAD_DIR
mv "$DOWNLOAD_DIR/protobuf-${PROTOBUF_VERSION_ISSUE_10172}" "$DOWNLOAD_DIR/protobuf-${PROTOBUF_VERSION}"
fi
pushd $DOWNLOAD_DIR/protobuf-${PROTOBUF_VERSION}
# install here so we don't need sudo
Expand Down
2 changes: 1 addition & 1 deletion examples/android/clientcache/app/build.gradle
Expand Up @@ -32,7 +32,7 @@ android {
}

protobuf {
protoc { artifact = 'com.google.protobuf:protoc:3.19.2' }
protoc { artifact = 'com.google.protobuf:protoc:3.21.1' }
plugins {
grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
}
Expand Down
2 changes: 1 addition & 1 deletion examples/android/helloworld/app/build.gradle
Expand Up @@ -30,7 +30,7 @@ android {
}

protobuf {
protoc { artifact = 'com.google.protobuf:protoc:3.19.2' }
protoc { artifact = 'com.google.protobuf:protoc:3.21.1' }
plugins {
grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
}
Expand Down
2 changes: 1 addition & 1 deletion examples/android/routeguide/app/build.gradle
Expand Up @@ -30,7 +30,7 @@ android {
}

protobuf {
protoc { artifact = 'com.google.protobuf:protoc:3.19.2' }
protoc { artifact = 'com.google.protobuf:protoc:3.21.1' }
plugins {
grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
}
Expand Down
2 changes: 1 addition & 1 deletion examples/android/strictmode/app/build.gradle
Expand Up @@ -31,7 +31,7 @@ android {
}

protobuf {
protoc { artifact = 'com.google.protobuf:protoc:3.19.2' }
protoc { artifact = 'com.google.protobuf:protoc:3.21.1' }
plugins {
grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
}
Expand Down
2 changes: 1 addition & 1 deletion examples/build.gradle
Expand Up @@ -23,7 +23,7 @@ targetCompatibility = 1.8
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
def grpcVersion = '1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.19.2'
def protobufVersion = '3.21.1'
def protocVersion = protobufVersion

dependencies {
Expand Down
2 changes: 1 addition & 1 deletion examples/example-alts/build.gradle
Expand Up @@ -24,7 +24,7 @@ targetCompatibility = 1.8
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
def grpcVersion = '1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.19.2'
def protocVersion = '3.21.1'

dependencies {
// grpc-alts transitively depends on grpc-netty-shaded, grpc-protobuf, and grpc-stub
Expand Down
2 changes: 1 addition & 1 deletion examples/example-gauth/build.gradle
Expand Up @@ -24,7 +24,7 @@ targetCompatibility = 1.8
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
def grpcVersion = '1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.19.2'
def protobufVersion = '3.21.1'
def protocVersion = protobufVersion


Expand Down
2 changes: 1 addition & 1 deletion examples/example-gauth/pom.xml
Expand Up @@ -13,7 +13,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<grpc.version>1.48.0-SNAPSHOT</grpc.version><!-- CURRENT_GRPC_VERSION -->
<protobuf.version>3.19.2</protobuf.version>
<protobuf.version>3.21.1</protobuf.version>
<!-- required for jdk9 -->
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
Expand Down
2 changes: 1 addition & 1 deletion examples/example-hostname/build.gradle
Expand Up @@ -22,7 +22,7 @@ targetCompatibility = 1.8
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
def grpcVersion = '1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.19.2'
def protobufVersion = '3.21.1'

dependencies {
implementation "io.grpc:grpc-protobuf:${grpcVersion}"
Expand Down
2 changes: 1 addition & 1 deletion examples/example-hostname/pom.xml
Expand Up @@ -13,7 +13,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<grpc.version>1.48.0-SNAPSHOT</grpc.version><!-- CURRENT_GRPC_VERSION -->
<protoc.version>3.19.2</protoc.version>
<protoc.version>3.21.1</protoc.version>
<!-- required for jdk9 -->
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
Expand Down
2 changes: 1 addition & 1 deletion examples/example-jwt-auth/build.gradle
Expand Up @@ -23,7 +23,7 @@ targetCompatibility = 1.8
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
def grpcVersion = '1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def protobufVersion = '3.19.2'
def protobufVersion = '3.21.1'
def protocVersion = protobufVersion

dependencies {
Expand Down
4 changes: 2 additions & 2 deletions examples/example-jwt-auth/pom.xml
Expand Up @@ -14,8 +14,8 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<grpc.version>1.48.0-SNAPSHOT</grpc.version><!-- CURRENT_GRPC_VERSION -->
<protobuf.version>3.19.2</protobuf.version>
<protoc.version>3.19.2</protoc.version>
<protobuf.version>3.21.1</protobuf.version>
<protoc.version>3.21.1</protoc.version>
<!-- required for jdk9 -->
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
Expand Down
2 changes: 1 addition & 1 deletion examples/example-orca/build.gradle
Expand Up @@ -18,7 +18,7 @@ sourceCompatibility = 1.8
targetCompatibility = 1.8

def grpcVersion = '1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.19.2'
def protocVersion = '3.21.1'

dependencies {
implementation "io.grpc:grpc-protobuf:${grpcVersion}"
Expand Down
2 changes: 1 addition & 1 deletion examples/example-tls/build.gradle
Expand Up @@ -24,7 +24,7 @@ targetCompatibility = 1.8
// Feel free to delete the comment at the next line. It is just for safely
// updating the version in our release process.
def grpcVersion = '1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def protocVersion = '3.19.2'
def protocVersion = '3.21.1'

dependencies {
implementation "io.grpc:grpc-protobuf:${grpcVersion}"
Expand Down
2 changes: 1 addition & 1 deletion examples/example-tls/pom.xml
Expand Up @@ -13,7 +13,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<grpc.version>1.48.0-SNAPSHOT</grpc.version><!-- CURRENT_GRPC_VERSION -->
<protoc.version>3.19.2</protoc.version>
<protoc.version>3.21.1</protoc.version>
<netty.tcnative.version>2.0.53.Final</netty.tcnative.version>
<!-- required for jdk9 -->
<maven.compiler.source>1.7</maven.compiler.source>
Expand Down
2 changes: 1 addition & 1 deletion examples/example-xds/build.gradle
Expand Up @@ -24,7 +24,7 @@ targetCompatibility = 1.8
// updating the version in our release process.
def grpcVersion = '1.48.0-SNAPSHOT' // CURRENT_GRPC_VERSION
def nettyTcNativeVersion = '2.0.31.Final'
def protocVersion = '3.19.2'
def protocVersion = '3.21.1'

dependencies {
implementation "io.grpc:grpc-protobuf:${grpcVersion}"
Expand Down
4 changes: 2 additions & 2 deletions examples/pom.xml
Expand Up @@ -13,8 +13,8 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<grpc.version>1.48.0-SNAPSHOT</grpc.version><!-- CURRENT_GRPC_VERSION -->
<protobuf.version>3.19.2</protobuf.version>
<protoc.version>3.19.2</protoc.version>
<protobuf.version>3.21.1</protobuf.version>
<protoc.version>3.21.1</protoc.version>
<!-- required for jdk9 -->
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
Expand Down
1 change: 1 addition & 0 deletions gcp-observability/build.gradle
Expand Up @@ -35,6 +35,7 @@ dependencies {
libraries.perfmark.api,
libraries.opencensus.contrib.grpc.metrics,
libraries.gson,
libraries.protobuf.java.util,
('com.google.guava:guava:31.1-jre'),
('com.google.auth:google-auth-library-credentials:1.4.0'),
('org.checkerframework:checker-qual:3.20.0'),
Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Expand Up @@ -8,7 +8,7 @@ guava = "31.1-android"
netty = '4.1.77.Final'
nettytcnative = '2.0.53.Final'
opencensus = "0.31.0"
protobuf = "3.19.2"
protobuf = "3.21.1"

[libraries]
android-annotations = "com.google.android:annotations:4.1.1.4"
Expand Down
12 changes: 6 additions & 6 deletions repositories.bzl
Expand Up @@ -150,18 +150,18 @@ def com_google_protobuf():
# This statement defines the @com_google_protobuf repo.
http_archive(
name = "com_google_protobuf",
sha256 = "9ceef0daf7e8be16cd99ac759271eb08021b53b1c7b6edd399953a76390234cd",
strip_prefix = "protobuf-3.19.2",
urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.19.2.zip"],
sha256 = "2d9084d3dd13b86ca2e811d2331f780eb86f6d7cb02b405426e3c80dcbfabf25",
strip_prefix = "protobuf-3.21.1",
urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.21.1.zip"],
)

def com_google_protobuf_javalite():
# java_lite_proto_library rules implicitly depend on @com_google_protobuf_javalite
http_archive(
name = "com_google_protobuf_javalite",
sha256 = "9ceef0daf7e8be16cd99ac759271eb08021b53b1c7b6edd399953a76390234cd",
strip_prefix = "protobuf-3.19.2",
urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.19.2.zip"],
sha256 = "2d9084d3dd13b86ca2e811d2331f780eb86f6d7cb02b405426e3c80dcbfabf25",
strip_prefix = "protobuf-3.21.1",
urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.21.1.zip"],
)

def io_grpc_grpc_proto():
Expand Down