Skip to content

Commit 200fce7

Browse files
vam-googlearithmetic1728release-please[bot]
authored
chore: Merge multitransport client and fixes (#836)
* feat: enable self signed jwt for gapic clients (#794) * feat: enable self signed jwt for gapic clients * resolve comments * update gax version * update goldens * update golden files * chore: release 2.1.0 (#827) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> * feat: REGAPIC initial implementation (#824) This includes: 1) Proper GRPC transcoding 2) Mimimal REST Operations (go make it compilable) 3) Rely on resource names for tests values generation (to not fail http url path validation) 4) Empty Server Streaming method implementation * feat: REGAPIC Multitransport implementation (grpc+rest) (#833) 1) Fully backward compatible with grpc-only GAPIC 2) Strictly speaking not fully backward compatible with rest-only REGAPIC (but is compatible for practical cases). See below for details. 3) Introduces the concept of default transport (is necessary to preserve backward-compabitility). The default behavior assumes grpc transport. Needed to unblock DIREGAPIC LRO. To be reviewed after submission * chore: merge DIREGAPIC LRO with multitransport changes from master * fix: fix Stub.longRunningClient() issues for DIREGAPIC LRO * fix: [bazel] fix rest transport handling in assembly rule (#835) Co-authored-by: arithmetic1728 <[email protected]> Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
1 parent 957f69a commit 200fce7

File tree

79 files changed

+3410
-2173
lines changed

Some content is hidden

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

79 files changed

+3410
-2173
lines changed

WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jvm_maven_import_external(
3333
# which in its turn, prioritizes actual generated clients runtime dependencies
3434
# over the generator dependencies.
3535

36-
_gax_java_version = "2.3.0"
36+
_gax_java_version = "2.4.0"
3737

3838
http_archive(
3939
name = "com_google_api_gax_java",

repositories.bzl

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ def gapic_generator_java_repositories():
7070
_maybe(
7171
http_archive,
7272
name = "com_google_googleapis_discovery",
73-
strip_prefix = "googleapis-discovery-2872d382ff767518e63d59ececf5d6f9224b21b4",
73+
strip_prefix = "googleapis-discovery-bb8a053b93ef8698297c41634aa9201f7e075277",
7474
urls = [
75-
"https://github.com/vam-google/googleapis-discovery/archive/2872d382ff767518e63d59ececf5d6f9224b21b4.zip",
75+
"https://github.com/vam-google/googleapis-discovery/archive/bb8a053b93ef8698297c41634aa9201f7e075277.zip",
7676
],
7777
)
7878

rules_java_gapic/java_gapic.bzl

+25-5
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def _java_gapic_srcjar(
135135

136136
if grpc_service_config:
137137
file_args_dict[grpc_service_config] = "grpc-service-config"
138-
elif transport != "rest":
138+
elif not transport or transport == "grpc":
139139
for keyword in NO_GRPC_CONFIG_ALLOWLIST:
140140
if keyword not in name:
141141
fail("Missing a gRPC service config file")
@@ -230,16 +230,25 @@ def java_gapic_library(
230230
"@javax_annotation_javax_annotation_api//jar",
231231
]
232232

233-
if transport == "rest":
233+
if not transport or transport == "grpc":
234+
actual_deps += [
235+
"@com_google_api_gax_java//gax-grpc:gax_grpc",
236+
"@io_grpc_grpc_java//core:core",
237+
"@io_grpc_grpc_java//protobuf:protobuf",
238+
]
239+
elif transport == "rest":
234240
actual_deps += [
235241
"@com_google_api_gax_java//gax-httpjson:gax_httpjson",
236242
]
237-
else:
243+
elif transport == "grpc+rest":
238244
actual_deps += [
239245
"@com_google_api_gax_java//gax-grpc:gax_grpc",
240246
"@io_grpc_grpc_java//core:core",
241247
"@io_grpc_grpc_java//protobuf:protobuf",
248+
"@com_google_api_gax_java//gax-httpjson:gax_httpjson",
242249
]
250+
else:
251+
fail("Unknown transport: %s" % transport)
243252

244253
native.java_library(
245254
name = name,
@@ -256,18 +265,29 @@ def java_gapic_library(
256265
"@junit_junit//jar",
257266
]
258267

259-
if transport == "rest":
268+
if not transport or transport == "grpc":
269+
actual_test_deps += [
270+
"@com_google_api_gax_java//gax-grpc:gax_grpc_testlib",
271+
"@io_grpc_grpc_java//auth:auth",
272+
"@io_grpc_grpc_netty_shaded//jar",
273+
"@io_grpc_grpc_java//stub:stub",
274+
"@io_opencensus_opencensus_contrib_grpc_metrics//jar",
275+
]
276+
elif transport == "rest":
260277
actual_test_deps += [
261278
"@com_google_api_gax_java//gax-httpjson:gax_httpjson_testlib",
262279
]
263-
else:
280+
elif transport == "grpc+rest":
264281
actual_test_deps += [
265282
"@com_google_api_gax_java//gax-grpc:gax_grpc_testlib",
266283
"@io_grpc_grpc_java//auth:auth",
267284
"@io_grpc_grpc_netty_shaded//jar",
268285
"@io_grpc_grpc_java//stub:stub",
269286
"@io_opencensus_opencensus_contrib_grpc_metrics//jar",
287+
"@com_google_api_gax_java//gax-httpjson:gax_httpjson_testlib",
270288
]
289+
else:
290+
fail("Unknown transport: %s" % transport)
271291

272292
_append_dep_without_duplicates(actual_test_deps, test_deps)
273293
_append_dep_without_duplicates(actual_test_deps, actual_deps)

rules_java_gapic/java_gapic_pkg.bzl

+5-3
Original file line numberDiff line numberDiff line change
@@ -351,10 +351,12 @@ def java_gapic_assembly_gradle_pkg(
351351
grpc_target_dep = ["%s" % grpc_target]
352352

353353
if client_deps:
354-
if transport == "rest":
355-
template_label = Label("//rules_java_gapic:resources/gradle/client_rest.gradle.tmpl")
356-
else:
354+
if not transport or transport == "grpc":
357355
template_label = Label("//rules_java_gapic:resources/gradle/client_grpc.gradle.tmpl")
356+
elif transport == "rest":
357+
template_label = Label("//rules_java_gapic:resources/gradle/client_rest.gradle.tmpl")
358+
elif transport == "grpc+rest":
359+
template_label = Label("//rules_java_gapic:resources/gradle/client_grpcrest.gradle.tmpl")
358360

359361
_java_gapic_gradle_pkg(
360362
name = client_target,

rules_java_gapic/resources/gradle/assembly.gradle.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ subprojects {
1212
apply plugin: 'java'
1313
apply plugin: 'maven'
1414

15-
sourceCompatibility = 1.7
16-
targetCompatibility = 1.7
15+
sourceCompatibility = 1.8
16+
targetCompatibility = 1.8
1717

1818
test {
1919
testLogging {

rules_java_gapic/resources/gradle/client_grpc.gradle.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ apply plugin: 'java'
99
description = 'GAPIC library for {{name}}'
1010
group = 'com.google.cloud'
1111
version = (findProperty('version') == 'unspecified') ? '0.0.0-SNAPSHOT' : version
12-
sourceCompatibility = 1.7
13-
targetCompatibility = 1.7
12+
sourceCompatibility = 1.8
13+
targetCompatibility = 1.8
1414

1515
repositories {
1616
mavenCentral()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
buildscript {
2+
repositories {
3+
mavenCentral()
4+
}
5+
}
6+
7+
apply plugin: 'java'
8+
9+
description = 'GAPIC library for {{name}}'
10+
group = 'com.google.cloud'
11+
version = (findProperty('version') == 'unspecified') ? '0.0.0-SNAPSHOT' : version
12+
sourceCompatibility = 1.8
13+
targetCompatibility = 1.8
14+
15+
repositories {
16+
mavenCentral()
17+
mavenLocal()
18+
}
19+
20+
compileJava.options.encoding = 'UTF-8'
21+
javadoc.options.encoding = 'UTF-8'
22+
23+
dependencies {
24+
compile 'com.google.api:gax:{{version.gax}}'
25+
testCompile 'com.google.api:gax:{{version.gax}}:testlib'
26+
compile 'com.google.api:gax-grpc:{{version.gax_grpc}}'
27+
testCompile 'com.google.api:gax-grpc:{{version.gax_grpc}}:testlib'
28+
compile 'com.google.api:gax-httpjson:{{version.gax_httpjson}}'
29+
testCompile 'com.google.api:gax-httpjson:{{version.gax_httpjson}}:testlib'
30+
testCompile 'io.grpc:grpc-netty-shaded:{{version.io_grpc}}'
31+
testCompile '{{maven.junit_junit}}'
32+
{{extra_deps}}
33+
}
34+
35+
task smokeTest(type: Test) {
36+
filter {
37+
includeTestsMatching "*SmokeTest"
38+
setFailOnNoMatchingTests false
39+
}
40+
}
41+
42+
test {
43+
exclude "**/*SmokeTest*"
44+
}
45+
46+
sourceSets {
47+
main {
48+
java {
49+
srcDir 'src/main/java'
50+
}
51+
}
52+
}
53+
54+
clean {
55+
delete 'all-jars'
56+
}
57+
58+
task allJars(type: Copy) {
59+
dependsOn test, jar
60+
into 'all-jars'
61+
// Replace with `from configurations.testRuntime, jar` to include test dependencies
62+
from configurations.runtime, jar
63+
}

rules_java_gapic/resources/gradle/client_rest.gradle.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ apply plugin: 'java'
99
description = 'GAPIC library for {{name}}'
1010
group = 'com.google.cloud'
1111
version = (findProperty('version') == 'unspecified') ? '0.0.0-SNAPSHOT' : version
12-
sourceCompatibility = 1.7
13-
targetCompatibility = 1.7
12+
sourceCompatibility = 1.8
13+
targetCompatibility = 1.8
1414

1515
repositories {
1616
mavenCentral()

rules_java_gapic/resources/gradle/grpc.gradle.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ apply plugin: 'java'
99
description = 'GRPC library for {{name}}'
1010
group = 'com.google.api.grpc'
1111
version = (findProperty('version') == 'unspecified') ? '0.0.0-SNAPSHOT' : version
12-
sourceCompatibility = 1.7
13-
targetCompatibility = 1.7
12+
sourceCompatibility = 1.8
13+
targetCompatibility = 1.8
1414

1515
repositories {
1616
mavenCentral()

rules_java_gapic/resources/gradle/proto.gradle.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ apply plugin: 'java'
99
description = 'PROTO library for {{name}}'
1010
group = 'com.google.api.grpc'
1111
version = (findProperty('version') == 'unspecified') ? '0.0.0-SNAPSHOT' : version
12-
sourceCompatibility = 1.7
13-
targetCompatibility = 1.7
12+
sourceCompatibility = 1.8
13+
targetCompatibility = 1.8
1414

1515
repositories {
1616
mavenCentral()

src/main/java/com/google/api/generator/gapic/BUILD.bazel

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ filegroup(
99
"//src/main/java/com/google/api/generator/gapic/composer/comment:comment_files",
1010
"//src/main/java/com/google/api/generator/gapic/composer/defaultvalue:defaultvalue_files",
1111
"//src/main/java/com/google/api/generator/gapic/composer/grpc:grpc_files",
12+
"//src/main/java/com/google/api/generator/gapic/composer/grpcrest:grpcrest_files",
1213
"//src/main/java/com/google/api/generator/gapic/composer/resourcename:resourcename_files",
1314
"//src/main/java/com/google/api/generator/gapic/composer/rest:rest_files",
1415
"//src/main/java/com/google/api/generator/gapic/composer/samplecode:samplecode_files",

src/main/java/com/google/api/generator/gapic/composer/BUILD.bazel

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ java_library(
2121
"//src/main/java/com/google/api/generator/gapic/composer/common",
2222
"//src/main/java/com/google/api/generator/gapic/composer/defaultvalue",
2323
"//src/main/java/com/google/api/generator/gapic/composer/grpc",
24+
"//src/main/java/com/google/api/generator/gapic/composer/grpcrest",
2425
"//src/main/java/com/google/api/generator/gapic/composer/resourcename",
2526
"//src/main/java/com/google/api/generator/gapic/composer/rest",
2627
"//src/main/java/com/google/api/generator/gapic/composer/samplecode",

0 commit comments

Comments
 (0)