Skip to content

Commit 7ca5795

Browse files
committed
Merge branch 'message-testlib-jars' into protobuf-shading-poc
2 parents 93b732a + 0eee404 commit 7ca5795

File tree

83 files changed

+323
-524
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+323
-524
lines changed

.cloudbuild/library_generation/library_generation.Dockerfile

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ COPY . .
2323
ENV DOCKER_GAPIC_GENERATOR_VERSION="2.55.2-SNAPSHOT"
2424
# {x-version-update-end}
2525

26+
# Download the java formatter
27+
RUN mvn -pl gapic-generator-java-pom-parent help:evaluate -Dexpression='google-java-format.version' -q -DforceStdout > /java-formatter-version
28+
RUN cat /java-formatter-version
29+
RUN V=$(cat /java-formatter-version) && curl -o "/google-java-format.jar" "https://maven-central.storage-download.googleapis.com/maven2/com/google/googlejavaformat/google-java-format/${V}/google-java-format-${V}-all-deps.jar"
30+
31+
# Compile and install packages
2632
RUN mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip
2733
RUN cp "/root/.m2/repository/com/google/api/gapic-generator-java/${DOCKER_GAPIC_GENERATOR_VERSION}/gapic-generator-java-${DOCKER_GAPIC_GENERATOR_VERSION}.jar" \
2834
"./gapic-generator-java.jar"
@@ -52,7 +58,6 @@ FROM docker.io/library/python:3.13.2-alpine3.20@sha256:816feb29731cdee64b15b0ae9
5258
ARG OWLBOT_CLI_COMMITTISH=3a68a9c0de318784b3aefadcc502a6521b3f1bc5
5359
ARG PROTOC_VERSION=25.5
5460
ARG GRPC_VERSION=1.70.0
55-
ARG JAVA_FORMAT_VERSION=1.7
5661
ENV HOME=/home
5762
ENV OS_ARCHITECTURE="linux-x86_64"
5863

@@ -117,6 +122,11 @@ RUN owl-bot copy-code --version
117122
RUN chmod o+rx $(which owl-bot)
118123
RUN apk del -r npm && apk cache clean
119124

125+
# copy the Java formatter
126+
COPY --from=ggj-build "/google-java-format.jar" "${HOME}"/.library_generation/google-java-format.jar
127+
RUN chmod 755 "${HOME}"/.library_generation/google-java-format.jar
128+
ENV JAVA_FORMATTER_LOCATION="${HOME}/.library_generation/google-java-format.jar"
129+
120130
# Here we transfer gapic-generator-java from the previous stage.
121131
# Note that the destination is a well-known location that will be assumed at runtime
122132
# We hard-code the location string to avoid making it configurable (via ARG) as
@@ -125,12 +135,6 @@ COPY --from=ggj-build "/sdk-platform-java/gapic-generator-java.jar" "${HOME}/.li
125135
RUN chmod 755 "${HOME}/.library_generation/gapic-generator-java.jar"
126136
ENV GAPIC_GENERATOR_LOCATION="${HOME}/.library_generation/gapic-generator-java.jar"
127137

128-
# download the Java formatter
129-
ADD https://maven-central.storage-download.googleapis.com/maven2/com/google/googlejavaformat/google-java-format/${JAVA_FORMAT_VERSION}/google-java-format-${JAVA_FORMAT_VERSION}-all-deps.jar \
130-
"${HOME}"/.library_generation/google-java-format.jar
131-
RUN chmod 755 "${HOME}"/.library_generation/google-java-format.jar
132-
ENV JAVA_FORMATTER_LOCATION="${HOME}/.library_generation/google-java-format.jar"
133-
134138
# allow users to access the script folders
135139
RUN chmod -R o+rx /src
136140

.github/workflows/downstream_protobuf_compatibility_check_nightly.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,13 @@ jobs:
4747
uses: actions/checkout@v4
4848
- uses: actions/setup-java@v4
4949
with:
50-
# Use Java 11 for this as Linkage Checker is only compatible with Java 11 or below
50+
java-version: 8
51+
distribution: temurin
52+
- run: echo "JAVA8_HOME=${JAVA_HOME}" >> $GITHUB_ENV
53+
# Java Client Libraries are compiled with Java 11 and target Java 8. Java 11 is required because GraalVM
54+
# minimum support is for Java 11.
55+
- uses: actions/setup-java@v4
56+
with:
5157
java-version: 11
5258
distribution: temurin
5359
- name: Print Protobuf-Java testing version

.github/workflows/java_sdk_logging.yaml

Lines changed: 0 additions & 85 deletions
This file was deleted.

.kokoro/nightly/downstream-protobuf-binary-compatibility.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ function build_program_arguments() {
6262
done
6363
}
6464

