Skip to content

Commit 86f2472

Browse files
authored
fix(bazel): Eradicate monolith deps from Java µgen repo (#778)
* fix(bazel): Eradicate monolith deps from Java µgen repo * fix: update googleapis hash * fix: update googleapis-discovery and deps' hashes
1 parent 9432979 commit 86f2472

15 files changed

Lines changed: 610 additions & 216 deletions

.github/workflows/ci.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ jobs:
4949
run: bazel --batch test $(bazel query "//src/test/..." | grep "Test$") --noshow_progress --test_output=errors
5050

5151
- name: Integration Tests
52-
# TODO(miraleung): Change this to //test/integration/... after the monolith rule removal.
53-
run: bazel --batch test //test/integration:asset //test/integration:compute //test/integration:credentials //test/integration:iam //test/integration:kms //test/integration:logging //test/integration:pubsub //test/integration:redis //test/integration:library --noshow_progress
52+
run: bazel --batch test //test/integration/...
5453

5554
- uses: actions/upload-artifact@v2
5655
if: ${{ failure() }}

WORKSPACE

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
6969
protobuf_deps()
7070

7171
# Bazel rules.
72-
_rules_gapic_version = "0.5.4"
72+
_rules_gapic_version = "0.5.5"
7373

7474
http_archive(
7575
name = "rules_gapic",
@@ -78,14 +78,6 @@ http_archive(
7878
)
7979

8080
# Java dependencies.
81-
# Import the monolith so we can transitively use its gapic rules for googleapis.
82-
# TODO: Remove this after this dep has been removed from googleapis' switched_rules_by_language.
83-
http_archive(
84-
name = "com_google_api_codegen",
85-
strip_prefix = "gapic-generator-2.11.1",
86-
urls = ["https://github.com/googleapis/gapic-generator/archive/v2.11.1.zip"],
87-
)
88-
8981
load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")
9082

9183
switched_rules_by_language(
@@ -101,6 +93,6 @@ grpc_java_repositories()
10193

10294
http_archive(
10395
name = "com_google_disco_to_proto3_converter",
104-
strip_prefix = "disco-to-proto3-converter-1839f6aca5e968e59b7acc03e7018b0fda8c480b",
105-
urls = ["https://github.com/googleapis/disco-to-proto3-converter/archive/1839f6aca5e968e59b7acc03e7018b0fda8c480b.zip"],
96+
strip_prefix = "disco-to-proto3-converter-4b0956884b1aa9b367cf41488b622dc12eb16652",
97+
urls = ["https://github.com/googleapis/disco-to-proto3-converter/archive/4b0956884b1aa9b367cf41488b622dc12eb16652.zip"],
10698
)

dependencies.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# The properties format is the following:
55
# <dependency_type>[.<artifact_name>]=<value>
66

7-
# Target workspace name: com_google_api_codegen
7+
# Target workspace name: gapic_generator_java
88

99
# Versions only, for dependencies which actual artifacts differ between Bazel and Gradle
1010
version.com_google_protobuf=3.15.8
@@ -32,7 +32,7 @@ maven.org_threeten_threetenbp=org.threeten:threetenbp:1.3.3
3232

3333
# Testing.
3434
maven.junit_junit=junit:junit:4.13.1
35-
# This hamcrest-core dependency is for running JUnit test manually, before JUnit 4.11 it's wrapped along with JUnit package.
35+
# This hamcrest-core dependency is for running JUnit test manually, before JUnit 4.11 it's wrapped along with JUnit package.
3636
# But now it has to be explicitly added.
3737
maven.org_hamcrest_hamcrest_core=org.hamcrest:hamcrest-core:1.3
3838
maven.org_mockito_mockito_core=org.mockito:mockito-core:2.21.0

repositories.bzl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,18 @@ def gapic_generator_java_repositories():
5959
_maybe(
6060
http_archive,
6161
name = "com_google_googleapis",
62-
strip_prefix = "googleapis-f5ce261910c373fdd96bdaa47173f5604562876f",
62+
strip_prefix = "googleapis-2c1d1b27646cba6f14b760b635f29fafc5a74ca6",
6363
urls = [
64-
"https://github.com/googleapis/googleapis/archive/f5ce261910c373fdd96bdaa47173f5604562876f.zip",
64+
"https://github.com/googleapis/googleapis/archive/2c1d1b27646cba6f14b760b635f29fafc5a74ca6.zip",
6565
],
6666
)
6767

6868
_maybe(
6969
http_archive,
7070
name = "com_google_googleapis_discovery",
71-
strip_prefix = "googleapis-discovery-6a189a8bada35e2657a67b903cad7fee649f2dbc",
71+
strip_prefix = "googleapis-discovery-abf4cec1ce9e02e4d7d650bf66137c347cdd0d44",
7272
urls = [
73-
"https://github.com/googleapis/googleapis-discovery/archive/6a189a8bada35e2657a67b903cad7fee649f2dbc.zip",
73+
"https://github.com/googleapis/googleapis-discovery/archive/abf4cec1ce9e02e4d7d650bf66137c347cdd0d44.zip",
7474
],
7575
)
7676

test/integration/BUILD.bazel

Lines changed: 8 additions & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ INTEGRATION_TEST_LIBRARIES = [
3636

3737
# Keys must match the values in INTEGRATION_TEST_LIBRARIES above.
3838
API_GAPIC_TARGETS = {
39-
"asset": ":asset_java_gapic",
40-
"credentials": ":credentials_java_gapic",
39+
"asset": "@com_google_googleapis//google/cloud/asset/v1:asset_java_gapic",
40+
"credentials": "@com_google_googleapis//google/iam/credentials/v1:credentials_java_gapic",
4141
"iam": ":iam_java_gapic", # Googleapis' LRO does not have a Java Gapic.
4242
"kms": ":kms_java_gapic", # Local target because mixins are not rolled out yet.
4343
"pubsub": ":pubsub_java_gapic",
44-
"logging": ":logging_java_gapic",
45-
"redis": ":redis_java_gapic",
46-
"library": ":library_java_gapic",
47-
"compute": ":compute_small_java_gapic",
44+
"logging": "@com_google_googleapis//google/logging/v2:logging_java_gapic",
45+
"redis": "@com_google_googleapis//google/cloud/redis/v1beta1:redis_java_gapic",
46+
"library": "@com_google_googleapis//google/example/library/v1:library_java_gapic",
47+
"compute": "@com_google_googleapis_discovery//google/cloud/compute/v1:compute_small_java_gapic",
4848
}
4949

5050
[integration_test(
@@ -59,161 +59,9 @@ API_GAPIC_TARGETS = {
5959
target = API_GAPIC_TARGETS[lib_name],
6060
) for lib_name in INTEGRATION_TEST_LIBRARIES]
6161

62-
###################################################
63-
# Temporary proto_with_info definitions for
64-
# monolith depdency removal.
65-
# Remove this section when the monolith rule deps are
66-
# out of googleapis.
67-
###################################################
68-
proto_library_with_info(
69-
name = "asset_proto_with_info",
70-
deps = [
71-
"@com_google_googleapis//google/cloud:common_resources_proto",
72-
"@com_google_googleapis//google/cloud/asset/v1:asset_proto",
73-
],
74-
)
75-
76-
proto_library_with_info(
77-
name = "credentials_proto_with_info",
78-
deps = [
79-
"@com_google_googleapis//google/cloud:common_resources_proto",
80-
"@com_google_googleapis//google/iam/credentials/v1:credentials_proto",
81-
],
82-
)
83-
84-
proto_library_with_info(
85-
name = "logging_proto_with_info",
86-
deps = [
87-
"@com_google_googleapis//google/cloud:common_resources_proto",
88-
"@com_google_googleapis//google/logging/v2:logging_proto",
89-
],
90-
)
91-
92-
proto_library_with_info(
93-
name = "pubsub_proto_with_info",
94-
deps = [
95-
"@com_google_googleapis//google/cloud:common_resources_proto",
96-
"@com_google_googleapis//google/iam/v1:iam_policy_proto",
97-
"@com_google_googleapis//google/iam/v1:policy_proto",
98-
"@com_google_googleapis//google/pubsub/v1:pubsub_proto",
99-
],
100-
)
101-
102-
proto_library_with_info(
103-
name = "redis_proto_with_info",
104-
deps = [
105-
"@com_google_googleapis//google/cloud:common_resources_proto",
106-
"@com_google_googleapis//google/cloud/redis/v1beta1:redis_proto",
107-
],
108-
)
109-
110-
proto_library_with_info(
111-
name = "iam_proto_with_info",
112-
deps = [
113-
"@com_google_googleapis//google/iam/v1:iam_policy_proto",
114-
"@com_google_googleapis//google/iam/v1:options_proto",
115-
"@com_google_googleapis//google/iam/v1:policy_proto",
116-
],
117-
)
118-
119-
proto_library_with_info(
120-
name = "library_proto_with_info",
121-
deps = [
122-
"@com_google_googleapis//google/cloud:common_resources_proto",
123-
"@com_google_googleapis//google/example/library/v1:library_proto",
124-
],
125-
)
126-
127-
proto_library_with_info(
128-
name = "compute_small_proto_with_info",
129-
deps = [
130-
"@com_google_googleapis//google/cloud:common_resources_proto",
131-
"@com_google_googleapis_discovery//google/cloud/compute/v1:compute_small_proto",
132-
],
133-
)
134-
135-
java_gapic_library(
136-
name = "compute_small_java_gapic",
137-
srcs = [":compute_small_proto_with_info"],
138-
test_deps = [],
139-
transport = "rest",
140-
deps = [
141-
"@com_google_googleapis_discovery//google/cloud/compute/v1:compute_small_java_proto",
142-
],
143-
)
144-
145-
java_gapic_library(
146-
name = "asset_java_gapic",
147-
srcs = [":asset_proto_with_info"],
148-
grpc_service_config = "@com_google_googleapis//google/cloud/asset/v1:cloudasset_grpc_service_config.json",
149-
test_deps = [
150-
"@com_google_googleapis//google/cloud/asset/v1:asset_java_grpc",
151-
"@com_google_googleapis//google/iam/v1:iam_java_grpc",
152-
],
153-
deps = [
154-
"@com_google_googleapis//google/cloud/asset/v1:asset_java_proto",
155-
"@com_google_googleapis//google/iam/v1:iam_java_proto",
156-
"@com_google_googleapis//google/identity/accesscontextmanager/v1:accesscontextmanager_proto",
157-
],
158-
)
159-
160-
java_gapic_library(
161-
name = "credentials_java_gapic",
162-
srcs = [":credentials_proto_with_info"],
163-
grpc_service_config = "@com_google_googleapis//google/iam/credentials/v1:iamcredentials_grpc_service_config.json",
164-
test_deps = [
165-
"@com_google_googleapis//google/iam/credentials/v1:credentials_java_grpc",
166-
],
167-
deps = [
168-
"@com_google_googleapis//google/iam/credentials/v1:credentials_java_proto",
169-
],
170-
)
171-
172-
java_gapic_library(
173-
name = "logging_java_gapic",
174-
srcs = [":logging_proto_with_info"],
175-
gapic_yaml = "@com_google_googleapis//google/logging/v2:logging_gapic.yaml",
176-
grpc_service_config = "@com_google_googleapis//google/logging/v2:logging_grpc_service_config.json",
177-
test_deps = [
178-
"@com_google_googleapis//google/logging/v2:logging_java_grpc",
179-
],
180-
deps = [
181-
"@com_google_googleapis//google/api:api_java_proto",
182-
"@com_google_googleapis//google/logging/v2:logging_java_proto",
183-
],
184-
)
185-
186-
java_gapic_library(
187-
name = "redis_java_gapic",
188-
srcs = [":redis_proto_with_info"],
189-
gapic_yaml = "@com_google_googleapis//google/cloud/redis/v1beta1:redis_gapic.yaml",
190-
grpc_service_config = "@com_google_googleapis//google/cloud/redis/v1beta1:redis_grpc_service_config.json",
191-
test_deps = [
192-
"@com_google_googleapis//google/cloud/redis/v1beta1:redis_java_grpc",
193-
],
194-
deps = [
195-
"@com_google_googleapis//google/cloud/redis/v1beta1:redis_java_proto",
196-
],
197-
)
198-
199-
java_gapic_library(
200-
name = "library_java_gapic",
201-
srcs = [":library_proto_with_info"],
202-
gapic_yaml = "@com_google_googleapis//google/example/library/v1:library_example_gapic.yaml",
203-
grpc_service_config = "@com_google_googleapis//google/example/library/v1:library_grpc_service_config.json",
204-
test_deps = [
205-
"@com_google_googleapis//google/example/library/v1:library_java_grpc",
206-
],
207-
deps = [
208-
"@com_google_googleapis//google/example/library/v1:library_java_proto",
209-
],
210-
)
21162
####################################################
21263
# API Library Rules
21364
####################################################
214-
# These will eventually go away once more APIs in googleapis have been migrated to the
215-
# microgenerator.
216-
21765
# Asset API.
21866
java_gapic_test(
21967
name = "asset_java_gapic_test_suite",
@@ -319,7 +167,7 @@ java_gapic_assembly_gradle_pkg(
319167
# IAM (for a standalone mixed-in API).
320168
java_gapic_library(
321169
name = "iam_java_gapic",
322-
srcs = [":iam_proto_with_info"],
170+
srcs = ["@com_google_googleapis//google/iam/v1:iam_proto_with_info"],
323171
grpc_service_config = "iam_grpc_service_config.json",
324172
test_deps = [
325173
"@com_google_googleapis//google/iam/v1:iam_java_grpc",
@@ -431,10 +279,9 @@ java_gapic_assembly_gradle_pkg(
431279
)
432280

433281
# PubSub
434-
# TODO: Remove some of these targets when PubSub has been migrated in googleapis.
435282
java_gapic_library(
436283
name = "pubsub_java_gapic",
437-
srcs = [":pubsub_proto_with_info"],
284+
srcs = ["@com_google_googleapis//google/pubsub/v1:pubsub_proto_with_info"],
438285
gapic_yaml = "@com_google_googleapis//google/pubsub/v1:pubsub_gapic.yaml",
439286
grpc_service_config = "@com_google_googleapis//google/pubsub/v1:pubsub_grpc_service_config.json",
440287
# For the IAM mixin.

0 commit comments

Comments
 (0)