Skip to content
This repository was archived by the owner on Apr 12, 2022. It is now read-only.

Commit abf4cec

Browse files
authored
chore!: Migrate to gapic-generator-java, remove monolith dependency (#48)
1 parent 6a189a8 commit abf4cec

4 files changed

Lines changed: 1826 additions & 129 deletions

File tree

WORKSPACE

Lines changed: 13 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
44

55
http_archive(
66
name = "com_google_googleapis",
7-
strip_prefix = "googleapis-dba65e3c28aa8e26c4d5b8ec9c80fbd0d0f29864",
8-
urls = ["https://github.com/googleapis/googleapis/archive/dba65e3c28aa8e26c4d5b8ec9c80fbd0d0f29864.zip"],
7+
strip_prefix = "googleapis-2e6b987a6f6e65c33ddefe0f2278dbbd38b46a91",
8+
urls = ["https://github.com/googleapis/googleapis/archive/2e6b987a6f6e65c33ddefe0f2278dbbd38b46a91.zip"],
99
)
1010

1111
##############################################################################
@@ -68,14 +68,6 @@ rules_proto_dependencies()
6868

6969
rules_proto_toolchains()
7070

71-
# Note gapic-generator contains java-specific and common code, that is why it is imported in common
72-
# section
73-
http_archive(
74-
name = "com_google_api_codegen",
75-
strip_prefix = "gapic-generator-2.11.1",
76-
urls = ["https://github.com/googleapis/gapic-generator/archive/v2.11.1.zip"],
77-
)
78-
7971
# rules_go (support Golang under bazel)
8072
# This is not in the Go section because we override the same, older dependency brought in by gRPC.
8173
# TODO(ndietz): move this back to the Go section if gRPC is updated per https://github.com/grpc/grpc/issues/22172
@@ -124,7 +116,7 @@ go_register_toolchains()
124116

125117
gazelle_dependencies()
126118

127-
_rules_gapic_version = "0.5.4"
119+
_rules_gapic_version = "0.5.5"
128120

129121
http_archive(
130122
name = "rules_gapic",
@@ -198,7 +190,7 @@ grpc_java_repositories()
198190

199191
# Java microgenerator.
200192
# Must go AFTER java-gax, since both java gax and gapic-generator are written in java and may conflict.
201-
_gapic_generator_java_version = "1.0.13"
193+
_gapic_generator_java_version = "1.0.15"
202194

203195
http_archive(
204196
name = "gapic_generator_java",
@@ -217,65 +209,23 @@ load("@gapic_generator_java//:repositories.bzl", "gapic_generator_java_repositor
217209

218210
gapic_generator_java_repositories()
219211

220-
# gapic-generator transitive
221-
# (goes AFTER java-gax, since both java gax and gapic-generator are written in java and may conflict)
222-
load("@com_google_api_codegen//:repository_rules.bzl", "com_google_api_codegen_properties")
223-
224-
com_google_api_codegen_properties(
225-
name = "com_google_api_codegen_properties",
226-
file = "@com_google_api_codegen//:dependencies.properties",
227-
)
228-
229-
load("@com_google_api_codegen//:repositories.bzl", "com_google_api_codegen_repositories")
230-
231-
http_archive(
232-
name = "com_google_protoc_java_resource_names_plugin",
233-
strip_prefix = "protoc-java-resource-names-plugin-8d749cb5b7aa2734656e1ad36ceda92894f33153",
234-
urls = ["https://github.com/googleapis/protoc-java-resource-names-plugin/archive/8d749cb5b7aa2734656e1ad36ceda92894f33153.zip"],
235-
)
236-
237-
com_google_api_codegen_repositories()
238-
239-
# protoc-java-resource-names-plugin (loaded in com_google_api_codegen_repositories())
240-
# (required to support resource names feature in gapic generator)
241-
load(
242-
"@com_google_protoc_java_resource_names_plugin//:repositories.bzl",
243-
"com_google_protoc_java_resource_names_plugin_repositories",
244-
)
245-
246-
com_google_protoc_java_resource_names_plugin_repositories()
247-
248212
##############################################################################
249213
# Python
250214
##############################################################################
251-
load("@com_google_api_codegen//rules_gapic/python:py_gapic_repositories.bzl", "py_gapic_repositories")
215+
load("@rules_gapic//python:py_gapic_repositories.bzl", "py_gapic_repositories")
252216

253217
py_gapic_repositories()
254218

255-
http_archive(
256-
name = "protoc_docs_plugin",
257-
strip_prefix = "protoc-docs-plugin-2bdf14e394bbaa44b81286b1a19c5f229b51c667",
258-
urls = ["https://github.com/googleapis/protoc-docs-plugin/archive/2bdf14e394bbaa44b81286b1a19c5f229b51c667.zip"],
259-
)
260-
261-
load(
262-
"@protoc_docs_plugin//:repositories.bzl",
263-
"protoc_docs_plugin_register_toolchains",
264-
"protoc_docs_plugin_repositories",
265-
)
266-
267-
protoc_docs_plugin_repositories()
268-
269-
protoc_docs_plugin_register_toolchains()
270-
271219
load("@rules_python//python:pip.bzl", "pip_repositories")
272220

273221
pip_repositories()
274222

223+
_gapic_generator_python_version = "0.50.3"
224+
275225
http_archive(
276226
name = "gapic_generator_python",
277-
strip_prefix = "gapic-generator-python-0.50.0",
278-
urls = ["https://github.com/googleapis/gapic-generator-python/archive/v0.50.0.zip"],
227+
strip_prefix = "gapic-generator-python-%s" % _gapic_generator_python_version,
228+
urls = ["https://github.com/googleapis/gapic-generator-python/archive/v%s.zip" % _gapic_generator_python_version],
279229
)
280230

281231
load(
@@ -292,7 +242,7 @@ gapic_generator_register_toolchains()
292242
# Go
293243
##############################################################################
294244

295-
_gapic_generator_go_version = "0.20.0"
245+
_gapic_generator_go_version = "0.21.2"
296246

297247
http_archive(
298248
name = "com_googleapis_gapic_generator_go",
@@ -304,10 +254,6 @@ load("@com_googleapis_gapic_generator_go//:repositories.bzl", "com_googleapis_ga
304254

305255
com_googleapis_gapic_generator_go_repositories()
306256

307-
load("@com_googleapis_gapic_generator_go//rules_go_gapic:go_gapic_repositories.bzl", "go_gapic_repositories")
308-
309-
go_gapic_repositories()
310-
311257
##############################################################################
312258
# TypeScript
313259
##############################################################################
@@ -403,6 +349,7 @@ gapic_generator_csharp_repositories()
403349
##############################################################################
404350
# Ruby
405351
##############################################################################
352+
406353
_gapic_generator_ruby_version = "2b66e7aca8d5d7d4cb7bf436776d7713d264cab8"
407354

408355
_gapic_generator_ruby_sha256 = "b00e2fa2c6f6734a32cffe77ffe5a74d02bbfaa4ad70dd92fde43c47c090b663"
@@ -424,8 +371,8 @@ gapic_generator_ruby_repositories()
424371

425372
http_archive(
426373
name = "com_google_disco_to_proto3_converter",
427-
strip_prefix = "disco-to-proto3-converter-1839f6aca5e968e59b7acc03e7018b0fda8c480b",
428-
urls = ["https://github.com/googleapis/disco-to-proto3-converter/archive/1839f6aca5e968e59b7acc03e7018b0fda8c480b.zip"],
374+
strip_prefix = "disco-to-proto3-converter-4b0956884b1aa9b367cf41488b622dc12eb16652",
375+
urls = ["https://github.com/googleapis/disco-to-proto3-converter/archive/4b0956884b1aa9b367cf41488b622dc12eb16652.zip"],
429376
)
430377

431378
load("@com_google_disco_to_proto3_converter//:repository_rules.bzl", "com_google_disco_to_proto3_converter_properties")

google/cloud/compute/v1/BUILD.bazel

Lines changed: 46 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package(default_visibility = ["//visibility:public"])
88
##############################################################################
99
load(
1010
"@com_google_disco_to_proto3_converter//rules_gapic:disco_to_proto.bzl",
11+
"grpc_service_config_from_disco",
1112
"proto_from_disco",
1213
)
1314

@@ -16,31 +17,47 @@ proto_from_disco(
1617
src = "compute.v1.small.json",
1718
)
1819

20+
grpc_service_config_from_disco(
21+
name = "compute_small_grpc_service_config_gen",
22+
src = "compute.v1.small.json",
23+
)
24+
25+
_MESSAGE_IGNORE_LIST = [
26+
"HttpHealthCheck",
27+
"HttpsHealthCheck",
28+
"HttpHealthCheckList",
29+
"HttpsHealthCheckList",
30+
"GetHttpHealthCheckRequest",
31+
"GetHttpsHealthCheckRequest",
32+
"PatchHttpHealthCheckRequest",
33+
"PatchHttpsHealthCheckRequest",
34+
"UpdateHttpHealthCheckRequest",
35+
"UpdateHttpsHealthCheckRequest",
36+
"InsertHttpHealthCheckRequest",
37+
"InsertHttpsHealthCheckRequest",
38+
"ListHttpHealthChecksRequest",
39+
"ListHttpsHealthChecksRequest",
40+
"DeleteHttpHealthCheckRequest",
41+
"DeleteHttpsHealthCheckRequest",
42+
]
43+
44+
_SERVICE_IGNORELIST = [
45+
"HttpHealthChecks",
46+
"HttpsHealthChecks",
47+
]
48+
1949
proto_from_disco(
2050
name = "compute_gen",
2151
src = "compute.v1.json",
22-
message_ignorelist = [
23-
"HttpHealthCheck",
24-
"HttpsHealthCheck",
25-
"HttpHealthCheckList",
26-
"HttpsHealthCheckList",
27-
"GetHttpHealthCheckRequest",
28-
"GetHttpsHealthCheckRequest",
29-
"PatchHttpHealthCheckRequest",
30-
"PatchHttpsHealthCheckRequest",
31-
"UpdateHttpHealthCheckRequest",
32-
"UpdateHttpsHealthCheckRequest",
33-
"InsertHttpHealthCheckRequest",
34-
"InsertHttpsHealthCheckRequest",
35-
"ListHttpHealthChecksRequest",
36-
"ListHttpsHealthChecksRequest",
37-
"DeleteHttpHealthCheckRequest",
38-
"DeleteHttpsHealthCheckRequest",
39-
],
40-
service_ignorelist = [
41-
"HttpHealthChecks",
42-
"HttpsHealthChecks",
43-
],
52+
message_ignorelist = _MESSAGE_IGNORE_LIST,
53+
service_ignorelist = _SERVICE_IGNORELIST,
54+
)
55+
56+
grpc_service_config_from_disco(
57+
name = "compute_grpc_service_config_gen",
58+
src = "compute.v1.json",
59+
message_ignorelist = _MESSAGE_IGNORE_LIST,
60+
service_ignorelist = _SERVICE_IGNORELIST,
4461
)
4562

4663
##############################################################################
@@ -49,12 +66,6 @@ proto_from_disco(
4966
load("@rules_proto//proto:defs.bzl", "proto_library")
5067
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
5168

52-
# TODO: Remove legacy rule imports after the monolith has been removed from this repo.
53-
load(
54-
"@com_google_api_codegen//rules_gapic:gapic.bzl",
55-
proto_library_with_info_legacy = "proto_library_with_info",
56-
)
57-
5869
proto_library(
5970
name = "compute_proto",
6071
srcs = [
@@ -77,14 +88,6 @@ proto_library_with_info(
7788
],
7889
)
7990

80-
proto_library_with_info_legacy(
81-
name = "compute_proto_with_info_legacy",
82-
deps = [
83-
":compute_proto",
84-
"@com_google_googleapis//google/cloud:common_resources_proto",
85-
],
86-
)
87-
8891
proto_library(
8992
name = "compute_small_proto",
9093
srcs = [
@@ -108,14 +111,6 @@ proto_library_with_info(
108111
],
109112
)
110113

111-
proto_library_with_info_legacy(
112-
name = "compute_small_proto_with_info_legacy",
113-
deps = [
114-
":compute_small_proto",
115-
"@com_google_googleapis//google/cloud:common_resources_proto",
116-
],
117-
)
118-
119114
##############################################################################
120115
# Java
121116
##############################################################################
@@ -128,36 +123,23 @@ load(
128123
"java_proto_library",
129124
)
130125

131-
# TODO: Remove legacy rule imports after the monolith has been removed from this repo.
132-
load(
133-
"@com_google_api_codegen//rules_gapic/java:java_gapic.bzl",
134-
java_gapic_library_legacy = "java_gapic_library",
135-
java_gapic_test_legacy = "java_gapic_test",
136-
)
137-
load(
138-
"@com_google_api_codegen//rules_gapic/java:java_gapic_pkg.bzl",
139-
java_gapic_assembly_gradle_pkg_legacy = "java_gapic_assembly_gradle_pkg",
140-
)
141-
142126
java_proto_library(
143127
name = "compute_java_proto",
144128
deps = [":compute_proto"],
145129
)
146130

147-
java_gapic_library_legacy(
131+
java_gapic_library(
148132
name = "compute_java_gapic",
149-
src = ":compute_proto_with_info_legacy",
150-
gapic_yaml = "compute_gapic.yaml",
151-
package = "google.cloud.compute.v1",
152-
service_yaml = "compute_v1.yaml",
133+
srcs = [":compute_proto_with_info"],
134+
grpc_service_config = ":compute_grpc_service_config.json",
153135
test_deps = [],
154136
transport = "rest",
155137
deps = [
156138
":compute_java_proto",
157139
],
158140
)
159141

160-
java_gapic_test_legacy(
142+
java_gapic_test(
161143
name = "compute_java_gapic_test_suite",
162144
test_classes = [
163145
"com.google.cloud.compute.v1.AcceleratorTypesClientTest",
@@ -235,7 +217,7 @@ java_gapic_test_legacy(
235217
)
236218

237219
# Open Source Packages
238-
java_gapic_assembly_gradle_pkg_legacy(
220+
java_gapic_assembly_gradle_pkg(
239221
name = "google-cloud-compute-v1-java",
240222
transport = "rest",
241223
deps = [
@@ -254,7 +236,8 @@ java_proto_library(
254236
# Used for integration tests
255237
java_gapic_library(
256238
name = "compute_small_java_gapic",
257-
srcs = [":compute_small_proto_with_info_legacy"],
239+
srcs = [":compute_small_proto_with_info"],
240+
grpc_service_config = ":compute_small_grpc_service_config.json",
258241
test_deps = [],
259242
transport = "rest",
260243
deps = [

0 commit comments

Comments
 (0)