65+
# TODO(https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/2395): Java 17+ support for Linkage Checker
6566
# cloud-opensource-java contains the Linkage Checker tool
6667
git clone https://github.com/GoogleCloudPlatform/cloud-opensource-java.git
6768
pushd cloud-opensource-java

.kokoro/nightly/downstream-protobuf-source-compatibility.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,17 @@ for repo in ${REPOS_UNDER_TEST//,/ }; do # Split on comma
2828
git clone "https://github.com/googleapis/$repo.git" --depth=1
2929
pushd "$repo"
3030

31+
# Compile with Java 11 and run the tests with Java 8
32+
mvn clean compile -T 1C
33+
34+
export JAVA_HOME="${JAVA8_HOME}"
35+
export PATH=$JAVA_HOME/bin:$PATH
36+
3137
# Compile the Handwritten Library with the Protobuf-Java version to test source compatibility
3238
# Run unit tests to help check for any behavior differences (dependant on coverage)
3339
if [ "${repo}" == "google-cloud-java" ]; then
3440
# The `-am` command also builds anything these libraries depend on (i.e. proto-* and grpc-* sub modules)
35-
mvn clean test -B -V -ntp \
41+
mvn test -B -V -ntp \
3642
-Dclirr.skip \
3743
-Denforcer.skip \
3844
-Dmaven.javadoc.skip \
@@ -41,7 +47,7 @@ for repo in ${REPOS_UNDER_TEST//,/ }; do # Split on comma
4147
-pl "${google_cloud_java_handwritten_maven_args}" -am \
4248
-T 1C
4349
else
44-
mvn clean test -B -V -ntp \
50+
mvn test -B -V -ntp \
4551
-Dclirr.skip \
4652
-Denforcer.skip \
4753
-Dmaven.javadoc.skip \

gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceClientTestClassComposer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
import com.google.common.base.Preconditions;
6161
import com.google.common.collect.Lists;
6262
import com.google.longrunning.Operation;
63-
import com.google.protobuf.AbstractMessage;
6463
import com.google.protobuf.Any;
6564
import java.io.IOException;
6665
import java.util.ArrayList;
@@ -902,7 +901,7 @@ protected abstract List<Statement> createRpcLroExceptionTestCatchBody(
902901
private static TypeStore createStaticTypes() {
903902
List<Class<?>> concreteClazzes =
904903
Arrays.asList(
905-
AbstractMessage.class,
904+
com.google.protobuf.Message.class,
906905
After.class,
907906
AfterClass.class,
908907
Any.class,

gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/grpc/MockServiceClassComposer.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import com.google.api.generator.gapic.model.GapicClass.Kind;
3737
import com.google.api.generator.gapic.model.GapicContext;
3838
import com.google.api.generator.gapic.model.Service;
39-
import com.google.protobuf.AbstractMessage;
39+
import com.google.protobuf.Message;
4040
import io.grpc.ServerServiceDefinition;
4141
import java.util.Arrays;
4242
import java.util.List;
@@ -130,7 +130,7 @@ private static MethodDefinition createGetRequestsMethod(
130130
TypeNode.withReference(
131131
ConcreteReference.builder()
132132
.setClazz(List.class)
133-
.setGenerics(Arrays.asList(typeStore.get("AbstractMessage").reference()))
133+
.setGenerics(Arrays.asList(typeStore.get("Message").reference()))
134134
.build());
135135
String methodName = "getRequests";
136136
Expr returnExpr =
@@ -153,10 +153,7 @@ private static MethodDefinition createAddResponseMethod(
153153
String methodName = "addResponse";
154154
VariableExpr responseArgExpr =
155155
VariableExpr.withVariable(
156-
Variable.builder()
157-
.setName("response")
158-
.setType(typeStore.get("AbstractMessage"))
159-
.build());
156+
Variable.builder().setName("response").setType(typeStore.get("Message")).build());
160157

161158
Expr methodInvocationExpr =
162159
MethodInvocationExpr.builder()
@@ -235,8 +232,7 @@ private static MethodDefinition createResetMethod(VariableExpr serviceImplVarExp
235232

236233
private static TypeStore createTypes(Service service) {
237234
List<Class<?>> concreteClazzes =
238-
Arrays.asList(
239-
AbstractMessage.class, BetaApi.class, Generated.class, ServerServiceDefinition.class);
235+
Arrays.asList(Message.class, BetaApi.class, Generated.class, ServerServiceDefinition.class);
240236
TypeStore typeStore = new TypeStore(concreteClazzes);
241237

242238
typeStore.put("com.google.api.gax.grpc.testing", "MockGrpcService");

gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/grpc/MockServiceImplClassComposer.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
import com.google.api.generator.gapic.model.Service;
5252
import com.google.api.generator.gapic.utils.JavaStyle;
5353
import com.google.longrunning.Operation;
54-
import com.google.protobuf.AbstractMessage;
54+
import com.google.protobuf.Message;
5555
import io.grpc.ServerServiceDefinition;
5656
import io.grpc.stub.StreamObserver;
5757
import java.util.ArrayList;
@@ -75,8 +75,7 @@ public class MockServiceImplClassComposer implements ClassComposer {
7575
TypeNode.withReference(
7676
ConcreteReference.builder()
7777
.setClazz(List.class)
78-
.setGenerics(
79-
Arrays.asList(FIXED_TYPESTORE.get("AbstractMessage").reference()))
78+
.setGenerics(Arrays.asList(FIXED_TYPESTORE.get("Message").reference()))
8079
.build()))
8180
.build());
8281

@@ -179,10 +178,7 @@ private static MethodDefinition createGetRequestsMethod() {
179178
private static MethodDefinition createAddResponseMethod() {
180179
VariableExpr responseArgExpr =
181180
VariableExpr.withVariable(
182-
Variable.builder()
183-
.setName("response")
184-
.setType(FIXED_TYPESTORE.get("AbstractMessage"))
185-
.build());
181+
Variable.builder().setName("response").setType(FIXED_TYPESTORE.get("Message")).build());
186182
Expr methodInvocationExpr =
187183
MethodInvocationExpr.builder()
188184
.setMethodName("add")
@@ -207,8 +203,7 @@ private static MethodDefinition createSetResponsesMethod(Service service) {
207203
TypeNode.withReference(
208204
ConcreteReference.builder()
209205
.setClazz(List.class)
210-
.setGenerics(
211-
Arrays.asList(FIXED_TYPESTORE.get("AbstractMessage").reference()))
206+
.setGenerics(Arrays.asList(FIXED_TYPESTORE.get("Message").reference()))
212207
.build()))
213208
.build());
214209
Expr responseAssignExpr =
@@ -598,7 +593,7 @@ private static Statement createHandleObjectStatement(
598593
private static TypeStore createStaticTypes() {
599594
List<Class<?>> concreteClazzes =
600595
Arrays.asList(
601-
AbstractMessage.class,
596+
Message.class,
602597
ArrayList.class,
603598
BetaApi.class,
604599
Generated.class,

gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/grpc/ServiceClientTestClassComposer.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
import com.google.api.generator.gapic.model.Service;
5454
import com.google.api.generator.gapic.utils.JavaStyle;
5555
import com.google.common.base.Preconditions;
56-
import com.google.protobuf.AbstractMessage;
5756
import io.grpc.StatusRuntimeException;
5857
import java.util.ArrayList;
5958
import java.util.Arrays;
@@ -378,7 +377,7 @@ protected List<Statement> constructRpcTestCheckerLogic(
378377
ConcreteReference.builder()
379378
.setClazz(List.class)
380379
.setGenerics(
381-
Arrays.asList(ConcreteReference.withClazz(AbstractMessage.class)))
380+
Arrays.asList(ConcreteReference.withClazz(com.google.protobuf.Message.class)))
382381
.build()))
383382
.setName("actualRequests")
384383
.build());
@@ -416,7 +415,7 @@ protected List<Statement> constructRpcTestCheckerLogic(
416415
.setArguments(
417416
ValueExpr.withValue(
418417
PrimitiveValue.builder().setType(TypeNode.INT).setValue("0").build()))
419-
.setReturnType(FIXED_TYPESTORE.get("AbstractMessage"))
418+
.setReturnType(FIXED_TYPESTORE.get("Message"))
420419
.build();
421420
getFirstRequestExpr =
422421
CastExpr.builder().setType(method.inputType()).setExpr(getFirstRequestExpr).build();

gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MockDeprecatedService.golden

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.google.testdata.v1;
22

33
import com.google.api.core.BetaApi;
44
import com.google.api.gax.grpc.testing.MockGrpcService;
5-
import com.google.protobuf.AbstractMessage;
5+
import com.google.protobuf.Message;
66
import io.grpc.ServerServiceDefinition;
77
import java.util.List;
88
import javax.annotation.Generated;
@@ -17,12 +17,12 @@ public class MockDeprecatedService implements MockGrpcService {
1717
}
1818

1919
@Override
20-
public List<AbstractMessage> getRequests() {
20+
public List<Message> getRequests() {
2121
return serviceImpl.getRequests();
2222
}
2323

2424
@Override
25-
public void addResponse(AbstractMessage response) {
25+
public void addResponse(Message response) {
2626
serviceImpl.addResponse(response);
2727
}
2828

0 commit comments

Comments
 (0)