1*882aa7c7SMatt Gilbrideload("@rules_java//java:defs.bzl", "java_binary", "java_proto_library") 2*882aa7c7SMatt Gilbride 3*882aa7c7SMatt Gilbridepackage(default_visibility = ["//visibility:public"]) 4*882aa7c7SMatt Gilbride 5*882aa7c7SMatt Gilbridejava_binary( 6*882aa7c7SMatt Gilbride name = "protoc-gen-java_gapic", 7*882aa7c7SMatt Gilbride main_class = "com.google.api.generator.Main", 8*882aa7c7SMatt Gilbride runtime_deps = ["@maven//:com_google_api_gapic_generator_java"], 9*882aa7c7SMatt Gilbride) 10*882aa7c7SMatt Gilbride 11*882aa7c7SMatt Gilbride# Request dumper binary, which dumps the CodeGeneratorRequest to a file on disk 12*882aa7c7SMatt Gilbride# which will be identical to the one passed to the protoc-gen-java_gapic during 13*882aa7c7SMatt Gilbride# normal execution. The dumped file then can be used to run this gapic-generator 14*882aa7c7SMatt Gilbride# directly (instead of relying on protoc to start the process), which would give 15*882aa7c7SMatt Gilbride# much greater flexibility in terms of debugging features, like attaching a 16*882aa7c7SMatt Gilbride# debugger, easier work with stdout and stderr etc. 17*882aa7c7SMatt Gilbride# 18*882aa7c7SMatt Gilbride# Usage example, via the rule in a corresponding BUILD.bazel file: 19*882aa7c7SMatt Gilbride# 20*882aa7c7SMatt Gilbride# load("@gapic_generator_java//rules_java_gapic:java_gapic.bzl", "java_generator_request_dump") 21*882aa7c7SMatt Gilbride# java_generator_request_dump( 22*882aa7c7SMatt Gilbride# name = "compute_small_request_dump", 23*882aa7c7SMatt Gilbride# srcs = [":compute_small_proto_with_info"], 24*882aa7c7SMatt Gilbride# transport = "rest", 25*882aa7c7SMatt Gilbride# ) 26*882aa7c7SMatt Gilbride# 27*882aa7c7SMatt Gilbridejava_binary( 28*882aa7c7SMatt Gilbride name = "protoc-gen-code_generator_request_dumper", 29*882aa7c7SMatt Gilbride main_class = "com.google.api.generator.debug.CodeGeneratorRequestDumper", 30*882aa7c7SMatt Gilbride runtime_deps = ["@maven//:com_google_api_gapic_generator_java"], 31*882aa7c7SMatt Gilbride) 32*882aa7c7SMatt Gilbride 33*882aa7c7SMatt Gilbride# A binary similar to protoc-gen-java_gapic but reads the CodeGeneratorRequest 34*882aa7c7SMatt Gilbride# directly from a file instead of relying on protoc to pipe it in. 35*882aa7c7SMatt Gilbride# 36*882aa7c7SMatt Gilbride# Usage example: 37*882aa7c7SMatt Gilbride# 38*882aa7c7SMatt Gilbride# bazel run code_generator_request_file_to_gapic_main desc-dump.bin dump.jar 39*882aa7c7SMatt Gilbride# 40*882aa7c7SMatt Gilbridejava_binary( 41*882aa7c7SMatt Gilbride name = "code_generator_request_file_to_gapic_main", 42*882aa7c7SMatt Gilbride main_class = "com.google.api.generator.debug.CodeGeneratorRequestFileToGapicMain", 43*882aa7c7SMatt Gilbride runtime_deps = ["@maven//:com_google_api_gapic_generator_java"], 44*882aa7c7SMatt Gilbride) 45*882aa7c7SMatt Gilbride 46*882aa7c7SMatt Gilbride# google-java-format 47*882aa7c7SMatt Gilbridejava_binary( 48*882aa7c7SMatt Gilbride name = "google_java_format_binary", 49*882aa7c7SMatt Gilbride jvm_flags = ["-Xmx512m"], 50*882aa7c7SMatt Gilbride main_class = "com.google.googlejavaformat.java.Main", 51*882aa7c7SMatt Gilbride runtime_deps = ["@google_java_format_all_deps//jar"], 52*882aa7c7SMatt Gilbride) 53