Skip to content

Commit

Permalink
feat: REST GAPIC (REGAPIC) Support for Java (#3275)
Browse files Browse the repository at this point in the history
  • Loading branch information
vam-google committed Oct 12, 2020
1 parent c0d42ed commit 027984c
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 9 deletions.
3 changes: 3 additions & 0 deletions gapic.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,13 @@ def _gapic_srcjar_impl(ctx):
_set_args(attr.service_yaml, "--service_yaml=", arguments, inputs)
_set_args(attr.package_yaml2, "--package_yaml2=", arguments, inputs)
_set_args(attr.grpc_service_config, "--grpc_service_config=", arguments, inputs)
_set_args(attr.transport, "--transport=", arguments)
else:
_set_args(attr.language, "--language=", arguments)
_set_args(attr.src, "--descriptor=", arguments, inputs)
_set_args(attr.package, "--package=", arguments)
_set_args(attr.grpc_service_config, "--grpc_service_config=", arguments, inputs)
_set_args(attr.transport, "--transport=", arguments)

gapic_generator = ctx.executable.gapic_generator
ctx.actions.run(
Expand Down Expand Up @@ -72,6 +74,7 @@ gapic_srcjar = rule(
"package": attr.string(mandatory = False),
"output_suffix": attr.string(mandatory = False, default = ".srcjar"),
"grpc_service_config": attr.label(mandatory = False, allow_single_file = True),
"transport": attr.string(mandatory = False),
"gapic_generator": attr.label(
default = Label("//:gapic_generator"),
executable = True,
Expand Down
36 changes: 28 additions & 8 deletions java/java_gapic.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ def java_gapic_srcjar(
package = None,
service_yaml = None,
grpc_service_config = None,
transport = None,
**kwargs):
raw_srcjar_name = "%s_raw" % name

Expand All @@ -90,6 +91,7 @@ def java_gapic_srcjar(
language = "java",
package = package,
grpc_service_config = grpc_service_config,
transport = transport,
**kwargs
)

Expand Down Expand Up @@ -132,6 +134,7 @@ def java_gapic_library(
package = None,
gen_resource_name = True,
grpc_service_config = None,
transport = None,
deps = [],
test_deps = [],
**kwargs):
Expand All @@ -144,6 +147,7 @@ def java_gapic_library(
artifact_type = "GAPIC_CODE",
package = package,
grpc_service_config = grpc_service_config,
transport = transport,
**kwargs
)

Expand All @@ -162,10 +166,7 @@ def java_gapic_library(
"@com_google_protobuf//:protobuf_java",
"@com_google_api_api_common//jar",
"@com_google_api_gax_java//gax:gax",
"@com_google_api_gax_java//gax-grpc:gax_grpc",
"@com_google_guava_guava//jar",
"@io_grpc_grpc_java//core:core",
"@io_grpc_grpc_java//protobuf:protobuf",
"@com_google_code_findbugs_jsr305//jar",
"@org_threeten_threetenbp//jar",
"@io_opencensus_opencensus_api//jar",
Expand All @@ -175,6 +176,17 @@ def java_gapic_library(
"@javax_annotation_javax_annotation_api//jar",
]

if transport == "rest":
actual_deps += [
"@com_google_api_gax_java//gax-httpjson:gax_httpjson",
]
else:
actual_deps += [
"@com_google_api_gax_java//gax-grpc:gax_grpc",
"@io_grpc_grpc_java//core:core",
"@io_grpc_grpc_java//protobuf:protobuf",
]

native.java_library(
name = name,
srcs = [":%s.srcjar" % srcjar_name],
Expand All @@ -183,16 +195,24 @@ def java_gapic_library(
)

actual_test_deps = test_deps + [
"@com_google_api_gax_java//gax-grpc:gax_grpc_testlib",
"@com_google_api_gax_java//gax:gax_testlib",
"@com_google_code_gson_gson//jar",
"@io_grpc_grpc_java//auth:auth",
"@io_grpc_grpc_netty_shaded//jar",
"@io_grpc_grpc_java//stub:stub",
"@io_opencensus_opencensus_contrib_grpc_metrics//jar",
"@junit_junit//jar",
]

if transport == "rest":
actual_test_deps += [
"@com_google_api_gax_java//gax-httpjson:gax_httpjson_testlib",
]
else:
actual_test_deps += [
"@com_google_api_gax_java//gax-grpc:gax_grpc_testlib",
"@io_grpc_grpc_java//auth:auth",
"@io_grpc_grpc_netty_shaded//jar",
"@io_grpc_grpc_java//stub:stub",
"@io_opencensus_opencensus_contrib_grpc_metrics//jar",
]

native.java_library(
name = "%s_test" % name,
srcs = [":%s-test.srcjar" % srcjar_name],
Expand Down
8 changes: 7 additions & 1 deletion java/java_gapic_pkg.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ def java_gapic_assembly_gradle_pkg(
name,
deps,
assembly_name = None,
transport = None,
**kwargs):
package_dir = name
if assembly_name:
Expand Down Expand Up @@ -206,9 +207,14 @@ def java_gapic_assembly_gradle_pkg(
grpc_target_dep = ["%s" % grpc_target]

if client_deps:
if transport == "rest":
template_label = Label("//rules_gapic/java:resources/gradle/client_disco.gradle.tmpl")
else:
template_label = Label("//rules_gapic/java:resources/gradle/client.gradle.tmpl")

_java_gapic_gradle_pkg(
name = client_target,
template_label = Label("//rules_gapic/java:resources/gradle/client.gradle.tmpl"),
template_label = template_label,
deps = proto_target_dep + client_deps,
test_deps = grpc_target_dep + client_test_deps,
**kwargs
Expand Down

0 comments on commit 027984c

Please sign in to comment.