forked from googleapis/sdk-platform-java
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILD.bazel
124 lines (112 loc) · 4.51 KB
/
BUILD.bazel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
load("@rules_java//java:defs.bzl", "java_binary", "java_proto_library")
load(
"//:gapic_generator_java.bzl",
"google_java_format",
"google_java_format_verification",
)
package(default_visibility = ["//visibility:public"])
JAVA_SRCS = [
"//src/main/java/com/google/api/generator/debug:debug_files",
"//src/main/java/com/google/api/generator:generator_files",
"//src/main/java/com/google/api/generator/engine:engine_files",
"//src/main/java/com/google/api/generator/gapic:gapic_files",
"//src/main/java/com/google/api/generator/util:util_files",
]
TEST_SRCS = [
"//src/test/java/com/google/api/generator/engine:engine_files",
"//src/test/java/com/google/api/generator/gapic:gapic_files",
"//src/test/java/com/google/api/generator/testutils:testutils_files",
"//src/test/java/com/google/api/generator/util:util_files",
"//src/test/java/com/google/api/generator/test/framework:framework_files",
]
# ============= Proto wrappers =================
java_proto_library(
name = "service_config_java_proto",
visibility = ["//:__subpackages__"],
deps = [
"@io_grpc_proto//:service_config_proto",
],
)
# ============= Binary targets ================
java_binary(
name = "protoc-gen-java_gapic",
main_class = "com.google.api.generator.Main",
runtime_deps = [
"//src/main/java/com/google/api/generator",
"//src/main/java/com/google/api/generator/gapic",
"@com_google_googleapis//google/api:api_java_proto",
"@com_google_googleapis//google/longrunning:longrunning_java_proto",
"@com_google_guava_guava",
"@com_google_protobuf//:protobuf_java",
],
)
# Request dumper binary, which dumps the CodeGeneratorRequest to a file on disk
# which will be identical to the one passed to the protoc-gen-java_gapic during
# normal execution. The dumped file then can be used to run this gapic-generator
# directly (instead of relying on protoc to start the process), which would give
# much greater flexibility in terms of debugging features, like attaching a
# debugger, easier work with stdout and stderr etc.
#
# Usage example, via the rule in a corresponding BUILD.bazel file:
#
# load("@gapic_generator_java//rules_java_gapic:java_gapic.bzl", "java_generator_request_dump")
# java_generator_request_dump(
# name = "compute_small_request_dump",
# srcs = [":compute_small_proto_with_info"],
# transport = "rest",
# )
#
java_binary(
name = "protoc-gen-code_generator_request_dumper",
main_class = "com.google.api.generator.debug.CodeGeneratorRequestDumper",
runtime_deps = [
"//src/main/java/com/google/api/generator",
"//src/main/java/com/google/api/generator/debug",
"//src/main/java/com/google/api/generator/gapic",
"@com_google_googleapis//google/api:api_java_proto",
"@com_google_googleapis//google/longrunning:longrunning_java_proto",
"@com_google_guava_guava",
"@com_google_protobuf//:protobuf_java",
],
)
# A binary similar to protoc-gen-java_gapic but reads the CodeGeneratorRequest
# directly from a file instead of relying on protoc to pipe it in.
#
# Usage example:
#
# bazel run code_generator_request_file_to_gapic_main desc-dump.bin dump.jar
#
java_binary(
name = "code_generator_request_file_to_gapic_main",
main_class = "com.google.api.generator.debug.CodeGeneratorRequestFileToGapicMain",
runtime_deps = [
"//src/main/java/com/google/api/generator",
"//src/main/java/com/google/api/generator/debug",
"//src/main/java/com/google/api/generator/gapic",
"@com_google_googleapis//google/api:api_java_proto",
"@com_google_googleapis//google/longrunning:longrunning_java_proto",
"@com_google_guava_guava",
"@com_google_protobuf//:protobuf_java",
],
)
# google-java-format
java_binary(
name = "google_java_format_binary",
jvm_flags = ["-Xmx512m"],
main_class = "com.google.googlejavaformat.java.Main",
visibility = ["//visibility:public"],
runtime_deps = ["@google_java_format_all_deps//jar"],
)
# Run `bazel build //:google_java_format_verification` to verify that gapic-generator-java sources
# are formatted correctly.
google_java_format_verification(
name = "google_java_format_verification",
srcs = JAVA_SRCS + TEST_SRCS,
formatter = "//:google_java_format_binary",
)
# Run `bazel run //:google_java_format` to format gapic-generator-java sources.
google_java_format(
name = "google_java_format",
srcs = JAVA_SRCS + TEST_SRCS,
formatter = "//:google_java_format_binary",
)