@@ -127,12 +127,14 @@ def java_gapic_library(
127127 service_yaml = None ,
128128 deps = [],
129129 test_deps = [],
130+ transport = None ,
131+ java_generator_name = "java_gapic" ,
130132 ** kwargs ):
131133 file_args_dict = {}
132134
133135 if grpc_service_config :
134136 file_args_dict [grpc_service_config ] = "grpc-service-config"
135- else :
137+ elif transport != "rest" :
136138 for keyword in NO_GRPC_CONFIG_ALLOWLIST :
137139 if keyword not in name :
138140 fail ("Missing a gRPC service config file" )
@@ -157,21 +159,25 @@ def java_gapic_library(
157159 srcjar_name = name + "_srcjar"
158160 raw_srcjar_name = srcjar_name + "_raw"
159161 output_suffix = ".srcjar"
162+ opt_args = []
163+
164+ if transport :
165+ opt_args .append ("transport=%s" % transport )
160166
161167 # Produces the GAPIC metadata file if this flag is set. to any value.
162168 # Protoc invocation: --java_gapic_opt=metadata
163169 plugin_args = ["metadata" ]
164170
165- _java_generator_name = "java_gapic"
166171 proto_custom_library (
167172 name = raw_srcjar_name ,
168173 deps = srcs ,
169- plugin = Label ("@gapic_generator_java//:protoc-gen-%s" % _java_generator_name ),
174+ plugin = Label ("@gapic_generator_java//:protoc-gen-%s" % java_generator_name ),
170175 plugin_args = plugin_args ,
171176 plugin_file_args = {},
172177 opt_file_args = file_args_dict ,
173- output_type = _java_generator_name ,
178+ output_type = java_generator_name ,
174179 output_suffix = output_suffix ,
180+ opt_args = opt_args ,
175181 ** kwargs
176182 )
177183
@@ -201,10 +207,7 @@ def java_gapic_library(
201207 "@com_google_protobuf//:protobuf_java" ,
202208 "@com_google_api_api_common//jar" ,
203209 "@com_google_api_gax_java//gax:gax" ,
204- "@com_google_api_gax_java//gax-grpc:gax_grpc" ,
205210 "@com_google_guava_guava//jar" ,
206- "@io_grpc_grpc_java//core:core" ,
207- "@io_grpc_grpc_java//protobuf:protobuf" ,
208211 "@com_google_code_findbugs_jsr305//jar" ,
209212 "@org_threeten_threetenbp//jar" ,
210213 "@io_opencensus_opencensus_api//jar" ,
@@ -214,6 +217,17 @@ def java_gapic_library(
214217 "@javax_annotation_javax_annotation_api//jar" ,
215218 ]
216219
220+ if transport == "rest" :
221+ actual_deps += [
222+ "@com_google_api_gax_java//gax-httpjson:gax_httpjson" ,
223+ ]
224+ else :
225+ actual_deps += [
226+ "@com_google_api_gax_java//gax-grpc:gax_grpc" ,
227+ "@io_grpc_grpc_java//core:core" ,
228+ "@io_grpc_grpc_java//protobuf:protobuf" ,
229+ ]
230+
217231 native .java_library (
218232 name = name ,
219233 srcs = ["%s.srcjar" % srcjar_name ],
@@ -224,15 +238,24 @@ def java_gapic_library(
224238 # Test deps.
225239 actual_test_deps = [
226240 "@com_google_googleapis//google/type:type_java_proto" , # Commonly used.
227- "@com_google_api_gax_java//gax-grpc:gax_grpc_testlib" ,
228241 "@com_google_api_gax_java//gax:gax_testlib" ,
229242 "@com_google_code_gson_gson//jar" ,
230- "@io_grpc_grpc_java//auth:auth" ,
231- "@io_grpc_grpc_netty_shaded//jar" ,
232- "@io_grpc_grpc_java//stub:stub" ,
233- "@io_opencensus_opencensus_contrib_grpc_metrics//jar" ,
234243 "@junit_junit//jar" ,
235244 ]
245+
246+ if transport == "rest" :
247+ actual_test_deps += [
248+ "@com_google_api_gax_java//gax-httpjson:gax_httpjson_testlib" ,
249+ ]
250+ else :
251+ actual_test_deps += [
252+ "@com_google_api_gax_java//gax-grpc:gax_grpc_testlib" ,
253+ "@io_grpc_grpc_java//auth:auth" ,
254+ "@io_grpc_grpc_netty_shaded//jar" ,
255+ "@io_grpc_grpc_java//stub:stub" ,
256+ "@io_opencensus_opencensus_contrib_grpc_metrics//jar" ,
257+ ]
258+
236259 _append_dep_without_duplicates (actual_test_deps , test_deps )
237260 _append_dep_without_duplicates (actual_test_deps , actual_deps )
238261
0 commit comments